From 1f43ec870993b503dc03a20fa90e1a9064418a1e Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Mon, 5 Jun 2023 15:11:19 +1000 Subject: [PATCH 001/225] Fix #3069. (Again) review all occurrences of users_collection and collection.name --- .../bim/module/drawing/annotation.py | 11 ++-- .../blenderbim/bim/module/drawing/helper.py | 2 +- .../blenderbim/bim/module/drawing/operator.py | 4 +- .../blenderbim/bim/module/drawing/prop.py | 2 +- .../blenderbim/bim/module/model/pie.py | 2 +- .../blenderbim/bim/module/model/product.py | 40 ++++++----- .../blenderbim/bim/module/model/profile.py | 2 +- .../blenderbim/bim/module/model/slab.py | 2 +- .../blenderbim/bim/module/model/space.py | 66 ++++++++----------- .../blenderbim/bim/module/model/wall.py | 5 +- .../blenderbim/bim/module/project/operator.py | 3 +- src/blenderbim/blenderbim/core/drawing.py | 2 +- src/blenderbim/blenderbim/core/tool.py | 2 +- src/blenderbim/blenderbim/tool/collector.py | 7 +- src/blenderbim/blenderbim/tool/drawing.py | 10 +-- 15 files changed, 76 insertions(+), 84 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/drawing/annotation.py b/src/blenderbim/blenderbim/bim/module/drawing/annotation.py index 8b6819ea68..1556461d38 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/annotation.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/annotation.py @@ -45,7 +45,7 @@ class Annotator: font.name = "OpenGost Type B TT" obj.data.font = font obj.data.BIMTextProperties.font_size = "2.5" - collection = bpy.context.scene.camera.users_collection[0] + collection = bpy.context.scene.camera.BIMObjectProperties.collection collection.objects.link(obj) Annotator.resize_text(obj) return obj @@ -53,9 +53,10 @@ class Annotator: @staticmethod def resize_text(text_obj): camera = None - for obj in text_obj.users_collection[0].objects: - if isinstance(obj.data, bpy.types.Camera): - camera = obj + group = tool.Drawing.get_drawing_group(tool.Ifc.get_entity(text_obj)) + for element in tool.Drawing.get_drawing_elements(group): + if element.is_a("IfcAnnotation") and element.ObjectType == "DRAWING": + camera = tool.Ifc.get_object(element) break if not camera: return @@ -112,7 +113,7 @@ class Annotator: co1, _, _, _ = Annotator.get_placeholder_coords(camera) matrix_world = camera.matrix_world.copy() matrix_world.translation = co1 - collection = camera.users_collection[0] + collection = camera.BIMObjectProperties.collection if object_type == "TEXT": obj = bpy.data.objects.new(object_type, None) diff --git a/src/blenderbim/blenderbim/bim/module/drawing/helper.py b/src/blenderbim/blenderbim/bim/module/drawing/helper.py index edc6ce4a60..562be3aaae 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/helper.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/helper.py @@ -269,7 +269,7 @@ def get_active_drawing(scene): props = scene.DocProperties try: camera = tool.Ifc.get_object(tool.Ifc.get().by_id(props.active_drawing_id)) - return camera.users_collection[0], camera + return camera.BIMObjectProperties.collection, camera except: return None, None diff --git a/src/blenderbim/blenderbim/bim/module/drawing/operator.py b/src/blenderbim/blenderbim/bim/module/drawing/operator.py index 1caab1cc64..434c1b99db 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/operator.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/operator.py @@ -288,7 +288,7 @@ class CreateDrawing(bpy.types.Operator): bpy.ops.render.render(write_still=True) else: previous_visibility = {} - for obj in self.camera.users_collection[0].objects: + for obj in self.camera.BIMObjectProperties.collection.objects: if bpy.context.view_layer.objects.get(obj.name): previous_visibility[obj.name] = obj.hide_get() obj.hide_set(True) @@ -1350,7 +1350,7 @@ class ResizeText(bpy.types.Operator): # TODO: check undo redo def execute(self, context): - for obj in context.scene.camera.users_collection[0].objects: + for obj in context.scene.camera.BIMObjectProperties.collection.objects: if isinstance(obj.data, bpy.types.TextCurve): annotation.Annotator.resize_text(obj) return {"FINISHED"} diff --git a/src/blenderbim/blenderbim/bim/module/drawing/prop.py b/src/blenderbim/blenderbim/bim/module/drawing/prop.py index 99d5cef841..ed9791ddab 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/prop.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/prop.py @@ -231,7 +231,7 @@ def toggleDecorations(self, context): toggle = self.should_draw_decorations if toggle: # TODO: design a proper text variable templating renderer - collection = context.scene.camera.users_collection[0] + collection = context.scene.camera.BIMObjectProperties.collection for obj in collection.objects: element = tool.Ifc.get_entity(obj) if not element or not tool.Drawing.is_annotation_object_type(element, ["TEXT", "TEXT_LEADER"]): diff --git a/src/blenderbim/blenderbim/bim/module/model/pie.py b/src/blenderbim/blenderbim/bim/module/model/pie.py index 5c15b2c3d9..f29e286af9 100644 --- a/src/blenderbim/blenderbim/bim/module/model/pie.py +++ b/src/blenderbim/blenderbim/bim/module/model/pie.py @@ -68,7 +68,7 @@ class PieUpdateContainer(bpy.types.Operator): if not obj.BIMObjectProperties.ifc_definition_id: continue for collection in obj.users_collection: - spatial_obj = bpy.data.objects.get(collection.name) + spatial_obj = collection.BIMCollectionProperties.obj if spatial_obj and spatial_obj.BIMObjectProperties.ifc_definition_id: blenderbim.core.spatial.assign_container( tool.Ifc, tool.Collector, tool.Spatial, structure_obj=spatial_obj, element_obj=obj diff --git a/src/blenderbim/blenderbim/bim/module/model/product.py b/src/blenderbim/blenderbim/bim/module/model/product.py index fc1e5e2026..f938ea1e49 100644 --- a/src/blenderbim/blenderbim/bim/module/model/product.py +++ b/src/blenderbim/blenderbim/bim/module/model/product.py @@ -128,20 +128,9 @@ class AddConstrTypeInstance(bpy.types.Operator): obj.location = context.scene.cursor.location - collection = None - if ( - building_obj - and building_element - and building_element.is_a() in ["IfcWall", "IfcWallStandardCase", "IfcCovering"] - and instance_class in ["IfcWindow", "IfcDoor"] - ): - # Fills should be a sibling to the building element - collection = building_obj.users_collection[0] - if not collection: - collection = context.view_layer.active_layer_collection.collection - + collection = context.view_layer.active_layer_collection.collection collection.objects.link(obj) - collection_obj = bpy.data.objects.get(collection.name) + collection_obj = collection.BIMCollectionProperties.obj bpy.ops.bim.assign_class(obj=obj.name, ifc_class=instance_class) element = tool.Ifc.get_entity(obj) @@ -150,6 +139,26 @@ class AddConstrTypeInstance(bpy.types.Operator): # Update required as core.type.assign_type may change obj.data context.view_layer.update() + if ( + building_obj + and building_element + and building_element.is_a() in ["IfcWall", "IfcWallStandardCase", "IfcCovering"] + and instance_class in ["IfcWindow", "IfcDoor"] + ): + # Fills should be a sibling to the building element + parent = ifcopenshell.util.element.get_aggregate(building_element) + if parent: + parent_obj = tool.Ifc.get_object(parent) + blenderbim.core.aggregate.assign_object( + tool.Ifc, tool.Aggregate, tool.Collector, relating_obj=parent_obj, related_obj=obj + ) + else: + parent = ifcopenshell.util.element.get_container(building_element) + parent_obj = tool.Ifc.get_object(parent) + blenderbim.core.spatial.assign_container( + tool.Ifc, tool.Collector, tool.Spatial, structure_obj=parent_obj, element_obj=obj + ) + # set occurences properties for the types defined with modifiers if instance_class in ["IfcWindow", "IfcDoor"]: pset_name = f"BBIM_{instance_class[3:]}" @@ -462,11 +471,6 @@ class MirrorElements(bpy.types.Operator, tool.Ifc.Operator): obj.matrix_world = newmat - def copy_obj(self, obj): - new = obj.copy() - new.data = wall2.data.copy() - wall1.users_collection[0].objects.link(wall2) - blenderbim.core.root.copy_class(tool.Ifc, tool.Collector, tool.Geometry, tool.Root, obj=wall2) def generate_box(usecase_path, ifc_file, settings): diff --git a/src/blenderbim/blenderbim/bim/module/model/profile.py b/src/blenderbim/blenderbim/bim/module/model/profile.py index 2cc507d9e2..b3a88a2a30 100644 --- a/src/blenderbim/blenderbim/bim/module/model/profile.py +++ b/src/blenderbim/blenderbim/bim/module/model/profile.py @@ -53,7 +53,7 @@ class DumbProfileGenerator: self.axis_context = ifcopenshell.util.representation.get_context(tool.Ifc.get(), "Model", "Axis", "GRAPH_VIEW") props = bpy.context.scene.BIMModelProperties self.collection = bpy.context.view_layer.active_layer_collection.collection - self.collection_obj = bpy.data.objects.get(self.collection.name) + self.collection_obj = self.collection.BIMCollectionProperties.obj self.depth = props.extrusion_depth self.rotation = 0 self.location = Vector((0, 0, 0)) diff --git a/src/blenderbim/blenderbim/bim/module/model/slab.py b/src/blenderbim/blenderbim/bim/module/model/slab.py index 7c9bbceebc..9a756ee83e 100644 --- a/src/blenderbim/blenderbim/bim/module/model/slab.py +++ b/src/blenderbim/blenderbim/bim/module/model/slab.py @@ -133,7 +133,7 @@ class DumbSlabGenerator: props = bpy.context.scene.BIMModelProperties self.collection = bpy.context.view_layer.active_layer_collection.collection - self.collection_obj = bpy.data.objects.get(self.collection.name) + self.collection_obj = self.collection.BIMCollectionProperties.obj self.depth = sum(thicknesses) * unit_scale self.width = 3 self.length = 3 diff --git a/src/blenderbim/blenderbim/bim/module/model/space.py b/src/blenderbim/blenderbim/bim/module/model/space.py index db60ea9e6e..d37d8a09db 100644 --- a/src/blenderbim/blenderbim/bim/module/model/space.py +++ b/src/blenderbim/blenderbim/bim/module/model/space.py @@ -38,7 +38,7 @@ class GenerateSpace(bpy.types.Operator, tool.Ifc.Operator): @classmethod def poll(cls, context): collection = context.view_layer.active_layer_collection.collection - collection_obj = bpy.data.objects.get(collection.name) + collection_obj = collection.BIMCollectionProperties.obj return tool.Ifc.get_entity(collection_obj) def _execute(self, context): @@ -60,7 +60,7 @@ class GenerateSpace(bpy.types.Operator, tool.Ifc.Operator): relating_type = None collection = context.view_layer.active_layer_collection.collection - collection_obj = bpy.data.objects.get(collection.name) + collection_obj = collection.BIMCollectionProperties.obj if not collection_obj: bpy.context.window_manager.popup_menu(msg, title="Error", icon="ERROR") return @@ -203,29 +203,19 @@ class GenerateSpacesFromWalls(bpy.types.Operator, tool.Ifc.Operator): active_obj = bpy.context.active_object if not active_obj: - self.report({'ERROR'}, "No active object. Please select a wall") + self.report({"ERROR"}, "No active object. Please select a wall") return - element = None element = tool.Ifc.get_entity(active_obj) - if element: - if not element.is_a("IfcWall"): - self.report({'ERROR'}, "The active object is not a wall. Please select a wall.") - return + if element and not element.is_a("IfcWall"): + return self.report({"ERROR"}, "The active object is not a wall. Please select a wall.") - collection = active_obj.users_collection[0] - collection_obj = bpy.data.objects.get(collection.name) - if not collection_obj: - self.report({'ERROR'}, "No collection found. Please insert one.") - return - - spatial_element = tool.Ifc.get_entity(collection_obj) - if not spatial_element: - self.report({'ERROR'}, "The collection hasn't an ifc space entity. Please provide one.") - return + container = ifcopenshell.util.element.get_container(element) + if not container: + self.report({"ERROR"}, "The wall is not contained.") if not bpy.context.selected_objects: - self.report({'ERROR'}, "No selected objects found. Please select walls.") + self.report({"ERROR"}, "No selected objects found. Please select walls.") return x, y, z = active_obj.matrix_world.translation.xyz @@ -237,19 +227,18 @@ class GenerateSpacesFromWalls(bpy.types.Operator, tool.Ifc.Operator): polys = self.get_polygons(boundary_elements) - converted_tolerance = self.get_converted_tolerance(tolerance = 0.03) + converted_tolerance = self.get_converted_tolerance(tolerance=0.03) - union = shapely.ops.unary_union(polys).buffer(converted_tolerance, cap_style = 2, join_style = 2) + union = shapely.ops.unary_union(polys).buffer(converted_tolerance, cap_style=2, join_style=2) - i=0 - for linear_ring in union.interiors: + for i, linear_ring in enumerate(union.interiors): poly = Polygon(linear_ring) - poly = poly.buffer(converted_tolerance, single_sided=True, cap_style = 2, join_style = 2) + poly = poly.buffer(converted_tolerance, single_sided=True, cap_style=2, join_style=2) bm = self.get_bmesh_from_polygon(poly, mat, h) name = "Space" + str(i) - mesh = bpy.data.meshes.new(name = name) + mesh = bpy.data.meshes.new(name=name) bm.to_mesh(mesh) bm.free() @@ -258,13 +247,12 @@ class GenerateSpacesFromWalls(bpy.types.Operator, tool.Ifc.Operator): self.set_obj_origin_to_bboxcenter(obj) - collection.objects.link(obj) - + context.view_layer.active_layer_collection.collection.objects.link(obj) bpy.ops.bim.assign_class(obj=obj.name, ifc_class="IfcSpace") - i+=1 - - return {"FINISHED"} - + container_obj = tool.Ifc.get_object(container) + blenderbim.core.spatial.assign_container( + tool.Ifc, tool.Collector, tool.Spatial, structure_obj=container_obj, element_obj=obj + ) def get_boundary_elements(self, selected_objects): boundary_elements = [] @@ -302,15 +290,15 @@ class GenerateSpacesFromWalls(bpy.types.Operator, tool.Ifc.Operator): def get_converted_tolerance(self, tolerance): model = tool.Ifc.get() project_unit = ifcopenshell.util.unit.get_project_unit(model, "LENGTHUNIT") - prefix=getattr(project_unit, "Prefix", None) + prefix = getattr(project_unit, "Prefix", None) converted_tolerance = ifcopenshell.util.unit.convert( - value = tolerance, - from_prefix = None, - from_unit = "METRE", - to_prefix = prefix, - to_unit = project_unit.Name, - ) + value=tolerance, + from_prefix=None, + from_unit="METRE", + to_prefix=prefix, + to_unit=project_unit.Name, + ) return tolerance def get_bmesh_from_polygon(self, poly, mat, h): @@ -335,7 +323,7 @@ class GenerateSpacesFromWalls(bpy.types.Operator, tool.Ifc.Operator): extruded_verts = [g for g in extrusion["geom"] if isinstance(g, bmesh.types.BMVert)] bmesh.ops.translate(bm, vec=[0.0, 0.0, h], verts=extruded_verts) - bmesh.ops.recalc_face_normals(bm, faces = bm.faces) + bmesh.ops.recalc_face_normals(bm, faces=bm.faces) return bm diff --git a/src/blenderbim/blenderbim/bim/module/model/wall.py b/src/blenderbim/blenderbim/bim/module/model/wall.py index 0a43c1d021..334286ca87 100644 --- a/src/blenderbim/blenderbim/bim/module/model/wall.py +++ b/src/blenderbim/blenderbim/bim/module/model/wall.py @@ -434,7 +434,7 @@ class DumbWallGenerator: props = bpy.context.scene.BIMModelProperties self.collection = bpy.context.view_layer.active_layer_collection.collection - self.collection_obj = bpy.data.objects.get(self.collection.name) + self.collection_obj = self.collection.BIMCollectionProperties.obj self.width = self.layers["thickness"] self.height = props.extrusion_depth self.length = props.length @@ -934,7 +934,8 @@ class DumbWallJoiner: def duplicate_wall(self, wall1): wall2 = wall1.copy() wall2.data = wall2.data.copy() - wall1.users_collection[0].objects.link(wall2) + for collection in wall1.users_collection: + collection.objects.link(wall2) blenderbim.core.root.copy_class(tool.Ifc, tool.Collector, tool.Geometry, tool.Root, obj=wall2) return wall2 diff --git a/src/blenderbim/blenderbim/bim/module/project/operator.py b/src/blenderbim/blenderbim/bim/module/project/operator.py index c138a4ae8a..de60bb9f7a 100644 --- a/src/blenderbim/blenderbim/bim/module/project/operator.py +++ b/src/blenderbim/blenderbim/bim/module/project/operator.py @@ -371,7 +371,8 @@ class AppendLibraryElement(bpy.types.Operator): if not type_collection: type_collection = bpy.data.collections.new("Types") for collection in bpy.context.view_layer.layer_collection.children: - if "IfcProject/" in collection.name: + collection_obj = collection.BIMCollectionProperties.obj + if collection_obj and tool.Ifc.get_entity(collection_obj).is_a("IfcProject"): collection.collection.children.link(type_collection) collection.children["Types"].hide_viewport = True break diff --git a/src/blenderbim/blenderbim/core/drawing.py b/src/blenderbim/blenderbim/core/drawing.py index e75989b8e4..bce835dffb 100644 --- a/src/blenderbim/blenderbim/core/drawing.py +++ b/src/blenderbim/blenderbim/core/drawing.py @@ -318,7 +318,7 @@ def update_drawing_name(ifc, drawing_tool, drawing=None, name=None): ifc.run("attribute.edit_attributes", product=group, attributes={"Name": name}) collection = drawing_tool.get_drawing_collection(drawing) if collection: - drawing_tool.set_drawing_collection_name(group, collection) + drawing_tool.set_drawing_collection_name(drawing, collection) reference = drawing_tool.get_drawing_document(drawing) information = drawing_tool.get_reference_document(reference) diff --git a/src/blenderbim/blenderbim/core/tool.py b/src/blenderbim/blenderbim/core/tool.py index 968646da52..a2c4d4c704 100644 --- a/src/blenderbim/blenderbim/core/tool.py +++ b/src/blenderbim/blenderbim/core/tool.py @@ -311,7 +311,7 @@ class Drawing: def run_drawing_activate_model(cls): pass def run_root_assign_class(cls, obj=None, ifc_class=None, predefined_type=None, should_add_representation=True, context=None, ifc_representation_class=None): pass def select_assigned_product(cls, drawing): pass - def set_drawing_collection_name(cls, group, collection): pass + def set_drawing_collection_name(cls, drawing, collection): pass def set_name(cls, element, name): pass def setup_annotation_object(cls, obj, object_type): pass def setup_shading_styles_path(cls, resource_path): pass diff --git a/src/blenderbim/blenderbim/tool/collector.py b/src/blenderbim/blenderbim/tool/collector.py index ef8ef0556f..ae297f656f 100644 --- a/src/blenderbim/blenderbim/tool/collector.py +++ b/src/blenderbim/blenderbim/tool/collector.py @@ -143,11 +143,8 @@ class Collector(blenderbim.core.tool.Collector): return axes_col[0] return bpy.data.collections.new(axes) - if element.is_a("IfcAnnotation"): - for rel in element.HasAssignments or []: - if rel.is_a("IfcRelAssignsToGroup") and rel.RelatingGroup.ObjectType == "DRAWING": - name = "IfcGroup/" + rel.RelatingGroup.Name - return bpy.data.collections.get(name) or bpy.data.collections.new(name) + if element.is_a("IfcAnnotation") and element.ObjectType == "DRAWING": + return cls._create_own_collection(obj) if element.is_a("IfcStructuralMember"): return bpy.data.collections.get("Members") or bpy.data.collections.new("Members") diff --git a/src/blenderbim/blenderbim/tool/drawing.py b/src/blenderbim/blenderbim/tool/drawing.py index c237b8baec..a16319e416 100644 --- a/src/blenderbim/blenderbim/tool/drawing.py +++ b/src/blenderbim/blenderbim/tool/drawing.py @@ -364,7 +364,7 @@ class Drawing(blenderbim.core.tool.Drawing): def get_drawing_collection(cls, drawing): obj = tool.Ifc.get_object(drawing) if obj: - return obj.users_collection[0] + return obj.BIMObjectProperties.collection @classmethod def get_drawing_group(cls, drawing): @@ -759,8 +759,8 @@ class Drawing(blenderbim.core.tool.Drawing): ) @classmethod - def set_drawing_collection_name(cls, group, collection): - collection.name = f"IfcGroup/{group.Name}" + def set_drawing_collection_name(cls, drawing, collection): + collection.name = tool.Loader.get_name(drawing) @classmethod def set_name(cls, element, name): @@ -1486,8 +1486,8 @@ class Drawing(blenderbim.core.tool.Drawing): project_collection.children["Views"].children[collection.name].hide_viewport = True bpy.data.collections.get(collection.name).hide_render = True - project_collection.children["Views"].children[camera.users_collection[0].name].hide_viewport = False - bpy.data.collections.get(camera.users_collection[0].name).hide_render = False + project_collection.children["Views"].children[camera.BIMObjectProperties.collection.name].hide_viewport = False + camera.BIMObjectProperties.collection.hide_render = False tool.Spatial.set_active_object(camera) # Sync viewport objects visibility with selectors from EPset_Drawing/Include and /Exclude From 3ee6bdf207d974d2ee586f53c4225a6fc45fb4c3 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Mon, 5 Jun 2023 15:11:55 +1000 Subject: [PATCH 002/225] You can now get decompositions non-recursively in element utilities --- src/ifcopenshell-python/ifcopenshell/util/element.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/util/element.py b/src/ifcopenshell-python/ifcopenshell/util/element.py index bbe170bc6c..6e9e0a3bc9 100644 --- a/src/ifcopenshell-python/ifcopenshell/util/element.py +++ b/src/ifcopenshell-python/ifcopenshell/util/element.py @@ -609,14 +609,16 @@ def get_referenced_structures(element): return [] -def get_decomposition(element): +def get_decomposition(element, is_recursive=True): """ Retrieves all subelements of an element based on the spatial decomposition hierarchy. This includes all subspaces and elements contained in subspaces, parts of an aggreate, all openings, and all fills of any openings. :param element: The IFC element + :type element: ifcopenshell.entity_instance.entity_instance :return: The decomposition of the element + :rtype: list[ifcopenshell.entity_instance.entity_instance] Example: @@ -644,6 +646,8 @@ def get_decomposition(element): for rel in getattr(element, "IsNestedBy", []): queue.extend(rel.RelatedObjects) results.extend(rel.RelatedObjects) + if not is_recursive: + break return results @@ -682,7 +686,6 @@ def get_aggregate(element): .. code:: python element = file.by_type("IfcBeam")[0] aggregate = ifcopenshell.util.element.get_aggregate(element) - """ if hasattr(element, "Decomposes") and element.Decomposes: return element.Decomposes[0].RelatingObject From 9a440899be89bef68afeb460dd3213a896f327c0 Mon Sep 17 00:00:00 2001 From: Massimo Fabbro Date: Sat, 3 Jun 2023 23:23:41 +0200 Subject: [PATCH 003/225] New toggle space visibility button --- .../blenderbim/bim/module/model/__init__.py | 1 + .../blenderbim/bim/module/model/space.py | 32 +++++++++++++++++++ .../blenderbim/bim/module/model/ui.py | 2 ++ 3 files changed, 35 insertions(+) diff --git a/src/blenderbim/blenderbim/bim/module/model/__init__.py b/src/blenderbim/blenderbim/bim/module/model/__init__.py index e3237bdecc..83b8ab5273 100644 --- a/src/blenderbim/blenderbim/bim/module/model/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/model/__init__.py @@ -97,6 +97,7 @@ classes = ( slab.SetArcIndex, space.GenerateSpace, space.GenerateSpacesFromWalls, + space.ToggleSpaceVisibility, prop.BIMModelProperties, prop.BIMArrayProperties, prop.BIMStairProperties, diff --git a/src/blenderbim/blenderbim/bim/module/model/space.py b/src/blenderbim/blenderbim/bim/module/model/space.py index d37d8a09db..1a316feaef 100644 --- a/src/blenderbim/blenderbim/bim/module/model/space.py +++ b/src/blenderbim/blenderbim/bim/module/model/space.py @@ -341,3 +341,35 @@ class GenerateSpacesFromWalls(bpy.types.Operator, tool.Ifc.Operator): aux_vector = aux_vector - diff vert.co = inverted @ aux_vector obj.location = newLoc + +class ToggleSpaceVisibility(bpy.types.Operator, tool.Ifc.Operator): + bl_idname = "bim.toggle_space_visibility" + bl_label = "Toggle Space Visibility" + bl_options = {"REGISTER"} + bl_description = "Change the space visibility" + + def execute(cls, context): + model = tool.Ifc.get() + + spaces = model.by_type('IfcSpace') + + if not spaces: + print(spaces) + return {"FINISHED"} + + first_obj = tool.Ifc.get_object(spaces[0]) + + if bpy.data.objects[first_obj.name].display_type == 'TEXTURED': + for space in spaces: + obj = tool.Ifc.get_object(space) + bpy.data.objects[obj.name].show_wire = True + bpy.data.objects[obj.name].display_type = 'WIRE' + return {"FINISHED"} + + elif bpy.data.objects[first_obj.name].display_type == 'WIRE': + for space in spaces: + obj = tool.Ifc.get_object(space) + bpy.data.objects[obj.name].show_wire = False + bpy.data.objects[obj.name].display_type = 'TEXTURED' + return {"FINISHED"} + diff --git a/src/blenderbim/blenderbim/bim/module/model/ui.py b/src/blenderbim/blenderbim/bim/module/model/ui.py index 9fb60cda61..e2bc736fb9 100644 --- a/src/blenderbim/blenderbim/bim/module/model/ui.py +++ b/src/blenderbim/blenderbim/bim/module/model/ui.py @@ -135,6 +135,8 @@ class BIM_PT_authoring(Panel): row.operator("bim.generate_space") row = self.layout.row(align=True) row.operator("bim.generate_spaces_from_walls") + row = self.layout.row(align=True) + row.operator("bim.toggle_space_visibility") class BIM_PT_GridsSpatialManager(Panel): From 4865b62ea9bbd56980075ee9e40c4cb313b57032 Mon Sep 17 00:00:00 2001 From: Massimo Fabbro <79401028+maxfb87@users.noreply.github.com> Date: Mon, 5 Jun 2023 07:17:03 +0200 Subject: [PATCH 004/225] Fix create spaces from walls z-value (#3248) Co-authored-by: Dion Moult --- src/blenderbim/blenderbim/bim/module/model/space.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/blenderbim/blenderbim/bim/module/model/space.py b/src/blenderbim/blenderbim/bim/module/model/space.py index 1a316feaef..89f2536004 100644 --- a/src/blenderbim/blenderbim/bim/module/model/space.py +++ b/src/blenderbim/blenderbim/bim/module/model/space.py @@ -247,6 +247,9 @@ class GenerateSpacesFromWalls(bpy.types.Operator, tool.Ifc.Operator): self.set_obj_origin_to_bboxcenter(obj) + if z is not 0: + obj.location = obj.location + Vector((0,0,z)) + context.view_layer.active_layer_collection.collection.objects.link(obj) bpy.ops.bim.assign_class(obj=obj.name, ifc_class="IfcSpace") container_obj = tool.Ifc.get_object(container) From 480f1a91a6fe1203406145a2134a1ede3b17674a Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Fri, 2 Jun 2023 18:20:11 +0500 Subject: [PATCH 005/225] Moving operators to Spatial Tool Changes: - Moved Shift A "Add boundary" from BIM Tool to Spatial Tool - Moved Alt B "Show boundaries" from BIM Tool to Spatial Tool --- .../blenderbim/bim/module/model/__init__.py | 1 - .../blenderbim/bim/module/model/space.py | 2 +- .../blenderbim/bim/module/model/workspace.py | 16 ------- .../bim/module/spatial/workspace.py | 47 ++++++++++++++++--- .../bim/module/structural/workspace.py | 2 +- 5 files changed, 43 insertions(+), 25 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/model/__init__.py b/src/blenderbim/blenderbim/bim/module/model/__init__.py index 83b8ab5273..b35bb75bd6 100644 --- a/src/blenderbim/blenderbim/bim/module/model/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/model/__init__.py @@ -106,7 +106,6 @@ classes = ( prop.BIMDoorProperties, prop.BIMRailingProperties, prop.BIMRoofProperties, - ui.BIM_PT_authoring, ui.BIM_PT_array, ui.BIM_PT_stair, ui.BIM_PT_sverchok, diff --git a/src/blenderbim/blenderbim/bim/module/model/space.py b/src/blenderbim/blenderbim/bim/module/model/space.py index 89f2536004..2d717927bc 100644 --- a/src/blenderbim/blenderbim/bim/module/model/space.py +++ b/src/blenderbim/blenderbim/bim/module/model/space.py @@ -185,7 +185,7 @@ class GenerateSpacesFromWalls(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.generate_spaces_from_walls" bl_label = "Generate Spaces From Walls" bl_options = {"REGISTER", "UNDO"} - bl_description = "Generate spaces from selected walls. The active object must be a wall." + bl_description = "Generate spaces from selected walls. The active object must be a wall" @classmethod def poll(cls, context): diff --git a/src/blenderbim/blenderbim/bim/module/model/workspace.py b/src/blenderbim/blenderbim/bim/module/model/workspace.py index ad9629637f..d6d23788a2 100644 --- a/src/blenderbim/blenderbim/bim/module/model/workspace.py +++ b/src/blenderbim/blenderbim/bim/module/model/workspace.py @@ -57,7 +57,6 @@ class BimTool(WorkSpaceTool): ("bim.hotkey", {"type": "V", "value": "PRESS", "shift": True}, {"properties": [("hotkey", "S_V")]}), ("bim.hotkey", {"type": "X", "value": "PRESS", "shift": True}, {"properties": [("hotkey", "S_X")]}), ("bim.hotkey", {"type": "Y", "value": "PRESS", "shift": True}, {"properties": [("hotkey", "S_Y")]}), - ("bim.hotkey", {"type": "B", "value": "PRESS", "alt": True}, {"properties": [("hotkey", "A_B")]}), ("bim.hotkey", {"type": "D", "value": "PRESS", "alt": True}, {"properties": [("hotkey", "A_D")]}), ("bim.hotkey", {"type": "E", "value": "PRESS", "alt": True}, {"properties": [("hotkey", "A_E")]}), ("bim.hotkey", {"type": "O", "value": "PRESS", "alt": True}, {"properties": [("hotkey", "A_O")]}), @@ -271,12 +270,6 @@ class BimToolUI: else: row.operator("bim.show_openings", icon="HIDE_OFF", text="") - row = cls.layout.row(align=True) - row.label(text="", icon="EVENT_SHIFT") - row.label(text="", icon="EVENT_B") - row.prop(cls.props, "boundary_class", text="") - row.operator("bim.add_boundary", text="Add Boundary") - cls.layout.row(align=True).label(text="Align") add_layout_hotkey_operator(cls.layout, "Align Exterior", "S_X", "") add_layout_hotkey_operator(cls.layout, "Align Centerline", "S_C", "") @@ -286,7 +279,6 @@ class BimToolUI: cls.layout.row(align=True).label(text="Mode") add_layout_hotkey_operator(cls.layout, "Void", "A_O", "Toggle openings") add_layout_hotkey_operator(cls.layout, "Decomposition", "A_D", "Select decomposition") - add_layout_hotkey_operator(cls.layout, "Boundaries", "A_B", "Toggle boundaries") @classmethod def draw_header_interface(cls): @@ -602,14 +594,6 @@ class Hotkey(bpy.types.Operator, tool.Ifc.Operator): self.props.y = self.y self.props.z = self.z - def hotkey_A_B(self): - if not bpy.context.selected_objects: - return - if AuthoringData.data["has_visible_boundaries"]: - bpy.ops.bim.hide_boundaries() - else: - bpy.ops.bim.show_boundaries() - def hotkey_A_D(self): if not bpy.context.selected_objects: return diff --git a/src/blenderbim/blenderbim/bim/module/spatial/workspace.py b/src/blenderbim/blenderbim/bim/module/spatial/workspace.py index 7c592d12d7..a04478fb19 100644 --- a/src/blenderbim/blenderbim/bim/module/spatial/workspace.py +++ b/src/blenderbim/blenderbim/bim/module/spatial/workspace.py @@ -21,6 +21,7 @@ import os import bpy import blenderbim.tool as tool from blenderbim.bim.helper import prop_with_search +from blenderbim.bim.module.model.data import AuthoringData from bpy.types import WorkSpaceTool from blenderbim.bim.ifc import IfcStore import blenderbim.bim.handler @@ -41,10 +42,12 @@ class SpatialTool(WorkSpaceTool): bl_label = "Spatial Tool" bl_description = "Gives you Spatial related superpowers" # TODO: replace with spatial icon - bl_icon = os.path.join(os.path.dirname(__file__), "ops.authoring.annotation") + bl_icon = os.path.join(os.path.dirname(__file__), "ops.authoring.spatial") bl_widget = None bl_keymap = tool.Blender.get_default_selection_keypmap() + ( + ("bim.spatial_hotkey", {"type": "B", "value": "PRESS", "shift": True}, {"properties": [("hotkey", "S_B")]}), ("bim.spatial_hotkey", {"type": "A", "value": "PRESS", "shift": True}, {"properties": [("hotkey", "S_A")]}), + ("bim.spatial_hotkey", {"type": "B", "value": "PRESS", "alt": True}, {"properties": [("hotkey", "A_B")]}), ) def draw_settings(context, layout, ws_tool): @@ -67,6 +70,7 @@ class SpatialToolUI: def draw(cls, context, layout): cls.layout = layout # cls.props = context.scene.BIMSpatialProperties + cls.model_props = context.scene.BIMModelProperties row = cls.layout.row(align=True) if not tool.Ifc.get(): @@ -76,19 +80,34 @@ class SpatialToolUI: # if not SpatialData.is_loaded: # SpatialData.load() + if not AuthoringData.is_loaded: + AuthoringData.load() + cls.draw_type_selection_interface(context) + cls.draw_default_interface(context) if context.active_object and context.selected_objects: cls.draw_selected_object_interface(context) - cls.draw_default_interface() @classmethod - def draw_default_interface(cls): - add_layout_hotkey(cls.layout, "Placeholder", "S_A", "Placeholder Operator") + def draw_default_interface(cls, context): + row = cls.layout.row(align=True) + row.label(text="", icon="EVENT_SHIFT") + row.label(text="", icon="EVENT_A") + if context.selected_objects: + row.operator("bim.generate_spaces_from_walls") + else: + row.operator("bim.generate_space") @classmethod def draw_selected_object_interface(cls, context): - pass + row = cls.layout.row(align=True) + row.label(text="", icon="EVENT_SHIFT") + row.label(text="", icon="EVENT_B") + row.prop(cls.model_props, "boundary_class", text="") + row.operator("bim.add_boundary", text="Add Boundary") + + add_layout_hotkey(cls.layout, "Boundaries", "A_B", "Toggle boundaries") @classmethod def draw_type_selection_interface(cls, context): @@ -123,4 +142,20 @@ class Hotkey(bpy.types.Operator, Operator): pass def hotkey_S_A(self): - pass + active_obj = bpy.context.active_object + element = tool.Ifc.get_entity(active_obj) + if element and bpy.context.selected_objects and element.is_a("IfcWall"): + bpy.ops.bim.generate_spaces_from_walls() + else: + bpy.ops.bim.generate_space() + + def hotkey_S_B(self): + bpy.ops.bim.add_boundary() + + def hotkey_A_B(self): + if not bpy.context.selected_objects: + return + if AuthoringData.data["has_visible_boundaries"]: + bpy.ops.bim.hide_boundaries() + else: + bpy.ops.bim.show_boundaries() diff --git a/src/blenderbim/blenderbim/bim/module/structural/workspace.py b/src/blenderbim/blenderbim/bim/module/structural/workspace.py index 22d598e499..c5f3386b70 100644 --- a/src/blenderbim/blenderbim/bim/module/structural/workspace.py +++ b/src/blenderbim/blenderbim/bim/module/structural/workspace.py @@ -41,7 +41,7 @@ class StructuralTool(WorkSpaceTool): bl_label = "Structural Tool" bl_description = "Gives you Structure related superpowers" # TODO: replace with structural icon - bl_icon = os.path.join(os.path.dirname(__file__), "ops.authoring.annotation") + bl_icon = os.path.join(os.path.dirname(__file__), "ops.authoring.structural") bl_widget = None bl_keymap = tool.Blender.get_default_selection_keypmap() + ( ("bim.structural_hotkey", {"type": "A", "value": "PRESS", "shift": True}, {"properties": [("hotkey", "S_A")]}), From f6657113b6bbaee8276aad16b942e6d8c981674e Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Mon, 5 Jun 2023 11:13:25 +0500 Subject: [PATCH 006/225] Spatial/Structural Tools icons --- .../module/spatial/ops.authoring.spatial.dat | Bin 0 -> 224 bytes .../structural/ops.authoring.structural.dat | Bin 0 -> 7370 bytes src/blenderbim/blenderbim_icons.blend | Bin 169578 -> 177353 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/blenderbim/blenderbim/bim/module/spatial/ops.authoring.spatial.dat create mode 100644 src/blenderbim/blenderbim/bim/module/structural/ops.authoring.structural.dat diff --git a/src/blenderbim/blenderbim/bim/module/spatial/ops.authoring.spatial.dat b/src/blenderbim/blenderbim/bim/module/spatial/ops.authoring.spatial.dat new file mode 100644 index 0000000000000000000000000000000000000000..7170d86fd5dde77f069e9812868d78450adae277 GIT binary patch literal 224 zcmWG@_GkG2pMl}7PqTirQe%Cy{@uuCeHEW(rMo^LR%5*ikOYcEs`#|bZYf*WwJyA+ zti`#dEHWHO&W`K=iiNN10*aMIc0`6VT&n&L$Nv}oXMo{Z@&6fMmdlT?t~AbrdnxH2Y$W1cM+5@}SjfZ2CDo*YrD_7bhWi?(2U1UjujkziZU) zx^;7N>(=5N`ek93otu9dco|47rrGrRonm^TGX>@8wf8J3HffIQ5vA zG`UPecby9_7G_o5t7nUIub%yT`nB32zIyf=c3w}v`RALT-u(3X+3V?r7lD^*?!`HF zZgFl=hA0Pu?62y`{u&4_gyw_uunq(l(~IXU^uQW z{Xi=G-p2?PhUQroq00#s6&XlnrMIY{(ME6dJ>Z z&^Of~3GQUWNKmy%=v}8ViKc0EjVYkJMitNvRUsp&2uqm8ETD%xgoI_osdXg49u42d zBvp6fuaZUSEL07iGsk3+I+CxXv*0=`&4C8*hu-l-~ILO)Ltl zh;7@Z+}|`rv=RL~%Z@c++ct#_FxSR4n{9E^wq?h(YmS)0mUo&>ETP@DMlJ7b5$(1i zso%LDvqo(ZL(;UX-|3Cp*6zn_Yv!a*Az2Ffk;I2kP+%BXQL-%YL4hS1hN6U!D9SSO zb2Lj*h!p$?g?LE_@ig)aBq=Z=C5wze${^z;HY9N}6=XRHgVEw1 zcv(4(*EZ5oSgll&Wu>-p5Kc$;SBmdTiAplJoQWKS_v3pTf5&q>g{|WILL|3b4DW5E z6Z^?hv>2|e>?bo@2k*ROA$YEc`k;cp870>Bd!Jfkp`}SQ2L~5k)sN^k=m+*qU+?N{3c+z7PN4f75Pmkri zhvT)uQ~aYd=Pf*fx$C3z95gw+Hb}Nm8owskDQQ9)s*!FbTV#Wz4R*2(Of%Ie+z~O^ zfNpb5Y=d7zYspSz;=6=9d=t7YG?1MPMj6Crp+RnBF!l~*kXq%&U<=oUOza&=6Kn}- zq*lI**0v3_yS{bZb6Z{CyW0CZoNWU=UMq3W-D%f3+WXBui>JqHe4xiW?d`5M_qQ(N zc=xE;*Nqz=nC)$Dou}PvahUBr{W?#luia~P_VnKy(2p9&JAGEyy@BstR%iEU2SJ}u zRex1Fld7RAb4;I*Mfpm+kj~gFmuHT_vzOupIz)Lc@2^teW%L=@_b%AmQJKI_{xcR!C$Ig zM^}*fiUZGcm&^r3xJ94wdFe!@K)0p^3T*M-I2P5dX=1i*aK2)QU{P(vvSUtK6Q-~! z0#w9xie}TaZBD{&!~`5@HgyV?utv=h%RB8hmM|n$*IT1N!M14^C;$$03h35!Ygp6( zIZP4Tnkiz2XpR6cYc|E2FelA$-;gvUv4l>6wg##-1Kd&1)lGBO1m$p|=- zxFAdOpyOzcVIY7?;vfw~o)#I2lXy{tY;d3E5s(PfNsI^=c$!oBgAc(m5Bqzosn|Y{ zSdO2@)6rCHZ?%#vCCbV{I1@=nfw`?xBDb7d$wc;ns=bZePA*y40uonp%X=FsC7mcm z3z1@YKbcNsw#u4;}!^HP^W-jb|JOgQsH^PmMV2%fSk$^;SFu zdjZekz%r0ocvKiGd4Xl1IW=-XWIPo|2`~4h$1DUDoZ`UpSm9C4RU7;W*)xtD zs0%=J0WU!;;T1=1utrookOyu;PN)OGyf@=HAfOGZ^w(fkBTBGOw$QDVS_iZe)B&cM zZj}upCTZCQu8C;|;=4o)-A0XElV3wYB|s+B#dkp+XhgTkPFl-gVl&?)G%y&~1?;zq z&2l5u0jLBL)PP_Mtp!yp-O4m`O&qACR@BHhL3L;no26E08omo|Y9VSx3^IcjzS6}( ztWIdI?oqf&KqM?4$PC&J!syjQ71EFDJRJlyryhqDsBSj&H}zhB zgSrR)Hy*fk^V?0m|911`%a?kuzd_vtbq~}%Q1?LH19cD7Jy7>R-2-(G)ICu5!2g8@ F{tHfGUJn2O literal 0 HcmV?d00001 diff --git a/src/blenderbim/blenderbim_icons.blend b/src/blenderbim/blenderbim_icons.blend index 75dd8bf2606c52f241e07db91ba3a5a951c66311..dfbdff25f150e6ef3801453d527427a166f9492c 100644 GIT binary patch delta 140567 zcmXtf18}BI6K!mp8#~$9ww;Y_d!tSA#I|kQ&c?RAu{PP*dhhq&x_7Fl`&9K*P0v)% zshR4UzcmOG=Li68EAwZ;0~9#e4ip#%teAqNl7yrhlLtEsr`mr|1`G^Lq_MAH7YzLE zKd5eI;b;M-A*rqb2L=u%Bhg8F1pXfY0}GH=P!>~x`VZA)k&?2qAb_!g!@;#b(*5TL zli9nAD1L-M1A_n~1p^Ztl`^+rH8V5kHRmv41f#V*#En!y(YZ4fbi?&vT9) zj^JLHVk^rnMwvxHw1>cfly>}Qu=FwK6?9(*J69TFRKIcaT>&NMFAVZf^H>}q$0l_^ z6HFUS1B?kw2Bn!nIs@Gd6@Y@OPXy7^pIDoBEf?VLl%c&`uPm?@U}0HVhb`JVvyGz? zC2WEqc_dJDpcd!3DJca(`?Q$wKMN)3cfQi!Ywf{8vcClB{nhBmqbxa{7#qzk)s3-# zpa+L#6RKilisX%Jx7t8&77+@|p~(XgZkE(yp@9cMk6D3z6#MN@?R~3%NVC16S6A>u zC4aFeW9jz_of}s!O&%rj>4@YSI+{{43Mr{#hdD1ROBIPKza`G@c0O;86WzyK(I
7W46}tT_pw1D$wb4nAivkHKj6njxIy)Egw+>4yFUr==6= zZ<8IlvX0QE^J+aPGm#}E$)uS}b5l|lDL&nSfytAHP9Rk6_cgF+U;hPx0N z3IBL{ffs``Nd!?Q0?izcf*c?x$C9B998ScdodJ(fgb>ACJ)S!UrWl_QPU}C8Dxee2 zAF!!@ERhgl$%p9lc%}gf+3JGqa<7Hp{KUytL((_1&&491(?UaUIA`8Z_slNM??0YY z&q3Ww0N6;kEw0)&SBKW~FlCD`O#ZB?2!|^Z*-QU{1ay_((4A^M6i}rXYU_N5DwIjE zD_DS3ckv|G-<&NW-{$u+O^)5~IlRxX_)~(z7?LBn(VRE3Yb>8Ykio7)q(Lc)Z_7Mw z=Ubfn?w(~DFVV51+teocDQ%vdg`i3;_n2Jalo9wB$!YX>Rhi~;v@gyM+BMIRa}UHV z$L;zZ7ObO`V3*gM0x+?2p|X?yV0`;7mKm8S z2g2HDh1VDGKcSwZd5EWW0E>z4i1$oNag7%D zq#qyNCbOh4u=*%#VpwjohU73wjpv99MZ{fyroVdepLXpW|G`5KI{y@o?9!YbFZn4| zDg>u*CYgR;EeN1uKL{Jjtb zvIW53-~UUCp^}Ueiu_eH$n`4~10LShKHsID(25GS(5q49{A2}K+^bKi;fU<~k{dGW zf^SbYQRPjOey??N6Us{n@+kkRx8&5rbm;(=T85rm#1)HGca&UZ>;)W^hL<@AERG4I zjsGdx*;IG`B{o8f*2!<9R&I&OqBfSA?wODIPT)Hf^-l4V)li}YKif!qS)!;YEgKgv z8)5V*61TX5i{{1P!zPUjN3@=9ooo2h;A27EZ1X4FT>u+52-^3=?mgaBv3jjVjt~>* zyBC@Pp}Ic4{OR6!>_hnZ-XX_3n|J2f2t!f54kSb)tF-8js9R_E*>p1#?sCmNZIVX6cer!kGp41s!X4GGHW$& ztgjc0>tAq$nTZS8&o^^#$qdQySJMDhE}Fw$9q;?oXzjD9MH-2<*yhD8Wz-m{m1K#u zGa58xY>616>UUXf@kEOW9IZVeB9`M8!`UVk=RaADk7D4#Vve$tMAo*-C`c z$>0)}X%H=Lwjdqa>gPYgAMBgrVe7t4Xt)*xJ1<6^7z=mKAT_vi(;cbqL*BCnvMjQlU$Vh}D zEh{NopgrLW%%p0v5_U!k&I2mMemY7>NhBpv+8`Anl16~Dmi+KI2FEB6(Izbu#e)II zmxLn=Ar*&X4MC&8z)!5K^uB=*H)k+Bw(KXOci-wZN7+H54Ab;n%z{QIRNQKfCJAOt zXh`v6G}$K{Fm?79W9(e(m$gH*|DoPHWdt23DKbzT_!EfgwE9J#c?{fLF+VX|mR|J? zZ$Zb&T9BlBOnCe>ZSO0IC`T67&3X!Nq?3yi@#BgU>riyro&FcoV-PIQEsF)IOVNRN zm8nR{x`~cxycEHiC{*(r(tg8ZW) z1F4R`5o_}Aqx*E=G!_VwD(05uDR!%#W+cGJsx35@msU*6M7qpz4$Kjcv#RCg&@xUD z8s#f9Zt6&__%nysKFhcRF9(-?J{Aidmo%n5HGPM({72TxT|VcpTg7~-YKhClkvfB~ zRasj!^8AI9|Ht<8k0493rb$0Om+|J@{6FDUc?r(`bb(HtYBxZ&T;EFF(b3Y%5yHnm z8c_y?$jUbSOjTtb4#yD$PK)~_He5kuL33^MXHpvvO&NvyD9n@F^Q}7JGaQdBsro!@ zH&v@h0+Bx-{Je^#H`V09 z6sU*7;%Q9Q@16#=riEdpMUc=Bxbk6SDmT_%G4-7bZhGRrIW8N_!CpRQnyeZE-!-lV zXCxLAJUANvW!UhCv-q2xaHv=zmATT0s4L|>^;XXUvKvNQKUS8&Bl({Rg`h^+KK5^~ zjAIpfD9maI1Zn&(c(2%yo}u~$Z9P<-!^e)LEc+9;()^}>1~ zq+}0)6ohQIgmQHd9*hS~sQu#6JU>xNrGaStDm5IMk4AsI?GC@?JB^oL#J0m#OMZWQ zJj^!8kK#IRliIPa$m|rxU9oQKZcu%?NNVO8n_Bk)RrEtD^cl6_%`)2FD`%s@lnHmv z|4m0lX=CqSbk@+1Z|{%A?VokG$m|u$24=57nH)HkbNG@cY)z{n8#-#l2wCsSZmMaYG-Y7HTT)X_(S*8G{bv4K#) zm~bd@={sj_54YI&H2b(1J?$Wi8!m&sI*Yz;%?@bfE%+-@xWvI-x9AYxzbP2?wqKP^ zNr&_++Y7>*>j(WbPY)r;8MuN7QO{r=58l{>XR6nkM|0zY1jG+Cj)0Hu^suvxqn;>f z8Oyz=VRbCj>SBpg6n9CRnZ*!NX*MV*eJlAC)3RX{8LVX)tZF=mUWHUc zOb#{ySJsOr{GQ3EioO$36F@iSMPIzP$%N>LmMV@hni{rOQZ{hh=A~e;2h<^bMpb?7qwnGeYpNa^}YQS zZQy=zG+{fk03uHqW@ikG9kpB}r z3+=Jso+E;{illEFbePBJvu83*B^=&D+EY0%6$p8G`eAa{T4csI?ycI!=K<7f_t9L9 z)PlI+`{?Qc_wp2sXirsFL%?m4XX+$y&~8!&fm+*{=(*Zv4LZFCilt{hes&3e-g%+` z#iigt(N0$eI@d{wMUpBb*Z1^WSDHUIhw=xvw-UGg2EwLHs9Vb09-l2t^@xo3{ryQ^ zCQYm~Ovy2g3+?vFN6~(Q4!+-Ou7+v@UF_DsrLwz{;jB!rLT{nYCf4PrF(?$S>3mx2t8D&5w_XB&<_)f^mTZ` z{@B+4C#M?3+wfhQZEL&VtzSR&Jp9QpbQKIbhJMx8?K@$9#TE9VEE@_rjgd+m$Qv^9 zRQH;gYaH3CTBx{7{y4$_Tw*6dgA`$2gO&l{$&djQ2d2FK+}>-77(3*PbmusgF&H(R z&GRs~*AA=WHjW!QRC?!hyNg!T#rWO6%8oB4CNIqrj#R|8%lfqs)x07kEWC0;)3aHB zzRI|BRs)xK*YR~e;2a8gS3|(d8f0YK;F@1T**6x zZSJ%=7}Q0+SPA^iaBtiuQ*%U*q&mjorLV5YSTDrP#{R96&2pn8-xj>&%bGk**|ylk zEB}<#-T9|P`2|%x@1Rl_!w#vW*ob+x2!vF4lRxHN<85g$um_ml<&6Nx`Ys?Ly~P90O_o$|S`k<ddeTkRuH%)pPY_)WCe9e_(CI%(HIQ^HndGv=(T9S^NY$6I=uqB*c&gzU5dl8EXV43U)*YA75*A+5XL$W>PzIfjxUF!P9+M=mS~ zVcQ#aY}_hnkDYUNFJR3cd*pi*0X{5}`J`<$qi0~>5hvt?<||@ZP}#!e9v&}TU7}0B z3}8yf^AA};Vw8z{LEIjE+kHyVnAH34G|o1wD_YOVH=72%I5EX|x;7>}SxpFbo9Lv} zeuX<+BC6s-2+*hZ-0t*aaE9#a3iwe z&+v^LB#qEXx#Gk8^gb`;He2y-M{~sZZg|ix(9Q`@LB3cg!=xTc1G7lFR;>IxUY@D< zss!%qHuEO@(iOT01p6WJ25g!Vh%ZJVe8_?I{Q#at921`e$%`ta|1vxragkEZ9Dw($ zKjX*mC=kfDs?2(`*HFEfDf9i>NO48ue-i$^L@LA=Pbl}~%+G=Nil4&cve)#zKEtPJd(9 z4%)5~4Be30tFvfGW8-=pi4k<)i6sH9_7TCs3W!jbMzW(Cqs8o7i9jf67440HoxoMS zB>KLjC&>hkF^A?+43_zql9OQ-icdzp{33LA6^Bjh8EMpC5JO=TkFni*=>=iq6%=Uu z-!?O{3<4Y!bEm)3M0%N3!ol^iVQo811o@N0Vxrh2nvUSuCSsg*SfEa}-hYFR;n=h& z0DVmyi2HxFNk`Ck!klzc@(w0aB{pxZ7+N^inUE^PFM&&R{-<`i@3Ss>-a8`qU4bXE zZ%exhR6V#py;L7!^~RTFKV6mFRUx}80y~V5Yen9_@(N2Qm_Ob&{P!_%G+jO{-ayG+ zXC93qifOwG@9)IDx%97n9AXyVBp}fTgqiD#$~da4SvIOh4esJh{MN}z~PUApm=|s?(hHI5EyA> z91PA_gB?8O$dicS2vL+g5NnbKzzgP!A?7KQEwfNCaYiHt#I{gQs{}JvilUUj=+wUG z5R_>kYE!B6Mt-j_zp3-2@<5sy7r_GqbHh&{k}9H9mkU3;!3uyS)b$NvmEhsw@ycNf z5ib-$!$JXLMT2yq{ZIEh(@F(J1a^WCmD2v?Ka%f#Z*QkJZMk`JAeshF!l+*5nfToi z4@y$D5s{r(jF`d$W2*1vE4EO4y<|V=LpvV`^sRe)mY;Xm1NSguA3NVX3AwnNpHUSW zoxfFict%h0!p<=lG)^uo3emu3be_AccQkK*Nhyb|iz3@$dWS!>h(P2jm*P;qEZAbw*a9Gl6~$E|a=Q z(HZdEmEFbBn*tL4mrk>KT4-`@fL<(AhgB;a#m- zSV|bjfZr~YD&NK;NsoJ7-{&{-vn7KZyUHBUl_p54_VlS?rhcWJ=hU&~kESQuvtC>w zF81tJd3tpDQN#QUhC$-?OK9752918GG}6%`f$nVRoE5%1-%y^Ad3Rt95DEG&zr}qh z0k)w10qAmE58a1*UBc)%r#&Jaop$dMG=olep~R)lN`*rk39pF#QbK*7pb!qrSMV{q zbFqlsY_7cTi^O)OoDU7k8Bvfy$fxhxxMnKDFWkIRu>+SUb((25T2EV5%$_li}IKD{0fx-IhuXA(T}Y{=c<*0 zje3x5d^U|(lct8X;KkfW^K*~U{u(B zO<1O2mmozqRuJfzE&$VC&=;S;G7RbHVyX7ft*Dcja9(D=Yky9|I0;QQ?RZ{(-N&Li zE}^K^bf8&Yds&Fk#K$-zwko>1OPV1GJEAp2RU6bPEq_drfuLm4DIGv3_oo8B`gay` zwjEmrIv2B8q(05Y;4j5~ZCowQ>$kKtowdemX^Up)K#; z9-q@tXJXpoM? z=#v|!-VSAxZ^Jkm?=i&pO&VKKZ7dg@ROAJ&mUU}g*_m{Wu^0a+nx0z$Yb0s^3k$^ckr19J)VtC1z z)v=AUg$KJ_ccOrU)QUrdXZymEDPfs1E!U{_uNO9!YI`C9^@3yXx;sYQ+v@4SlOm^B zTmJQOz|g4D?A+tw%EL)IoSSd)!tiac_vSi#zbzH>tv4#%qK*rxqbA5S^At)ClBJiq z7(U-&mxMU$%7B{WrcbNPQ=eYCY?r;SCZUu;z0sm`ncwV}wmb{%$SSAicT+mYZ)Cl2 zL{#v!>A{)Z`_ldiAythZ#++C8+`fBVF-Bo2fa~u%nh1OiqOkM#i*O4AgQ8_OX}qwp zDPxa9ViJ$ZQSRo^-AhbaodBbLe`-91v6ar8Bwug`!EQ#EuIA(JOof`&6;sbgFmC6; zr*3aOOsrDu>e9Fe7Kb z)&Yttk$0=b?}JOG{qNFov@<>I$L;gE+166S&}DS|4g>X|+A$FOM^!9w#`{rP8)Edq zK)`+hZ7SPOmS5vJ#l)wKHwmeND-vs_fQcjgJEaRdul_=t#?a!LA^)l%gQrV7M!{Ex{gn}~vP`e})f02mPT(BJoUA~I@%T90s}Fca4J$rA4cvy)9upt+OGV1+>^b&^>J_2!6Q8wk!>|L>N*o43jr3c}4x+)3 zTNv*f5*$KtXGtNG8hA@{ToYW)kFfl<_>0%IIuOBql@{eU2nNZ}QS8MiZgh>|ZVn8j zEjr{_-|f@4ECKzrqs(3kU~Ao*E~Dj=T7-~6IJqpz7xe{Q6>n_)JfF-upI7V?vegeV zy;JoAq0SY5yrb{lnuySG=VOqxTWff2QrgXohK=jIrO;hS>M%*@#mczBxguLRyYoI( zF>PyeZsVuh#hQai>LVBO&t|kjAcv}pia={|>)d~?4Eec1&fK;cu=N?h?zD2^{zEo- znS(zQ=kUA0`_HZ91kSwK&X4w87J2jBHgSco3c#(s!+?KS0}{6>5SL03Ec)Z$l&!n7 z*pn#@_&1kY3g8-*2-fX@5e0blS+(3`k1MM8}L`vW$xfZYrOe48dlQn zVz{Sa7A1XO_29_1BZ-1?z{aO>i|U+)#pa|4_>*kyq;y6b5Yp}z$&08$g43U&P4sG= z4{_ge7raziTfWc~#W+ukm41QtRdgG$dhzCYuo`F$am};PP=gOvCYI4>WA8mN@dGI~ zT$tS=)^> zl=Xo(8Vh6&fG;bEmvRao65kxtPYv~(c%JJZFEg6Jf6K!EEt?XxR8Q9(FWsSz%E`q$`l8w?HKIOAu{p^(Bs>fY^@p;NK?kRg51IwwR09G zUEt9*7MNb<8gyUuM7q;f8E%x_Kq>7y-PpvlF1le7Cmh=2S)qKNj0p8W}PhKAH1GB7*(Q5~OXk{olC{rk@ zBWkto!y5I#5iEHp)wgKSrWM2nbJj?ef!>AZC?6S-Ugi7YXQfkm0$j{e18MO6ZQdk; z>c&BuS&Oq2wEmBknn$B|u5Q2yYiTyU)W*4C5E_@h<%VMr{T{E7ox577H2cRIN$n^r zaHdO@BGXJ&5I@d}1YlLEX<^Izt<+-stgvF~#IyTQFEfOwlTWtMZ=>j)?VlgS`O?=$ zf^=gGH+bR_y4n*#KF?bhn_qa=7U&^{SCSDRA9{oKt$-7eZbRja8|sJ`!+T%GJCJ4B zO;@^_*G|7D;#F*OkmKQPGWG{$ytfe01bR&LP^NVZGS{`X)<$v7I>nD5o^I>I_N=j{ zZhJ`S45!CV%s^?6zB2g>(|JJBlt27QlYM%alfEO49dX2%1fiIYWF`~oU)XZwzR$KG z8k0SUi1}^2H4F1RWlRc_M!}q>983n^KN|+Xf7;^6IHhxaiNdXb|KubG6s>{0dn}VH zruL34J;z(zWB3#t?}~zP#w>{i31xOF-)HCUv#!p~TGUxEqT|YD344<^#E8M+)|X$U z3arA}pn8b*o1Gzg^&>px?n6S4UfSs@xzH%2NNuaAF zqZ$U`->eOvyz)qJx^L}Gm3@yH6%CGPw}u(#J<9PGf_Vl0tKEhwCIG!P!y@8fe1XY7 zPrRRWw{Q%*SVJPUMvhBFLOb8XnLcm;!>(ZyOd@>iA@d~Icp^|&mEwPWz?db<$*%Q# z&S0fj49DpigUB>rJ%jlNJfQOdu&D==4vtlLy0Ktt~Yr^}#7QZ~1is}8p#CEX3= zjMATpqcq|-o_u7lad6PT35lkasyg@HML}efgC8ylt&YC6q`w4y@jZ;*i=;?A(fizaU$)awRn^IsYq zJ#NHS3~3!v3Y_QuI^$QlrNN^5taL1L&EaRyBD=>wj%!)4uc?UXqC(+P4 zQ1O#Yh?Jq@`s}^>W4o|l1yjlaf4amGtFWZSSs@7-DJbH@=H0*|Z=m|pZh$>rMKx>% zEBq(C1iEZ+4a%F&&{acyA7|!x*@jB}YuBfyJ5oPsI@8U~q(gpM+;imyRHmWdICumg zb|kz2*=&Ag%pC?;7SA4lp*u8dQUQoN|J;omsk{$&g#NdY8V~L|-y%p44Y{oXjoPsQ zp)vlu&}ScA>%XXxVcbp_)LM{}TGoe^K&s7Qcl-M@T}DYde8P;6Ikw7zluf4P%}q zK&Xw!)@NTI>^ns9L!ZBQ8AbwAn`7E4^9Xsg1zgCW`w2?fZ|)t(s4L^QA`91)7Cuy> zFp$p}42%PW3W62o@{nfsw6Pt6$$=q4n~3{NWDrt0Bxvg6Xhnb|{iQztX_C5)EqFVi zs_g1pnJ{~&%;Ig-_p86RBvSzG#CI6iFS|#FU(|XJk0m~;V!raa(O}5`v2}~pU_HWP zm3SHEMHmBVd^zWc5ZpiK1M|_(1Uqdt>-EAz8#!AzK$#8N zy1{*(OwLV(l9P@6&PWS6+OC`GCtJYicvsSmQD5&%1&Umq&DRB~D-)nNSTzeH4Gs-~ zn;&|Gp`R0rW)UPW4Yz!IZ&+($hQl6OEWU1DiphO*=MKZn0@^Zwj zsk2FhWY{_AF+Oe6KJRMlt6n-A3x3)A#F*HVM34J0`EQi4hhh(TN44tV(X@6bLlHMm zc7nFI<=i&sZBR|rAkgPm@?Qr0Kn*>hvrrjv_XXMISGG8EQ57-g3^HdyZ1kEIx+IqJ zfgaJC5!dN6ML6YiUG*rfaT`X&0&Ua&!W?DhQ)ZnO$AY-=9`L+pWF?Ty=k0{Bx1+(1 zxNmoJPraeD*TW7+ztLWiQxopft}YS7#jfHF@K{-^1{0d#09(1lXHDe0x5U6Lv0Oi{ z4PRDxN2sGIIPYZTBe6<{<#xYK2}uG)1XTmy1ecW3DxFbUTX%TBz_WH^U<%i0UpTrb ziMvKn0I3{Tc6x!!;UG3a%I|GF+qRpsq=+z$nn;n1p;Flr?W`nrYM0)D#;_RFdT;-9 zLOK<>;zr_oV5p)yCT;osKJtIw!&oUUhpMEr5)ryz!xn@OEMlS1 zEagcfAZBB}xa?tty{cmQ0!5e`Ee=X&^uxiy6L0^39hMxf&nwWMkoLLlew@kw_E>k% zqqM?ZT|uz2UAkso0YxmF?$u6CUjS*1Dw^j4( z=kO1z6YnT)U7=)$ADU4P3(My{iYx;v2j)6)2RIU>aTE{o50@_Kd*LcM`Ws&$mKp)0_SCn?|Y+8>4?mJr$$AnE?H zqt<)pNJU{G7Q=@i#>f$8WhG~n=Bv6_jOJ34NDytK7%y0iL{bAkI#&HKBA-pU?WPf) z@1t0pmk~Y>0Lh)aju$yp)=e*n7B=f-m7!KwrA z5GO!7k0hUmoQlZ)p!c9xDIDnpJ3)h}#=`up2a+gEDxI&4Xbz+zgS^57fq>Y$`MP;e z!^BHG(|G8NzOAX6jx(PL4nqJ6F$1B%zpot7FF90uHvgoLmEHSc|p#2+6KG|XGgDB&mqdOmF|twJa2bDY_|^A5997t7S87_qrih_$~(^rODX&; z8SPs{Q=;ldF29X36o~+zNon;_^}XfTtU!6{CjbL%t^oxzZE`0`$b`;~|K!%n7a3>h zoIhaM*b_GT+P>oZ1r9|Igy$`RXVfLdXH*ZX&huINqA4nQ$`@d3uLhmWHD(`#96O<= zY4Eb6uDnJ{Ks8dl$tox)`!B{=5PX#?5Dka%UI2D2AEBEr@!V#tIBW5-p(Umwmu{r0 z60y(z{XJKOXhcY!3~Y&b&hzI}z%2ohI*;*`8a>?7=^*qOXr{bwm|Gsm?_?bo`-WSF zru2(G8(}|%R$wAQg*w54jf};FJJgRbbO+0S0oBbZmc=qDZ&F3PP;x54qsHuS_oZt`o z))@2Q7`i+7e(-}Vyicfz&o+wgZ}AXFtpW%v%U|3SSW@HLRIk9?pwj6yrZdUb50*}R zJ_Mo&sE_o0m7D9jnr~>Jiwo%2M-sgR7f(xl*I2n6nQ=LmLW{eL`W1h+sFYB%acz;+ zc@ZKxqvwoAxoyF>zq zvhy(8;*^lB|6l=YIcb?j7-%%>8RyO;7gDc~^)3rT8drhT7)kvdNawo5KJ&E}?Q7?( zLp3NXu${;UjJ0F~7xHTONszJ@ow%|>M^wDnmuRi*%gx zwKys$U!#01W;+esat1p!osAMUDJ!SyNP|*Qv?C#NgT;da9u|%?=^7N@m?SZqu-H_#$l_IGsIy`|@?%2LG794p#YrgSU$F7s znQUARM$;c?JJQV!7 z;Xg{XV$D^TI5)Hja#IYMAAF+GnP$LHGq5HEsqzr^cEH2?RvOcK>_8I5G;aa zyy-v&yCsSgl5?R5Q1X)HaZ+|mL%Sew45}%b#rfwpJ#>6Y_7`Jo@W^!{x(?kYVNmwT zrvc$MHpY_l_qfgh3qcGbUMH#tquMy}f-Dd6i>CxGW-|uAr&i}Nb6?arG8D#us96sR zGBAtMhvIN)W}bvg!jITZ;N$}N)(R8ll=bko?$q4);=uWJH#LpVbeo8s`C}XNaD3cn z-nsnd=ztHymV}jrPpnov8i!a+r$TaSAu*HUB2Wa@46K0hK`_K>mZH;skL6+0LndwEgp)R}Mt8@6 zcG;0usQDE)?C3sR*Lr}p2tO{)x*(fZklHeYjg#~(;5Z|20^3bY0?w8FG=j)}5Dh&{ zG@e(eK?GXw*^J2Mbgb}V!>AU#bTl|Q)T&s#W`WUecD^isY5=rB zR8Zz^EmbV*hHnV=LNcZ02&>h{zQq0@vXx061|})S%^vH%iR6QT>~s_d>LQfew~%>A zE4oNDUn20p!q{6a(>u^592^qwAt-EOcl1o03RYrz)Dpp-L1#JvN@Ds%ygeA3SW`*{ z^8#MD!ZpqKk$4vzJNna!eU3f;8DRc+|6^M?JdD_*n5d(g4YEmj@#H1@GKj-Mya#DY zfh3MHcx96!&NMBhK)a)}HO_V>p{yL%^JlEJMWO5EjIrS3hF*b}&`sYU&+>s%gI9nd z*`(nUJkh5@Bk8i7G%d=~5(*3hi~69*6~)Iw z2!kkYz>6|Li-H7)DWZ*{FD)){Q~^U%y~nn^`5ARb`waf}xxJ3gwtbC%*$HbT?O5UX zUUa^8_rU^7n5wy`sqWRdZrl~9lcE(5YjlA?dzE3RL-$%ZkNW#6Kzfp|nP?Q}$k{@&>A#T{pL=Y9$({R@axlWrP~wUx-8udz5d1`7>*TZsEL{K z9|H?>;C0Oy8o83eA|d38W&Q3ppa|6#R>UQUI;JR1CHZ^wc7FP zlC@Bq-xA#{iXy9z3Sk*P!aNKn&x6&ewTrNFUvtIC{F37#zI-5;0*QGxvGtQaZ3uJo zRw}nU-Q#|1{C#0W>Wz-`pt}UiMO}=}MOA;ojVSw+ZGD?lLAQloffh$|g(6JDMzS`8 z-N0W_CR9e4h9z=70B5SfOS0qpWcpV zFRR<7!2vdAo(!y0W>3XP%qjT|p9Vey{snB#EH1iH_ze@%fAtUUtY5zpgu7$J@Edla zCcj9SeJPvXSQmsKuR%GQMR#2q+p=c<}1lEBP5yWS`yWA`}sO^{= z`T7l!6#vAM=L6_S)$&ecarOMiIxBIKf$%=hW@$QH|8kk7Nxo!TiPia71&s` zm2=SOH1q46_7JO0V4JArPT4nr$63dSG*w$srM&$dAA(IdhP+i;K3HyD@)X-J&VE>v zpAZ*2PuX-D3kNQ7qq%1^pXp*J#0nu>@W)_w3lQTL2;nR4KDQTJHcWbFIs~4T=k_?@ zN3nCBsrb&-g2v91GPHPzvGRU=tDV)8lX}IaFZh?xiW!NOHRFJeJ%z)5e%1>&~nY`fm^2o)T@$8#k0qt?{S%-elHKG|q-s zL8V`RhS|1d)j$QYoeY&!o^fYSH4XO@6so7v7vM0`4qGwc+n(xRv|*?%J__R;>9BFn zn$$@tTF&TJu3B9{bwIX_>YtM~h^?)HR0WuA?S{A;7Ln#)hK>wlf=kq|4ly^ZmB=~J z*kfYbDmG8Fs?udj$HI^S$gLYcbAC{(ooVWSalOj{Se6!bi7kRC;}7)FW4FU>hMu~B zntG`mkhkT3&TYuLTxxG5wI%j@jx}ga%$qMn@#1z^w?TlnevqzgJ71SYw%gZzaOEb# zy_wiuofW{|{A_3pg9AJ_ja!Z8NY%4sk8~W~A6WK$sU|^emCD{6Nt@i!LCc1%`zDNk zMQfmU?)+wxF*z4b!z)YGEri9a0{KZo=oJFQu}REgtKM+WoSrN!S`lq!Olc=ta64_L zPUw>aB5Rb)oMt3naKK7(G|8<0yK`}>)!&Ns{&Yx^+IHtSrr+xN^;+S#^QhRjmh$!@ca&QjW{-kx^GND^4y+yBp8JK4%M zXQ&|$6kVyA5aT|CtkmT_7v2|Jf9nh{Ze_v?-$lNgW_`r?`~R6{+MrYa-kR)xby7bU zT3NPk_z`B@x6TMMc@=1~Net?${hB0=A@|JVxI%AOj3BAVOZJh+dQ~ zL)+CgvqOGiIkcPz8QQK^S!2h0VL4zC!JZb#Ec+}H{=*W37%vuDD1CU%KA-raMqq(hmg7h-&fmk9x9b?Wk*4@QR=O2)3dxYv*Em((wxYT|FYMC7Iri$Jz`cm z;q8N+Wv0{J=D0dbNvGRpx;jfqr@PItI!lSGdi!t;Pi5SY(KB;R&5tK=n-f9l)&1Nz zccpBM*l{-};_zvIGa&@fI42@XKGvn&L2m#+_f;n=xES@Mh)3Y);;{Qy15pmn{n-FX zp5)v`Q_#fpT`x-EuEL3pPiE|c4bICzwc1jgUDrXBKGOXwZQ?b3?n5P8|`ZOT(#l zQTF*}|CbMsznYy%H~|k94wudFk80OIm@}krUoFm#`b!*ci9nN$K~K$nj}{wVD!x=? zP2!Y-2lt~5xq1^2L*g)Z$(jb`F6RAdt`_}m#BQ2@IpyI@3ry=BgF?3*Y@2A+!(A=r z?J`=EF;7UHL9eN#Z4AXQDFV6AE-<26f@k zP^oLwO4)$y*U!A&)?C(Rhm12jgD3;Ts-;6<(@&L_#O|Xt2GvQt>WrfG!g64HBX4jH zS++WV*E3ztpz$+J^@ZhGdz|bzVRj(AamiDkw*xt+$zo=u$z?a4#)>Sm)kgU!i)x9Xd6(6=^1bbm6T;8OI=RS`U&dvb_0^V3>|I38M149p7xt% zRaN+0X&2OFf~*!k{c2ih=ye8;MKf(M{V&jeq1}tltoDa)Bipm+^ZuYI8Y|G$C1RAt ztcY57jJ$wbl7oj&E9u|%$hx=@8JWpOJ_CIMk;2L>w(Yfe8q>5k`}Z~}EwaJOKQkaoJXpE zjyW%O(`ZUu8Kys;M_QOB5mg96FiOFZdvGJX>w!SsIHfUpS>YAiuL-pMhZj{|+uhc> zS?^5+3HJ}-%{QPzx244}&4xG|LJ$k5zj&uFoo^6h5HoYg5rXD^LF2ZHuvsDXMb}gH zslsOYRcMF?4zuK3-Hhfcli{3Y9{IC>?HkFg=LSz}V&>SbaJVLGj?u=h|6C~ zXG{9LZLc?IguqeliBSO%-s2yx!pXpw^-Up^k0k~2dEv@2Lby~fBs8NxjvSHjm^nU; z0I^9PF5FmmKder7{o{ZC!(pFZ6CF7==RZ_KtJYTj)`U4iH|*8Ux@PxK*2iIgCpE`! zqeUA%+=zbu=?wzPTzt$Nq%OPg+hMWU?s0!fP6!5_Jw8VJKGwAFxO*?HHbq6elZ0|! zr0VaM&xe~+n!Sd#9xJB3#uJr_vfLJEXv#J^&y1O+v>Ya}3f_2X!_A=CO)>_H8~RsrW^l@;(gJtrDTUM@Tsc(TUm!(AiQ9)N4o7f;IHWDqdTLn0J$dxlw5f;F=0W6iQT1?=&{dIt#il^qyoIu}@ZB%Qy^ zu}qX8nlxVfTQO{ZWE;YICCXu7Q0%9!BUi<@!WmGuR^GVQnQ`I^6<)fhY&*yC8gY03 z_dhB>+%;$cR~3p?XmylO$-Exl?oCgz6WOKe?#G>8tK+I+Xm;tYL+g=YY% z8RG~~)58lF5&o%Qrry*Wq#mN3{!GA|g8KwiS2ncNjOQL6gPrbWvte!gR;GQt zjE}-8bGgjRf>#X+AqS1|pczK0g?nv40~_C9({{NQ&IXy-C~tcqiZZm#o;J>}O&i$T z`PKR(x70Cz8$`^TDKZPR{AQi*$t~S&1G8m_@hwz45rcGY*+S!)f{4MNHyEJV@F*e4 ze}|2PRX29dil#R70aI@S;yP0g<0l^^V@A%OCV$7ReU0jhY@>JoHxNqBz=I1huZ^Nu zJ%-{`N?I8L?jcj5G&03%UPm_VOemGzUmJ)Ap4&OsgOBJwzuFYz*b+S<6WGu$LNixj{f5 z0KT*yZmX%qATVaGf)*;mUOH{_8$2=IB3Hk@-!}ubwBUw~i+sZG7>)1L(C+u&X9@%KAH7|6=xRzXv0htSbv==Wh19rlHQZ1SRjkNHZN`VFI%OvxISq4y$0~M;+ z8SqdGua5Au(ZM9LV)u!GOuJtzVLah8ai$E4ew<*~I2+u1=M*3=DL zWrqOk!gTupUtK1fCKP4!%-9(&8SSV0lA7^qi%m8d`^G#1^tNbuN8)-xFpiLUuRh9u zTf#QZFy4q6Hxn<|%JG_oO{V;Y27x~Dn&sJXXd*b4m-)=78Cy^$$P?e8OXEzLmA`fb zgBUh$m0!Zt>Jbh2TD>4Wp9lIbO}q{-5OFS!noMuTxNJLvWoL>pb!r?SvB8Y7%w-CK zPhJMV%ow!=J{Cx9l=~txscKMsdT>8~bKiHtwT;^3*Tjcm>_O`l=Er}s)BX%=!~&i( z!wt=^W*f#wN9H2f*^KCvqPaLTfJBcKo|zR}7N#a=+03ow1xWxIKylAYTy~xO0_VULkNK9=fq^O zDmXvKKDcT#x?`Q?Lal57voZ>Qlcko3JhPTIWzYjVl`(1hdH z4QT=9Jg4kfMks$vrF+rAW|p8Y@U=ie>QF-tvT#o!k|*1QxcSEm_hk?9A=t-NGy8IV2l?S zaHBH>fZvz3-qTi|W3^Ofazk8Wm%O>@V?=mt048Pwvw`y?%Y~0&g)5bngKZ?E$2Zi( zc4^rzp~tJ=P<|>xE@kJ)dM0+%Mv*h$5y%tg0%e%Zf@%8+V+STloXsBkwcP@1D|0Kx z@dw+_NSv7WA%vhmol23idcJDp~atC^h{3s3V8 zD=pnq8b)>lIHxWAjX)I8{Uw6YrR8vtwXqAJ$42QmSw%MFKE?hq|RdXhrCqp|DG3ry3v#!nh9(T6p?bB$eqVKpW)J(y7&tL4PrPit*WptORK9k>MQNc zWUd7RwGoZCjUakyb(@U(7$I?1hhX0fe|%vUyw@rOYD*vQ??EQN*V zSsJiXT_C?>B^M+u882hZl$n*d1yRD+Th=yNARKGo_KnKp+ovmY;+~X2i!926xIN+9)qx1Y~`Jq05>H zD7`>mGIdB?^Hv5U^FCzuX2bu;TL#fWGlJ(Ax(3SCjUroxP0Ipt$D-JD$BcmWh3-I7 zjl6MUh9D3h>-AVJ!le0UCc${&FI{q(x_ki!sOMyV5K(3Z-~7UFy_`3KCx&f^01>m^ zwK_vC4a3LsHKfLmLC-Akh1(g1j9>kb=Fo6%_y&vzjLhJPh2z?wPfX5B(*D@X%8V7- z5QGi;*_b&@L3BB}sXqtm>ht2o!n-C+0-yuhP_t)-)>Rg~VaEH^);np9ZP3b6cUf)| zJ8(mPh2I(gmYF%w1?d(w!Ef|2!@cP5p%?7~cj1}6g9}daPi3?t{dBUHi(>ZY8TFHe zhc(H|rrmfT6ui?S-#8wR4({xZRFyoc~NCRX05Vm z@5X9t#%VV$FPYg0zQE2P4VS`JzzPY@_j160ypd?^rh_+np62gLku_5%Zb6AqpKp3+ z;OW961+ahz2^-A}eCqN;0DJ` zmE_^I0MWo){#5B-kZdrLXSDnx%Ef%X`?$`KE-|vjo(+{<3p|(|hlTtmXq69fSv)ZwpSPGr*%MXrdss~PwKr?OM zED#$y&<53pHkcz03OC%1J4J?>xgCN`%&V49U6U(+_#9(TWoN za0B>YW8&1%Gj}R&p&^(#Pe_(x&Km43m7%i7pg1~(k)Q>E$kK5YdnsbTu5S=Mf2PPR zkRjxUJiYNeYrwKm``7L*dJCn00NGL{tSVZA2^*dtf_lw|fuIc2>8)5+*nm_e3?d(W zgZKou@Q?zSPc6Bh@d+qm@b%V|Y#3VtLq%?c{|C zfEWu@I|kMqi^VD0%!TO%Nr2#*55vXTwTKY4?Xc9mFbNQP5G183C9hY^V9;YS#`~s_xP)&kwmjgm|4}a8N8{zRbXp%n*#8|$Rr*-_> z6NbR*2jzzyA7u%y-ued8(`Ts2LJ44KsTRb-zJrJ6js%_dN+UBcyV);S&hGQORL{9#{B{ldP3E^30a~%xQ@gpne0@ypRnP1nDQ(`k%3fCX#8BtJv+LABOv(x2PR`I?Yp%6o5+9xeL zr&otN9z8AjGv2A_C-F{qZ2zfw-Mvci9+9i zrn|V*n~Xfu`&&lP#cwEPj@RD(OoaGy#{Xs{DK6jxPwpjuSxJ4dig~>Xzy4>4qZecX zWi2e(@V^BEF};5izB-Z&?sm!=yuUN0`xnfOSjm>+(3scS(h^|p)B`t`Dt5`6ntqH3 z8^{FK#t+ZvU3~!}D}0;8hUP%u{AbLx#JvCIO&E;%xZiTh%*wf;i6~Ter_D4+USI^b zHn1JuXjk-q3TwX75nyxQ4Ze7HsNz@%1{45HcE8%d{Kz1uW2k+?msDvk;jS6E5DPiY z82QZ}_n)j8G}ovZx6%+=^6W^qP2Fr@Px3u?%*kGE)1)6~(mAy-&TcYVlD2hn6DxyN z60g~YNnyjALclhLdpm>@@Za2OqhUY5E8(tsM2^&du(S~UM4?(6=0hx-=;z=>i}AoydX~?lsZZWC0T<) z>JQ_p3Zap^@csgPjBiSVpJ*!c>9`FH-v&etyWi#s3 z*5c)AY{*-MNzmordP7DUktwkO?ExJE@Atd=-G9Hk`|o#mzq|YY|NsC0e!u^I|Ga*G z|9}7I_5b(#|NsC0|3+~sF2()46qn*sT#8F^DXw)q9*@`E|NsAg|KI6;^l6&n{{R2~ z|Nqb96%`c~75)GJ|NsC0|NsC0i(d5q|NsC0|9AK9I$iI&-@ViIce;Lezq@fj4dg?o zdwhK8SfE4sRHf~rI7vTRMB}s&jnl$^9SWy~e@EHyz|w;&FwK|`viZBHg*l}dE&MLk z(MWZ*Ah= z6dW{DKm0?{{7~HG$Z1|LUB-E#L~CYoO>2gPgJZ3k(IV+G8Imz~BsB`@a!MwDl&&X( zo9mlHxSQ5-f*z&nGZbdv&Wc#0vnxmt(&GkA0b~P`xp@=8l@aCuFMzl=A~=Q#ENsYH z<04Ihry3hFR!mJ3%q*~^mUC;!+`M7_M^no=Aeoyt zYDyU5h<2YbB(}BSSqTY@D|WCp9A3ZRcZvR zxOV=4Vc%joKbaVCU92&1I;O?ecv3Mf_BR+CD*oUNOtq^fgZ4-{KY8Fud2)U#he58C zL#!D-BGg&ue~-xa60I2**F~OHRHfFFQfrF_mZ7V$?!G&~?xa`qySem#Jtr>}0i3GI zIo}9!9AX_4SX(@G`QJ0LE;9lM6fCb0ECot&RW|9f4-WKkGq z1xTGh;(zY~wachfv7p?cUP1|@QVkLX3q6sLvg-ahME`riDc1gftpF-_C+#b4Ofife zIn#`-xi&dxt^d8NwNxIBRcsE;s^n+n)t2Z@nz#FEPX6T8!(IkNG5aYM^BGs3~p)|s-av{ zmYP}mSPo!WY6k6NIdCtulzvpn5P=sDz{0|8I^=18YFtj*OTCnH9{c~R%OSEwixxpQ z>ZKdu{x|>MytEsC&@9d955l0<)a}TkawV1YP|4Yu_N9tcub`H~q0mTNsyr7xEr>`_ zEoj_U_K#wgbYsw7)*g5+G3xlfDCd^t; z#M_i7D7S*1(*p~VQSeh2rxzkbEu_jNWgU`#-YIA#4yV{4Ekn-FDx6d*R}2GDyTm$& zob#5k^|+RHtYVj(d1GVcdL`xTOmYQp@DH45Sk|ql>f}oot^&^STVZWriLC{DZ=Q1DGJxXF;1{}% z{|A*SlDLHU!pijm3>E~Y7%o{B8tkQi?EllO?Zbyuy^c>yePH76b?cE}&47%| z4eZAR6b#>dP;gbHln}^T)lI$i_5%z5_0=Q9BDq3i$fY`}=1&;QR0V4l7NnqmqCR+A zi@IZ03XA0+vQnvDFluO6aWbi zY+&4ZU_eMHBtkTU0bwvO91a72gn$4TBpk#*5CmZ~3GKj9C!3X}!)JjCY|SK`TP=74rOc@5R`=c-+GElDuk#r?VedOU9l6ebB*@tdu0Ze~ zP?cs0?!SY)HrFX&$MUp=A6!vkWb#9S_V%tqZkR5w!L&>p+L)m}Bk&k?`a`L+Oh2=x zwV(r`2sR@`hEFuGmBl~HhRi71EigcsUgWMf?p4Q}a2K`AlnGmC!q5Vn0cHtY_y!>S zwX@D7*)Dhi&$|aV5TpfvSN#2ds{>~2G+;(d%^ViAD3AcP_H|mVxPziE3I0b9pO@1a z;zV?iXnI3DP+Q)%I(+@$QjcNOpNn&5B*)OpLYLUUeLF*627PWJbtj}lGJf)PBbu4q zd>5kNi_2s~(Z?`8sCF2ta#jZwencwJ*hl>Y(`0D2<_Scdq-NIK7f|qehi_2YXY__C_86FHDQ1C%7~gVz`0bH9LsT-m6H<8}Oc4N>22sDaN2oLoSHy_^WvG3qOS!kjyAJcaq6W#cW`R5R}z z3nFllj7OI$#WLzvh+&;t$_ydhf*yj|xJWG1Nof$%V>Ppqv0w#4?rp<*urG_{K`%c_ zXBs6IY(Us(o()}S8MxRrq>)0v^u)&w_3t}Fc@WuI8aM#%NNRkQ=+>Yf#XrC^Ic)gU z;F%AbR!CNVmn_I9o7~)&2GJQ8PL;;xpCPwt;e_O!TbfzIVB5}?=~rK>Gf}7(RsgEs zhBp-i?7!*e6jNmq!Y<`*GLOHMbqAU~FA@&JCvXCen0|169J5&Xdfj?0?}D8ES^XJa7(P zC~_`;f%tLkY{+^uk|P&9Fe~41^(iP6Ww05Umjy3qc7rasQJDzpahA`Ncd+n<&29X* zUNQpl8Nkbe6y!xWNZ+Z86hU>d*t>Oz{nWa)BRgz1g(dEwj*6_g#Of`BGOO>N;HO zmoU?^^MxloWP?AyBNb;ioHC_mW;S$T2XkpgVCeFyRl&0Djv~fZHDIK6t~j$S%7OvS z!~(iuE+H#Jxf$Ou{TVq=3ke+2J=EV~kq68-V%IR*4I9RsGPL-VXJTF#$_|RtsFX)d0$+%6r{lq?@?B=z50DeZdR5)BUx8Av#nvkTYtp^^QYo z?k>ndqs@CL%YO_ycT@rGl8D*SoPe0F5Y^i;+=@%S**?NMdC6U1o|cBse?WR}v>aSK z-`~(@MkVIRQiv19sKIi4tb&-0W)`%67U~s$_BKKHU%<=-*99)vIW5RdZ0UZ`KHf|s zwS^aO6P3NoA)OdnZ^Me!nH1CbSZJ|KXL~C9GL5tgAkUaynvzZo?clI7an7UwzfgxQ z(SbRxPa||kTAu|TfNWy}aerQk*C{nJ0go|PaXG$)%@ELEpn+O9h#1$}iFW3Hh~R}b zY+>UY;?BC`&YbNnpa5LW@N{t&zUmmT$sPWSE=1rAh!a!C6e!_xKm(4aXGqr-g#jdGYaP29tr)~iUP8q_xkGljZ4QCo{7JT5E zV&$EmTL6`&Go_RZ7ARPiS<;*f=m^d<)fe#a)b&JjqTkw$qO`Q+@R=Ws7{YZ$&fm?R z3~so29xfb4mJn%FbJ@E0PMJaM-RvpihUsQVI9V{^Ft_vJcXGTchNz2wB86KV%bEe_ z?8b>K)hH0a;g%yhl01g7>fD3bYR&Xay5NBJnj3Th^L6pMqlvC73caLf62~k=VFm3C zMQvA1*|vm{yeJ8tugc^zS!x#WU`*fP=G@Ui?$b8>Lw zKwVO0DI@yk2h1z`(V7&0m$FIc*h^*qvnL=9Y1y4v(+@?{9mNj$t#&^!%f!0FjnTfxdffm@p z6H27TXV!UUO3MsF{Q?K(b<@^)W})Ux>&}7^AcO;Qs8i>eVH@CVMsVzc9a72+l`Nm& z{7YO8xzDEx%mtjqGmn=GY-9Fc`l;Zq^r+CS z3^P_jE@Hb<)F`4uM&x+woy=6Z>)P(xm(+4gXewz58S6GRa2_B$7jHLj^ld_4ikhkp z48w$TBZ;p%NVm4D#Q8z(g*8N1Lub^s!zhlbW$|EaAQ@YK!~dC1uP;`?J%`JhGVX$h z(2YI2Sb5tv9p9W&oqs;`YfV}HWFhQS+_u65&sFXCh9;b8a2>$bSLleUzVU}OVIuHIgi#S(g z7*EICxaNCqXi7lHTxHwl zGpNRf#qkURnyxheoRf0P8Rq94;9EYhw1&pg4nJsspPHf>+aU}nChhJw zl)o4aEL#)95@9wEOEx)jVVr=*?7_coUu1Ak^%r`rilwXtM!Df?siK@Jxki zhz5Uu7$)C`@YZ2+WY{rm&!0AW6kO8_HxAmk{h2xS7V_YY#)g(G#WVs2yEh{kQTWR? zd)e1BU9T+opfMlhy%hE2g@)thuk&rk{&i<2 zunSrczy>qTki@dVn5kw)f8!2m2k+McrxgUx{GzJ-u2B-Eu2^HEeam$(m&GViGPT(j zO!))A<>Jd^ONmFr=g!hBY_Lh=t(kEi%@kEESfPOZ?2>aofg?CmcfWvzr10 zBsxrXkqqdlBRtRySN(zxU`NMY#a6wrie{2tE+D`%tu7{HhCktlU%_m~(op4k_)fay16qsBk$h{I@x#-{X6ma^Hc_`*HmKT|f=cSpzwf zkcz1mr)5_f$b#1II_PU@q&IkNH|v#u@byTswMxaQb?eQ4e2kTTj0n!9d>+ROD0fj}FEO&vgiUjK3G;M~0-U1DOwwg22 z(#MSLNMrv`Iz?sZ;rE#=pP^ zf((eIAigV_!962-f(l(QYBRSfj8R5ev>sJCM#`?kLD+HMq$tJA!hQh@PWmky)_Y|a z&7^Yxd3lEjyvk=iUJ2MLc0psebhvRO4--cT^85p62 z7+c}&YcB;q|?%@X%Z=R zqvu(5q#W+b%PD839a*5^7777hEjt99)AJCNp88B@n|@}#lM9Lg@R0WFr+lg7gh!hMJ%q6rg!#=j97|IAX6g%7-@ zqZ=_xJ9012jz;nu?wFUb>d&Oo!MV^a#?iImj2YV$CD?8i!i2>w0f$hWX()DqhXZxR z$(DZqj&1eE$p=QGGtX4UF4#cY?P5z8Y`=5Hb*Zc4y0p~I+}kgpW~%X*B3ao|71ISa z&T?1RsAksQE-WB_VHc~w8D!mYS1j8344B&COb)#T3TQ~-#I6#^>i~DZrx)O?`e&M9 z7t|nz2o^Ua!P;at?V8!2v7iP%j@TfLwQX*iduGdu1=&)BsjnaIwhVE$Et>Ffmpck=SNLXIlWha$HW)5aa+h-TdpjfR{+VCsb5QSPJ6S2WQ})1i zwuR;Gm`!Y&LROwBwt!(Or3!k^wqzMuW@mrR0t=XuX^L>ns3hZ27P=RBl%r}qSTqlb zeZhZ+R$Wkk46kcYVh-+ft2x&z_H9<+*{G;lsMs3V;8}Z`;^`6%RGKTe`PZtSp2a+*m6Nh}m=|$%$PtQ=K=LqHdbNDKKO6>ltqV$m+(SA;56FgCv~(ypfflY5 z=z+1|hn7PeP6#JuSGgPx7SqW@IZ!-LxtW01N|#NwZb)ZiRY-Q4jEoz=2XGNYv??MI z^#aqV_#Cp@ZO9mAO*SpMAgY&JY2nO=2vw+HcBS>7kb2VK0H@iC!>M&u7CH4wW=!_P zOnO*1FEyErhB-5T2{Qx?SH7;S#tsHw|NrQ}!eSqqmVnct zKyETAgG2VrH~_!C=ndan@+8uWtLOSK&y9a`09f1}pH$Xs*mbgFPL;=;2CPwb%;2 zhGm4a$NX}$mC_lGB8LaA&N%7Q|0G`aht<6so{TrLz1+9e*0FKcd@DG{;EnvypGS7P zF_2yFnL1ylXp?IUHXVCtq4nx4H;Wyg*{Q`??daKAuP+AR>J@3Qd%DDY*Gi~{HhULa zyC>{59BMPG#tt)O8C!|0CNU;vpxOX`rqDzp&F<$d5Fax(D5cv?oL2Zid7HsIjFj4bv`$anrX39Hw1nvp%0&k_Crp!>j^-PFK4V zB&M}kI@PosR(a(gg!O%O^8Kflw7mm)7RI+Ray#R;G;o{rtx|5)Z);p(1kM*1 z1mbq`kld;I%;0=~7$D-QAmS14toBH`>t(#W_gq|7M7*ni#ohVTC30vuM}$6?XGpCe zNUR`dO|muQGcAd>rq+foN1teq4L(Cdcj*z6jitXUZCZLBF7fX#%-xGj+0Or<-MDlv z2qsh9y@&%BKR{v54|mhA(YwMaQ?Q&ejVSBx#iy$SyAQpGv1+My1eu1`Btt?$y}Jo) zxOB`Aa`$3?8pooZaxt0dao(O06J_HX^*fe?TP0RRHbIshUjL#QN zCDYj?Lq46#HJHtjq8s*(RBdYe^b~XGF-d4JTe1-A&vLPd>clMsPk%I$Y z(wM0(9tTWSv3%G_v`fxA?aj$edwmzjUY#81+<;oLL#K`b`_tGud4$T^xk_(eKahSn z>dc*ghnmVUx+S~Zl1_Gqtiz{z+}(S)Pf$x5=h(kKn>BPc`*1Bh7i;=HU_6y$fA}6q zY@WO$%ibFc@aiGb#A0Oi;H@GXtc=cO5~C%VZe>X4GHJHwhp_NRcF-i6lDW(>DxXf} z8WW4`nS?HpPUYHJ^SQthnoR`K>CrShvUZJshS+ckEoag>wmd^BpUt$j?TgIZmCWXt zTP6Vp7PYeE5~)dQ($wh51UDHWq)M($cC1b^n6Pi}Z8!B3aLbkqem=_sX)>$3Sbz+DIfC1j_&S*dys4I9VC{g?A@nt?2_SO7F+fb46}w= zELoiEaXouWpUOOxxA(r`$n{&}r`fQ78CJ89_)~T8Pu0XcJ*e7U?W<7*_(ZA<1nyOU z?DB(3{)8fk+=+Ppd`0jtkMPNlP*N)dg@gd82nq#*tb}Byuu+)R@pt#7I4NQJ)J+NiPN}7c5M>4V zStt2w$$L+-w-ieo%xZD(41&gUKhQp4I{m}X={)&K1Ku234|dXfzDe`RICS7$(oxKRMN5B+p60wl z`7>(+*~}W{t`PhhL4IL<0Ozd|+%oF~7;lyGcPj-MMAY7!>Frh!b=4b1QUS(}t7NEP zl5`7|_X>=0!Ts^3zKvi7cY$4bAjiN4Fvwd_s1>-&Z@BwO=8a8Fx;5pE`b7${u z$3f2WBqGa=%fZJ3xg3XowKyG-w7i_FN>n9VZd01zS|2Q{9FC#dB`}T)z7aGE8cCg9 z-T?p6UUD!2b@*0gaxMqv>Vv1lAY`{W6%C&RJh*MguC?x}RGh3L;I$khd;?`9WGGZh zxKG5GfEnoHcfva<0+XAhaG9K`fS16nb}!`Nt_HU5U+!p2DAEjnnoJu;1NbpU3~nLl zdc=G!lTIkIg=gW8$x2q$8JM?1Ry&TZQ}09fa;i0-NUIC=VV=9caUbUGEqz<5@{)cyEF3ZNRXE;NET_;kcE$M7N`_mA`jx%X?g(d9<}X`PSRT17keDq8h+Zw< zcyua}WEIi41(3_LD*zfaoC46DNtn$5q$}L5jH#q*W)v!apb9A6N^(yqnawfe78jKh zBT?}D?(Xicy1N(M-M#3lySux)ySux4u~;k?i^XEG=?8WmH?w z7dDDpf@^SxQar_>Xo0ps(c&6NaQ7C11t>1XU5XcXD=sBC6nA$k1xkU-?|>(5cpne!=j+I5^S2!Ca@SRfd+Tnt{>0(ysSYv-J%6;{*QRb zmrGasF$$ioznpF`QFTS8IInLCwJD*JqnyAzkleZUWZ<#c=$O4@)q?t_m zXzSqQb1O_#17GTHuv~BQ=eU^LCVV-S_c=kit3 z1T)lFhM0jCLo_7*?rbAuV&$oG|dC8zcDLR^lds^5c{Eud=zbBr%wT|tM?-ba`^l4IbnKzx#EqCW1map0XV{Af62pOs5vy)8sA9 z*q;UEfsv?wl~y+rLu@Tbl#YsZfESeXk%zRH&|CszPTo$Si?j_nF|Ey; zFj`MhP@n>FdT&e@K1^UILuDvSGMF4}+WYT^g+a4NxVTq0gXoB)i4gJDkEYNT@9?0P z`xgCc^hgs-uezS(P=b&35uY5R83gXEvPOw<#E*oQDT4>~^&DvHNu%Jy$ys}^gI!JcjD(B`!;mE9+kjb=Y(zCe9kI;MfIg{QyNvOG&w4Er?3 znmttgWAWlN^i!#_M)QCF7p%Cby3#8y7CAd8>UirE{H1wOLKqi zALt5y58=)_iOv_$uqASts@)QK-nKf#>%BW*wrbMxLcWzP(F^O5EfTD?(~^trB89DM z;{9s4jw1zZ^TPED_4quTf?I07{MZRy!Rzc@=TTe!0@h_T=09gFI2%f`|D=U`b1WhM z)4?TTRL`H1n`ZSr$;%bCx4YJ;9)enTHPw$a;}h)O2cWpdNELXiB765hv#3y8M#Zlv z>&1ax^=j@_6f54j>=|H&81){8G!6H|Lf8(G^n%+rxNgv-+9hjqwO9NXH#1`VEU()d{BC)J*_87q&BvK<^?}n< z;8!JDOe@^r${1u?F`4jg;G5DZg&F(y?^f3$M%EE?G9;G#Q3Uzq2m-w_z5i#xm*>qVUDg!M>TL;Izjq zxWPNF2WPSL!635wi@7L{dz#}<>!9uF09?(*Dm2S2Zm`56CSJ%WbP;Unmh6z@K04MG zZ8CDu157{v3dgOmmdEAXev@CCekPyn&;O8|d9+6?u@_|@<#Hr^^M$=@E$|QyS!dO< z50zl#W#RcCIo6%R1#@VqAG;@^q7t*QsG|Y5;TH*PBesX@z-srR5`uXKG<{0k> z|D@u&uY=>&{jSd&kLm$>*0U|LUcZRm>+b>UkI^_h+MpKw2_o(|x#f}v`7-Hv!dP;M zWw!UlbCyTiZail4<971rX4Kay^f}Ey?f426SQ(z5Zw7YXkk# zrC3=ntw}gl<2rf`6*8=25!64($-DmHk@4f#ny@HQ-za;>2g^BhK%Mk z8T}zC$rFZ}OTe+}q3`*O_ndcvP!x?87W-8Ut1LJ!#25!Fd$rR@$FfTRjdnMr25F=E2&9}1o$nnMx4P@4<$O4=Ycq3SoH+eF&Lrxv_IK+ze zdk%iWo2X`iJK)fESWt)@q9ay+Mf0`L`2_(-VrsxRd8nQ`yC)gDpaiLTTO0w6AuJ|> zM^u(-TBYX+z))>rv8&)Ei>1b$y1`oQ9KbCMwi)H~4vhYiM!JB|=NAx2Eb!{actMEI z-ryYSIMRcMM{n@O70Q0o*MnkGGcNhQqZ$r)(FoNx;#CQZ$V($LqGaZWScYQs$q_Ek zXNjpiGs~IVgTr5&igrZ=f{RlD)BFM!STw^uAZX1fE9A$y%u8XI3M(&bS6@IHkRG5k zWbrDv@Sz9$`+TaHtZ`}}DGgZkB{z^UvRlRA3}9LK!||+{A~~RNBdMUCgV6%Qc|#(9R&enqz(J`CrrNj8Z#)GvpEI3FmjvU zm_JamD2?oq;&s=+Hge-Q2$)#|=kNXMyn&)`KUPR>>Wof93LdPb*fs03WY0JaLWS0d z%A0#{pb85kY2ysyf`}8-xZ406as8I;{ZB#Ii+cQETx)YQ7GdaR0&i*%ZDJbP4Zze4 z@;om$LBKJ+)D4+xXEZTk7)dOjcK}^tn*0)gl;6UYUDu(TYF96n2@JR2ziEI9NT)Fe1Q zCoiE+Ww;*8q=NW908dc`uPOv+UGZ0dgTF`Mm#}|&;h_nxjqZ1EKf8JP##)%(i*{)} znRX2QCvhfr>cP8TCV7zu_B7~kvx2{HtwK`^2;R_UhN>Pj?c!omr^hcDn8_%q z9_L2d+w>wmR^)K;#6NY6`YF0u+&HDDBj-lK0aW7-ftz2~(Lm1Vr3 zK%at>A`wzXQzApP@A0JQiH+imyZL@K$&C=B+*+)fYPiCs$Y-L!(7BbqcSiU~%Y;!9N$U z-d7+nEWnxIMEFkSstjSf-C6gqsG`K1Q;dO$?`-zp`Kw)=bCUR1LwBmiDF|*B+f0|t zQggoPF4jcVA!!FiPn`J7cTq)s+^0_01t65P3 zpy!(c&J}53cy5&LNPq^GyteR6mOvvAAU0Br)*~{}`j++s3KlE{Uuk=-%OGr}Jzh1- zH{)1E=xJwE*YB&ku^*;KFY~E1OF~UGX5sZ>Ip4>XYU|MsYN_6%&g%Z-YtD`8R}9A= z-YNAUU&F8Eq>v2pDl2~WdNSf;FF7w^&E%8>fq~KA`}~Cy|MmIXf#qW`{o>pqf2pK7 z&0FsSv?N*L-14yFmzqshl-5-~;R=gRZ%N!@3Z7eMXcxLO1ggC5eQGfa06G=ETTzl8CS>^ zRaye;7Ph#fWkX_gMrFgqgf2}IrjOtNRY{H#(I-XHl7K_3J07rxK}ql{l(dT%N7Cgu z0!#t5*Es@b1Y@))fJxx%uiIY2v;*NNxWbTQ$}H^%b_xaekB=b8N9A*{o91y1jd6r> z7<~0C|C^S>UwE0{2s2Q;jUZvx?LCWlis$GiE{+D9KbT95}-c&gcUQ_;TI)}yu zw9_0Mtij_S8DayUx2U0R^C+clKN1jQ%WzR%T5~Ev^}!XS>I=^t(BBXQPxTgvcI~1l z_cm<{wn5*##F^Livj@0*QN&)#_Pdbwf-zicmH*^aq6JN&VBe#cG49SPawoT`>g;TA z0xW6Bi%)HldUYzH+J>5(2KoY!5=|z?sk#}6)Kja$BVzfLt}&9fs0VOW4kJH>!uJ%@ zYj?1rJmVGOTYqcJ0`lHB1Y>a-bUHSe{|hDL#vDY__9F<4{7f2qd@GC?R}+XW-1e|m zpO8DX&e%>Sf#BO%)UCYet`ck5F&V{J7yhD4#VPOT@tCM@5z8_r5%pzL3Y4KBP=&@u zCceJUB!YNvnAgOw|DAjG5;u??KIi4y>y=olbq&o)xqrF59_l_I6xf=EYh#SlHA2&b z(@$_2f=ShU>xq$OzH2~IV8 zV6<(VMZGz}qya9V^MTfz4f#t&{tbatZve*XdKq-8Y@8anSX$VxVTE3ln<#|wX+D8A zEXQZfU3x=ZXETRro;g_hvbszJd3n+hnUl!QAp_w7y_f4~dHG2`DQK|@TD|p7A}mja zC@BBlC+f1FpyansKX%*iyRyG zYuv@OtUn0U#}z#no5A<#B0V*tC3;7eNoGJp(hD&onEtznxex*!@&Vc^syZUugI z90-{A!)mbEz=lIpxSiJ7v9b$S8-C&0z#3aAvCfs=?MDBa7g{kdPk2icanqXI4N{H}90T#r z(U`jc8)|9E^Qf;Uav)Bq?8aa6ddT0Xjwy<0Z|yrR;KAhh(%d8ZJ02BVQ;qY6Md-HgS?!0NRx=cGCH4ynW|tdX@)B)zrmkb&msJ1E4NzyPaqMf`Z;5tXh zDcg9IN{bAEQpvTT(05n(4&0YD^R5vZvLD5mMBxfVzjE-Kln&B5ECHWN8n>v3GdOPU z_G0JbAXMoR7$KCF=kF<~cY8$%ryZ=3DTfR{dNwUxQ#@G2NW9KxsG7&u_4S4VvJKpJ zjR3XvuY)g}o!3KIxI<@G4dVFR&;bp7?E!~RX(nrTmzb*l&fT4z6vypR1J_90KQ)QP=dW=zG}LB z+l>nvMzw;*IGTt4;7GpM_?xF`<_ZZ~gD*&p#n`F}84y4v0BVC#h#@a9i_{)Vnu zd&3)E+`z3FDwRZe-do@vzBYY*F})HJqwyV~y`j^*Ak)#54IvP0bk zyv*o1M0VFa)o^l7`qPP2Ci1MKx5O46w(7_ETW9jrT2Q!!6*S&rW-hBIoqQ~L4gZ3| z170Y9HRNxsF6mu5S$(=&@{=ZIjh@zl;3#XOLSSMI2e!p{(N#9je+DXHD6HMpgqD5} zO`OiGMxu5&7}vsHdX}7guekam+P-17bgyq}ag~UYHSFLoKXT%0ei00Qg+0>3U)Ls@ zjlg;G%b+{j7=v}}akwS8k{jk4!n18jeXc)j*kt~6O>we~7^k#|G7OFooGtMIHgugc@)=9{A;uCp&hXh&LVe zZ~QLGuX>&ziKsKa_JELjBdjN3o5Itp2a^Z(%e5COP9Nh&yUc?ZPB_t4;U;rRZyEmX zcie`(Rw4e0TJJnr#A#r#n`GVYN7dJfKf+4!qi5Tv7gEtwb{y$mjvgZ;s#>=iC9l!fr|C z=B3jrc=dq1$MIuSJ-tJzV0K5QiaOAe6u`=Olr_o#=McX8+QM98FwIh*va5C6sM|<= z#*H2S7ovI$tji3iOuo)x!gXgVxrvG%MSN2Ob6)BPv#m;sRgk3{Wsmr{-eimVj0b!445IoGtV=?f?2-94 z!2`AA9vO|q{FV*Xbk@i55OyQCFfaW9!c(9m;btKpgfm3-OOWQk3k5Ad#}bu;VHnHt zZ0~?1??g2I%$dY1fIr0L}itTDDJ;w)I=j!tU`LIku3Ot&N*QVK{{bMYWgN zWABS7fr(x(i{JL0WQG&4kb~*9FIqHQOiDy6wJ~nc`Tdo+1IuNY?fan+(j&Cg}LHn571eZy|;t4HN2vq zL2saaUld&}aV^sTg2MNQekns(X4` z!9PO^ja>WR#R}sTkoQ-R{^9)P`BS!rhNr@c{%5C}xY6QNKXLvf{+fH0;C3HR0ufE= zcq5-E7GKG2u}ga4nUM*p4bq9gKqV`bx{vIvGEk#?V814BVR?+w#2etKSY4`eFRvMAfj(r2e zQVe`V!7g@zGy9_*K|EQQkoTS4@*Uz4w-EQ7yd+bj9`WX5`Mc~ zms7_WloDKb(=M{bYws}7mGVZ+!IQL8s+$y^=p>l|q%wyC4%*;ZJlB^hT|Myz37Ie3 z+d;F`_Q(0R+Ob7pd*FY6)Z;Dr{LH@O&ZwOP4KW$3d+Fiu8KF`N3Zr3TB*TL&s3v)o z`&;Vs1o(YVO8p)v`zq*qe*&T=E$Ej(h=zlxF0*H^&A@} z-Hgg9)F@rsgi?YEGDVb z>iwx`R&&yjzf*lRjx80OOddmkgob%3Ek7K=+w4F8b}pg@y!_33SWrV{MO0&yHlIR~ zk@U59dDU^;Ks!^zSZ40?dJ^g9>W`*rdOsSOG{&h8o>%Zl+tkZhqV#k#l)EM+cY{tg zv8F8w$v#%_t*LW7b6JJbMn}o77zt?pq`8W^@MT!etK5UdNK??m8!=a^RF`sW>PSbH zE=||`7!(?N0{OvgR1~daUsgr1tFX16J}$O#H-0w$*;cYEfc%|?){0>Le1xT4GnXEx zxg&^P*+zs`zy0m*#i18$=I^jX%A&Fc*gYP=CZoo89{bn$%3g1d`2zoQ?^ISd26taq zr@XpTX6PS-nhWt(cwqjrhKiw{Odrh3PN=XWWb}f>4jWXP{sLwupL6Gn+CyoDRB;Ru zt`1|yf5Yf($-ds=jD5o#Fe_3RM=W|AAv1Fiyx0pOw&e$>rx4E*Ms&^mRw?TZLIsxb z`wUQ8Vx+$z)&tYLIznC?BRFs{1+bkaI9Vo)G%@}>NpWw&t(jhRK*~OE_!z1@ymjkB z?;@VZ*7%8%{zA#CfPPDD_lirN>zVE@UO-gO)@Ftahdzrq9R&Igpd^Y&a4Y;`{A-Ob z-wS0Xzge6UdbmyT)47VqymKJ%9q(^36s0{!8x%Vf2b8k^CEJ>k=PQNIb80AQeHP>5 z%HU;Xg)H~Hnyf!F^0XN_57p4PT|_5GOb%GSfO|BC-Ja9DQOpWk-aZ!x*D zvO-s~PoVA2$k&SQGa1;v|E%&~&=$KaV!N#Te~teCvct@;y7E*l&v9M&f5F}VQu%YU z{|DWF2z4UM47khQ{7?KZYbYtR)%ZVmvljnJ`2XoY!~4I}|E~XYfnevNCFU zre^_18-t6vB`)qiqZIK05pP&^bXLOT{-=bat)Qtx9{Qib|IC$@ou0m-boKJ`y2+>f zFLJHN-CFiPME|Gye_;Oa{{PedA2O`jJoW#aT+#8G)tS{1LcmL|_8AK3l^KPYnPn3S z(MeH)%owSFSV6(LTSCO5XgC;h0gO1PL5$k;Ot?g77~Le?X+32JnBZzg9XAC8Hu=~J z4mRiyZG>=m`Ami)Hx{u=(lqvYt@4HHrlW9q1-x`9Bci$?3^pEy+q;KP`ReV7l5-61 zBK>zEiX16+$v>QEoet2!+cvhX>y4KKUOyoJuJq$|nfa5xspl~No7gbzFbEP@Cyu?V zu1*)*J?Lfa#~REjj=IrRw+XO#X=^h2O}1WjbyVHKS5PZiEezE=#RAWeva;PMnhVFt zf(+hPOU8}s@%e`h%aMlP8sf;fQtBu;PJI$em-pc-sMg_#N|B*P`lFInNCBiaBd*Ah zG@yVY1M(MlBARL6GB$ar;MII{tT?~#gG@yByC~&FH<0qOMJ%TG>pIYaE$IixToqg^ z))M&wHC)G?s)+{|MJfvEyI9!^_dkn}%?9|urrlu39DU@RAcd&}g~^g$`!BuE3pMA9 zkc-*@G_CB9V0Wp_N}t}O_cvUBJf>`r*bbqt@(5~$mpQMDS{1{{%xiAvPR5HgdlEn_apX%ZU0V7xbV8(2Q14sDL2rq7VXik9ihU} z<5W20m<5X9{?ZS7H%CrR8U9;;4$^lB(S@AF(~o!N^(R&=txAHEE}KAuwd29j?~3e1 zMG~Rd%de_}Q`w-<*zljYKfA2fame7~ISV}O2Dhsp@&6c_uf3^7`cSX}<=PyYCHRWR zDmNE0^yiw5Ym!Uahd}+Mgg{Mewt*;nP=vm(&|AaD#l7@u*~cb)iHdWfCVAs}6nF zLaTgl@+;|VwdTspTMuj2?FQi~9vz>Dbyv;~7dtvCj%I&-nsxgzr?#q6lHw~eC6^RF zRFa7CCGbX;vIc89ce}2^ZPK(%1&L!bueTR>MZ2Eqqja!}leW`pzJ8aIEGa_vJ2#p< zJ}wg3H&#nHAkn)E6*gxO`5RoYL1$s=dDTSlvUy25rHaLz(Gn^mcPR>oMsn+u2F!VW zKIj~(MQ^zG5K|$I`n3|inEx>@T(D=0CjLtoy66KAM$DH{@nenZzcKTm-KH!Jo#xq z3+ckmUEZS4(LYR>Fm$K0`|1(W(4^}DHs4kl?PW9T=tlu4nftfApx-3M0#$eNwsFZd z0w;Dc+I@%ie*>MSRv`B%(3M2;?@OG|llJ;{|ZNf~eOm9Yyav>CG>! z769e00fgIM&kq{2Du2$C{lXarHO1ggj-+|oHX1QXdxYRU5!*Fy?TZgcc?)AsNofU& zdBOXZ5jAN~%*!*vn(N%8WOLKv+gr&exMyIOg&!P%8E}t!ab&5hYe+ncM*ux{uC<*Nq1w6ykk|cp>#@!)-Z#E(G}hnBmakwqgMOi0tl-~*srM#U zH2I|Qq8rj+jLfP$Yz*49AzVPmtWhXxL3u*KMO8qR<>Z9RvxbK_M=>z#*Pgt5myXvK znly}aqL4j^#c?S~a`gx1Asx`*s8#tp&f+`y%(K+_UzUI4R|osE`fxM4I-0!z z{scW!f_5PN-|X}G{=Xzm86D3=PX131&x|t)1R+X{`8F#XR9uUh3!nN|O}P_M=eTSzv-ww2VK;)~r&g{9 zTs!vlE@&bmGr?b#3DvL3c^;sb9whV%*5Fa({iw)O!=iIlO!{m5xiV`r?>A(<5oTeu zY!z_8G`xf=??Ej7VNc<&jWoxl^aD|}IYp?xujmVZx($8|f*Yb>&79UN(gRBYM#r~w zKeiHvS#|CtB^pel9$F0qAK(q-lmQ78igdwOv}vBN2kWoIpjoCddrY8-y`{?}ij6GU)=z`hXY? zxj)r0!{4=G=dQ+tk7&Dk@w;F{Bdvz~FrcZw4Z^SJ&f5jeAOM9^Y z8UY{h?xH8I;JX+r`_ZnYzPUnNu%9hMmrGA+CL5;qo#aeXV%i`!rka91L2-kKo*wq` zOW2&O-K-!u*b55#1#fyBQ_ood%Lkku8)Hl2y-n`K$--HoO00z%et@y>AEF$ulTfs} zwK~h@M_CVW;+R>ZSt+RSCmT`y`PQebsST&(h0Lf&2`I%>$PaJ?CR4?R_)Ms4lPpfU z7zBS?4KN^O{I~}xCt38kh&Lo<6#iYK^S$P1Gg#=?ZsGPWbo7t>D3G6qLpco`ZK!%G6aX5+@zggJ_>l&j9+sKLSMeMW8<&; zS3hz!KRs7T^=%l_JE>*_E~%SMeZ~G>v`d$NLuW3zsq%x0%jTk8wZy^0!As1757U5< z`xneNLQ*AO*fpXLR5xF1cR_;8p~}e}%ePFwAF18yFB{ukBSu46JKi5Xq9?IzRp6le(TUvFFnLW0xRPsi3Tt~k7zR(t0K9Du3*PGxd z%`CS8_#tFK;dL5STf#!M0F1o%P48H|aZ34Psb|r8mSo)OXlUMK8l(6Cr?@8*9OzWQ z!>7L$xo-xBgkT43!Z)(ogJ7SiC&$s3rMPJ+l}0k&*uHTC%WbgAk!I3ht+Hh++JHxc zwH-3>9#(!-3XgT!s3l<)b-VLB8J&y3vN3!%BOCq0EOzV-%V$kvd&}AlH*pcZvREly z4roDV+#knJb*M_`Kocp3Vl-0I!ZexObN=JC*-mcmjcaH0a2NOHE4-DMZs@K0X{SC_ zO`yU_bB{KlAy+J5ip6AZYK8YrkAg`vk>@-zP2u0>F|T}foN(la<476fYA5HzQVq9m zhMArchjX_@)K|?tNeCwE0e27X4e7I5ns1x?=bQ<}`1a5o>LS_-^bd~J62vr9rd9YG zkaFplN`gjT;YGOV?cjhz=f!-LFMEgFUb~(Ye=zJ)@B_Q7X}F#IS1RP?-X1-Z2Y-%a zA4IEl7L#@o9Hy=%rfjhOWVTho6H>x}*)b}<`}8n4Ee^gLsXCH7R)pRJ7OYRQ>QPKZ zXy)n273my5?->x&4J79Yf{kuH9|cQn+?$3wylDS*9q!zhMe@a3To9X`rF6wgF<%eo-nLV7=O4NwV$AkzC9Y zbo$^K;Y!{C)<5(K;>WqAcvsGlPTaL&SBa?+rpWrw2KwXADoP9zS&?`go{QOYLhkA^wFT$0Nc86!}->itD;r=|qM-X4x|o`S*QMLWB?@j{6vxu{$+)R1Pt zuNs0=itqbHhrWj8#8bZPw3Q{_rmok0isrtoT+-y&S!ui4sh$7(r5@(WcF*iQYS=Li zJ9)XJVsw(@r6LZ>sQal5+C3KTDOYTS&j3r5u(*`2PrWKr7@rxYf$I@)&%Q!~#Tp8b z8H9&^HlZ{K{F{qgpO*bi@p(W++?_rsDMAL+HAOn}uhkE+I5)Urxk5pD=57V7FgQa<~8JFpkBuaWfBt%5%~%<|(GcrR3SH zH=cv1(QFhd4>@A_J3YVdKtu|ZzI3T?-}(g}&Z+REQTk`)m=&lL~e$;QQEUDpgChhdsM?382#-n&4upeCQq;l#4JO9Iw~b ztG@3%qWu{;qcavLjr_lH7a)yK8!S6;Te{*nAM&wL6VCr4Z z5GA!-p6BZcton+#UR)Ytz76mBRddZ)%3G+_sLoub_F=H!>O<9-`I)Z^e~wY;DMt#I zoKhJi)K3>OFI9B$jSss9LH7XC-YEB^+V;BcC!X=%^6^PS>D4HIBUy#a5#rCRi?J#<@Da*XGSrV)*l=; zloMT+V_#2ren8#wR|>eVgct`$Xb1FchP}k0+B2L&09C@?d^U zUQ8+ZJlwW(Mcl>!0TTxLxO2;9@!!_(3bSxA-T7UigQuPsHI5bvXC(`vzEjH zawhfD%dbOS=yu6G@VZ>urtNH@ig#6&FUOi2mhV-GS@9^wuY_N9>$WJoZ1O3y0VSQw z+_KK4>#s*?!?A`(8&eaGjiyH&`_ zN1V)Ir3Lcw(Prl+e77rTqn~eNl0H9G*tE9h2Y9GfkastM?{7qP5b6H@mqtKiIaomc z;2T)H|KsDM&RB5Dh%>#^sYINVxO}I00n10T7+#6UP_7J2ELTs$e@qG@xK~Im zeNb(-6M7hC;5uyXH?PolT2TJFID-Tk58q*z_^V9toDtQE+NzqVrFRQb3V)NWkToH@ z4yZ=OFc4!m{fQj zL0Wm?jRNDHOa>LaC3tjNdBTx4Yt7rGw5voXODUCD&KJu^( z-Uhx`^`5cWK|h2fc*F)eV9c-WRJoTT-)o~xoJ(w>2k}G}d>gJ4{)97lIluff0B5Er zuUKt{8O~7KR{Pprky~{aMbl<1jx?$~fy0&_zA9AMfzy?beMkFU0qSy?jo!#XfNq9wa*?>K`Se zqr=^DGna`ZfANwNm$-tV6*acRNkbVdhT8<)cQ|$U->n2O*Gmj&EYl?!eGI9|;QY)r zg;XaLl!l>M=**m{n3DD3d`Ai}@h;}^dc;VFsMl&i$I6PY;rJ#cMP_nnT>f8r{SwtK)OaJ{K_4W^_~Laklju{@ zR8ulU-g;WF-u*;aRuClARmN5z3VcRL!Ma|<#*_k|%z5udnk=hdBh7W+Qv}p)qrOh< zZ+*+_oVG2{&PwCV29jOd!O)fY7|?r(hCPBWF5~I^LlA@&$KV}Gnu^Kk(U1EM_gE;pZ{nAGtqgj3@+=c)x>Rc|cA+1y2ovw>rh7H6|pGH@NI&2H& ze3HIJ_lSPldSx<^bT8{YKzjMYv;=)^0`s3dl{E9yr#B}zk&bKNp3iGT-~JV>ep1#w zW7%j=+1Bval=pdeGpySanFd(@*vu$l(}_wG(Yk0a*~b|HPd z=9&ZWS9t34=er@lfM37~r}=gtss3618~x3x{$B_!m%l^s@!|aa?`(LP8r*0_|Le`yS;5Q zX+6Te#9gOsg+(0*X939&b@2nmUtus6V|^kEKo{p`Or|5k>Xix9Bf>%tGUMk&0ivLo z@e|>opqQgXm@_K$UeKV3E(fEen`q}8k?OazgFAluz^M4?qyk=fhIPvwgSp>#hnkW7 zf;hff627f{wW!|>*mp6)$=4(e?HBGsjlo>e3{-`T z4{FKX51~d674&V2{6|gDdJ!@YsEicY#gJ&vGtAskY^rs1|3lY4+UyeW&LrG7!v;*z zSqVP>gH{GFI&5_I$m*7$RP=)h7GYM7gGheF9SRiS@znEtTkR@o;GcI7GoPx=`|CM> z)Tm+IPtXfrj>g5z{4-*zPGx(HbA&?UP<6@=oavw|2YRzuP)Y!kZ`G7qhk(nNtKqlL z{m1zZOT2!ea=k=H#31zDqcy+#~ zYANcrx%yB7EXtSr7h2tl_-s&YOSsIrP%B*%xUR3#f|$ zTR+Lo?Ev%I;|?cuS>vWqK35NY(9DZ$TL>Ht^+WZjF9kaX*{%K0H(@@}A~W|>(eH&lxZb6i zSJRqTHx(SAkD&HNbD8EK_Hc^F)ZV1j3^CuT*k^glVi0IG3qHGswW{3sk43wWts zBcO%gv6LV19@yez?do@C=QGtq18pG%oC9&G?vW|hdFYIPpk-4%MD9^zI7>ZT$5cqN zTguu1i%g$r9!7HrIFXi*JFw4xH%8AI5k46eYr2mh+DeOXG6za3f_t}u@VJDbWi<%< zuKDrLLjYW7fz0kb!21bOczxvWgp5fy0QtJD-?-K5kYbzdqp5{78yKZt0Ha7v4P|Fg*s#Mx5G-sJOvY_St+8-$5Z&84e+HpxN}Uf4JhLOl{C>)4G( zRsa(9V4`Gg1W&HZ@%2%S6FnlB>ZwMf#GjE0@M}f!nV~|YulV>1gZiQD1x9)Z;;kq| z-9#wW782&4hs`(uEt?MF7xjd(5B8v0+mFq31N7q{nJ$-<3C@tzx05{F0e#lH)Ou!U z&m#pk+Q+22ho=SknB(v$g7abKxDr^|O8BRFI%h?5fwOmZgoB5oe`S_SYaTwu)m z4?qe>Kv?UVA~X=<4t3?`l!3Sv(VGmR(cU9TKQrONMM6Pe9nDeM6~VelIZ~M@*y~vFW}2$RFb}RQ1}IsqjLhlKLAEt z1;L59J;4RNJtXe-NV1LR;S$KcxCfLv3#1P3Q+|}~6Lov5XNErT`bx}XA2qxqt*o9O zNLK((XsSk`2?l%olcQLtf@N<2l;`KoxZixsGTck+nQICQ$k762y&qFQV0sI1La$Y1; zDo$8fD*93+n?sz7dQ6AlC{ckaw=N8_#ohO;l$WwG|K`V?sQ{SjHJLSoloc|NOjOPP zre2s7(_lX!yase=NEP(_@Z~jDc`-!8U*Y7Jd(8^@Sa~FyT%Rhok$@4 zZiCVnwa>fA)qp5?&=Klwq!$(2`yG_M zLwUb^-BayGX^bvQ#pP}1CPPgA1!1al2q~-$>WxP6BMg->LFM(m!1TQMOvLj!JD00y zZ{GN@%X;S#C<>41F=7SqEUvI^bEObCvCpocky>&!zk=y)!yJ1N%$y&j2UY_Zy*1^P zXjV(S!THxgaA1UTjMu*07UqV%;7@%J-$HB1{{@^tW4}Y5LAe%s6w3y6UKp4uIE8O_ z8SmR}EB6~!|9%&F;7ZmBa+xh{Tl|AM7sTuh#I^Ww%zLPcXldST-rLHNzJ@(#M#=Y< z*>aTVDR7|FKKmZ*%06Z`F^jTfhwLyxMaf+cB-aT-`8M5z7h!+4*S3@MV)fQlg>4Yp z6Wh~S#A56Ex!rlk;@pk4#{$RkAJ~_5h9rr1Csf?~r%37hH!p5c)mAWEYWmuZT_JlN zsnv-2WbLPyAx?_`{NYER8wAzul7Jm}>Y&b1at*_x)`UTwJEop!ZxCj!=yPh>sFHnr z?oqrT3j-TwGAVx}7N;$neX@*g10uBElR6R^)VT;78Z*dK`-3|3+l-0K`0P*K8!Gyt z0c(l0czOrNEJVE>B(zkgzWeSdn}9!Uyp3-65s}@o=QA5^x!Zk2@{S|C-)M8X-B+$g zQBK;9LEhMi!rkt_F75~kKpUy6+x>%f=E3K0pkLkYXQF@H@%VVb1~y)vI9|5&!pkWJ zzVObacR2K%jpe!9{Y>JHLKxo|`P}ZG6J~^Zc0go+jc6BxI=eA@+!nb!ZfimWFz>kj zFdOX`gE}wzyWMxE?Xd9B8|yCyb&hnn-G5hSo_+p?_=`cENklX2&IKmYk_x3a3v{Iq zIi!HMy{~`rWnKn#cH7H~>{?^bMphzo$c%}-F~~BF60EVGe|lNlfh zEPOp@VC98W=M05!;p#erH7<<$nn_IytUfao|3ZJ(V@4fZ=ylGRaTmJoGakjltKZDj zu%PNYBl{OpJu?`ig{||9$+qz7YKAo}jQY)NN^j3>w$SYt4vYCOQ{(bCw50h~t_A$B zsj~St+VcD>SEc;d)Y^P|S_%Hes{+0kstx`PtqA_&)zKiJL&xp@M0~9HR(eA>aDnZ4 zpjdyf-i)nn9tKD^!~cAF+Dz@7d|Tt3-SE3vUBul}`Fk^CX8B~Hi-7feIS#p0ZHr4;dCeA6qh7WTvojLKc4Jtv6)%r;9 zk571J^(D&t81aX88x-?(hY#=5(9dr;$~M}&l={qU9Xr&VY(=t*4^=ruPdpp4z}!1k zj`gO)U9^=;6sfFS62`r|2>SQF89LhCQ*^T1K(k=UA%b)D_`}M$rv~!gqs^&K$%20Y z)q7%rCkTVX`WBa%CuoP)J0ol?d#jv8pZ_${v45_8$SqEEWr~cy5bG#l*IQ%bOf12I}IF=`aDLcM`#A$v3y`ZxUyrUh0)!!rvQ+T{~Cg{lhV0GAb}YS~ga)c3Gk z-q%FkR$ra>Ok(%1eMh@xkp0G9$gDLJz;_IWt0+onx3I`Hq>$Pz7wh@-aiV`&HXWhF zGfDR}{@e#eCW8jr9KvA*>M9g-G54NrwWWgm2d{!mn-(vAcr+Vp4fLjSBHik%J{uSi zJf<@W+b?cEY-WHAHhmS9m%)L3#cbod&bI07+fskCKgwjHbVxE3=6{bQ7U7)zy@C7s zWLVAVe2X(FmA{QVr54(nCb_O#cZo))Z-Vb!E822j*U~ri0ypVW-}J)7oGtD63Q_5LIJ%o_0^eX zg_$joUlOM`8XV>SnVO($%m8-=p&pve= zG|-`;ZfBD7=d|0myAyvbY4|DG;SLa`?hTDj?0#(`QzDh|QL)HMO3T5Y94!FW4X`sw zU$!+{V1>kp)~g(H#M2aXV`d6BH`S)53T)L9I9LRm8sfZZbR740Qw{DM&TH1rm{>*d zD3P!0<^_#jL{R4+@K^%_|Cajpe~!;8>{(mavSbep{;54y)fInoilzC7TU~HExvC8f5%bD}wE{)BaSiDH*Jxm%a?PMFz zqUG?N83~a^FpGaROD_uZKZctL$os@lvt<4-4Vs-d$v?g>%JUBmjn_==7ev}_x?0}aO#`M8Z1D4&+z`jsMm}} zVBzaH1HvyPVG5xC7&L;J*xJJWKn;`?&(vgdA>#=BUgLj&t&z5TYP8=uty@CGD;aO( zVgVy6i3$!^gvS5AGqb^rffL|bmO^hKYz*@|gzMzY@Z*BoSga(DbLBX#Wn_o&@si%` zsI0MPH(DW)(8Rzc5&1ec2zCJVI z@B*%XhWuZ+dd^^+3!{!RSl&X{k~1DL(}W!~V7g6pe^g|&g*JH7`A>OVh2L5OCvAV5MuK{PZ7pZ(BMB3U|wav>e( zL9~CNAR=9lkN@|Pg$?owuTuT3nVA0nHGrA+_;r2#9bp3G7L=dOplCrUO{NP%MDrmM z8sa{)t_$+vX$s{NL?pz6=w?CwKO}8A8*az{@1Ww#(Es}T{r{6At<$+@`~JRl&zD2R z9fonhL>%f?LLgpwZ%^C)8l~PJdd^^Tf8&31*RE%WfBzr4-VU#B+jYo3V0^wkW>?+G zcB+-+Z|`yR+_fvZrvLxiJLnkg@0zyj>FaS8J^x?ip`P!Lh5CQ7$9DCYO&90pIn`IG z{`yF=CVf2)`;f^W2!Z< zYVw!#sk_t~qn*|D_k__khJPH5$z;2dX!~=aPAcB}{}2dGqn4>~XHg)U!`v{bdB3)7 z%h_;3av(u-bOev^s>Wlxj$K7LI>zd5WkKBp zgxaB$ja)flyOx=!Y)Ccg2_x@p0+%Ga*6*hhQV-$8(8$9fZWQ; zIzoylgO+6ovBfg@e`5g!T^VcvM}?QU>K1Ip48^$V@>9D=?UopRR#sM)jre~e5FnqF zbR;S1bV|Y%Nm@cGgRg(JYQb{J>I%kx3;|1gy%R#w&x!T;9*iHH+i2GO<0u0wk377=R{_))yknc{)blGRlW2nfh%$?D3; z%IeCfW{D4@nk7DdR6%9`{(pZREF{?fA=Zy5-u-1Z|NjIpe!KGTJ05>;JNk5c`tV;= z|3fSvS2$t**EssWJq0Jc{(mTAyKZP1v(yb~QuVlX(bG-aU;RFKhS_&7?=*0tNC9wi za0D=O1jvbD{>H6)dy%5loSZ0GN2i944!TCoHgsy-s#K|ABZ|IZW5<8SjWep=xv}Hx zai?+bY?9=e1Ju0N<3wlzWK})#WMaXg9(gidt{S#wnK$RCX2%euFbYGqP=$a2WeJnC&kBI3l-JsT%S$FxD(pm*j0%#j>v z*qp=MLGGY?%%u5){6T;B%-cmTvHyRDt#eE)+jmSRS+?Ic5Fo3MBxf>nznzD6^_G(} z`{}7bKS4i0Jvj&{h$Mr^-aMm6?@v3s^0?zhn1}NB*0br=LFT>5A$dqzQ7vFY z@p1ukJGVyiZbcg5xU)X@#kF;f-216~STX#=&A6oaVGRFp=Kp`kn4##JEzu>mT-DWb z!Ew93zPIn%b%^ZR?ri4ZxO7at!mg1qZu^?@mxx=xki--s89tD8;*J1AsZR zRn>eLKAEQG!JKKtDeV)IypVnK?^<81$Lo?!jgJOECHfw(OE6ye>Hszx?+tU3tf_yv z@9!_B>bbG+cu#-HG;QS0s%qcKG1T|=JvVK+(-@;Y3aV*-GRxQxKcSn7*aYyTo>9YH zMPvS=d()8P_tUnsP%#)?VGecjVBVV%gJf6T`9VOx^F_sA(EL9Qj@Nv4LHR=WL%E2rW~8%%3`lrl~@vP)&bC7pX!_A$5%|Rgn~F*BoQY zkTUelOk=_zVbB50HRcU@L(7<5GfW)Pg+u4eH#7SN3vb_8sS;-1q;lo!z>j?#wKog894q z|CbHgTta_CVQXxSN5K#OTeT)ij95HdH2;D!_){+V|CofV%sN)O3F{_mCR{bBy*VGX~C@i_sqCz75n& zN=X0zig7@GfCLiBeuRF8hG;)B8jz6C*hBO~B>N$n&16F{nJgy5EjcwI8GC|$hGs#s zprD~4SrDNi8BG?G(N$bk=y0UFKv9=$N=`{R8&i`K4uRa$5IS72A<~|5^+{Dl(t+Nt z?CF17Rk*+Hx?A4`fK(^EQgN5n$;KjB%DO7tUo}4A-s7*Xzw6XF<-T3Yjdhg!cJ1o( z@!r|tpOUc%*19V#CWG4^x9bT{xhYrSv$MN)g_D+u6j6H0*_MXD#v&MOEQ0l3R|o7Y z%cW*9%5`VorR#h4_ZM@i_lM@1fblBD(cga?v+>V8W4m@uxeCXCob|zL+F_RK#v<6+ zV^*F0Jr;wFJxpd}&ur|ODH)4kugkhlA;}|DQ39pf2wJUtJ#f{iJPw%`vr0s`2Z#B+Prg&hnPi9p$?B2cJ`}x>c79 zx!3sZKKJ#VuTmT^5SRJUwHo9{>OATQxkKa+htV zTwK)N0H_;2V^@6`bO7_NUE{bvolbvEOaK3(sm+-gh{!S=b;8{Tj5`a(*_BK28nbm# zDN;@-H|liJw)Z%z`~R=0e{j6={{LkoQ}wi6&vWOp{~x-({+{jXnt`u-wo)Hbn8n&K# zyDo(ggylFSN1W35|1bIf4fp=pGt6*gn>bsp*)z~Uw6|$)b8i}C+opluCUBd)EjR5d z^k%ZR8AZBHd1uR4{)&#BMGa2KY&jb)4EfeaIAoWY-X)YQE$X2vCXWGX8R#7Yv6vqD2QjMU1diHqoMk8W$NfFq6q*+b0VsN$?b* z6om^BNKv5{1`3q&w7~Qs0!x;v(}E$jFi;%WrAab^ctUk$cX^?O1qk*_rmA6BBXgE7 zgbA(Ge!z+e!ym9>${T+GbYbNOteEnJFku)*F=ETvaOGF<|6y#Cq6MZcXTz1j{}Ks} zQ3(VDRONsvYEm@#)o6^K)N&v}BgD$;O6LD_Gcu56Zj6M#=h@}sB!@|kY$Ur&xJP-5 zZOb5YaUx@3A!A+HS~!?_Q>De8ocaHcWed-dccRvt=g1Zjz}kOd+cp;=WYK^h_x^!| zcGWp2www*e<%Nv1yU?Q0B7?jIXKRUqC4|h|TVBXqcGz9UA5G?QIkLCVv`~?^gj+P= zsgR`Uglx*H7b{FviOFQs|3^n}1BN-lts_md5|C$nu(|N|0aavq_n_$}Gzc;m9tbwi z77h4$$^YlrayEb5{H2QK@=`@}c@djz9!_L>)A$mCNkvYg+Hy9WDua=alxnh+K-6R@ zm1?pW!BB;V{|`&0nk?l9e1#pBLD>Hdga2C;68<^R0c0bih9Je*ap3>MTUPLK2jK7l zN)`W4LiztC&9~B3_EGL5i-1|k z?re~-U#Hf#iau#*CxtG;QN^ksuTe)}R{wvC3eFcJ<Z`T>>e{tklbj{g*C_0nT+hysfV3X%{E=f%Eh-6&$FSl;{xa7(| z^c%fMoNnQZDOs#hpEGpD<^HgIIK&y+SvGZ7D{tAIXM`=2hqtr- ze%i%#LNv>k5gCVSllUR{*l|nzvOB*pf7hVSe4&CoFxa3|J+>JoyQC5qKD#pzj`$Y} zU|q9|Xw;QV8%?2x+%~Ep%>SriKldFiSOne3P!)g56J<(Yx&m?9y)ebnbgX|^kFYtl z{vron@eYW$p&f`0O{F1LA84J?NKH*^-*vMSMM}Qs_Jxutbu{LL`9+bzvYZVYqiQo+ zahm_W!l|Z_kH##|Np8p_Ihv@Hijw#QA5qq59Bhs7``LkJNRwy3A|}<@E4;(i-8FP!!t ziEIuU0sT6YPvGDS&aDs+Qhl8s?)mi9Z^L=0Bc~{%czv>hJ8J_fe6xQm`!>~n*s9@(*6@bo!U?FLBdnYe2J zedhGgutR(nF`m@#Ys7zcH^>v>wu8P)j4*LtmE-E(arKtK5JvmG?RccviAZ1(i8nUX z2`YKX0FHx#avN5HWDV$~Tf*h}Xy;T%qaCJ|4)b%AC?{ChR)$~WJ8~Ys z9*;niV1k<)r&QxR(s%;VV>xZjhZ?>{oE(f=-XBFnlj@PEiV76$_fHFUxjH$av-`+9 z#_UzfuHoP*6Ptft7Y^iQ+dhZJq`F61@#FuifdN;UxW85?;G@+$pQvJbEcEfE{L#$_99b9apO)w0zdxc*?`^S_IB?`&cw~WBi=Uto@a*X8X)I(!QaR8RTzDU ztcy6!ulG99ZIWE4I;6?Fxj_==2^PwenVBWxoQ0{iw*-H)0dEMWxU|$Pkyf9R1Ovq? zJ_>l{^^0E;0g(2CR!vEGsje=3#ihun)(DH}+!~^}NKsG%nx;WLFCpnzdcP;)w6<-8ZzeP43`wl6KpbA3mfd>Ws23zT^WS zZb_=H;xB(=@6{~C(2qS?Q&H|kH8?~91#^ZFZD3F+m|-j|!vULlx5l~GGJ3#doJVc@ z{6$>`#brNa@5`oD)O0yOxif%oWG4}hlh?Mk@w0y*{=K!MySqzyMD>Dx;I^sOV+Aj&X4`{dga!>%(JOWnpuEAM0KuC3<-1g9Hl4%na zf7XBAr=*ZrfbPKkfm_k=K62pgdKQ)53X{J*uG`^B>-XWk0GBpKJq#YU@dg$>a>a*K zaUUOV;3jDUc5t=6Z2Y*IEh$Fi2lKjKoH}y7D1T0;1dZY+k{SKdRXx`ivE&8jCkfmp zU4^@Cb0=tosH8>7J6H9dy@Ve!tH53ZT$q2EI7$28&4f;JLO9U_hZA6n5~mJ^L?AmpDRQ#vH%>G7VlO+Ng6Fq!o= z8|7~;d)$6I8-aWVKI4jcS!OILt#N-R>l2UrJoO7)h+#MJCnMwVSi`jQci)kPY-JD6 z{#YDm2jk3LUhZ(P2uvrEy-Ie+VH2T!-LhT2Uiz8+!_4IoYzf?77xLPw|B4v(T8-Z^ z*?ya#?FIolj?s0+JkkZR(szn6AHF|};X_srb?`TT#)-j#lV z1V>_dqw4T_(y?zZQ)kB*J^@tUmyE%=q}y%(MB>M^EEf9n+$*LFb|yQOhs~{ zlCO7X^d~;{efD@=(ylC7@HwjXs93e7%5^1hFZoMW#geIU;CO^ z1Dn=GVpM;_lkH8w*uZSO+P>RCr8 z^w3_};8upcE?gY%qhL4sy@3%B|K3fmFd#G*bBIR9NJn7>qwU-G5Ozy_4S)7mb^NfE{( zmmus$Mf4#5B4sVR3jGebls_}LhkBwL@xpeJYqDLRSH7`65BoRMc3-bY40G~rYuH2! zR<3)x#gAv!nOUnndKSrJq;VbI1|<`Q`shx)@SS8&yzBeKG4y{;X}_a6$v*kN@8h1$ zZ9HJJ=BMFuN|QD1v7yGD?uNOq~{W-CV%epp^sgjfEYK11#F(k?Un`G z-<`5+oEZ}%2uFVwZaPrn{>V+cG0^Uk4Zp9N522q=_LHTtqDqp=JXRoai0vwZ#>RrrWxHw3$%;PEKM%ZP+n;5eN;5z>%hgTYL6d*q;$EPN_vkf7&tsQ#sNLwx zZ5A!Yy))n#VWzIfbR$;UPGTpi@AJeL{eqi3UfW*65I44y(jO@b9ISJj*)Zd$*U7ET z^}zz3rsKh5b)Nw5<9$T=qT+B{ zxZl7+ecyje^$e#P?Dk{|ZBS}d*)_Ha7=2)LhJJ?PpC(6L3Y*P-sbj;VorC?7;f<4* z0T@CLip@ehPV~CmN|aY2dsa4<~K9qtw*6+^b9UMksR}+FYK8c zqq};myJ3qIGWv98I~Oe&FIU_#Y)$ANFGNV}B9&kGM^fE(*?ptA4=!RFv`!4&8RYDVvEETQp@mFK=Mezl5{SZGHKb9) z>BmQ?%^ecWH@jh*$iVbCC$b05nXGXncEf*YC6jV=)ELSVffT#nUY!IDS>zJ2%9(-Br}M9xduMQ>UfZ}3-{ zcbfY=PShJ!YQ**1=O<3x58hZ``i6xIi}mOEMY(bf`v8|B|y1WP}-px?^ydtou~%!$M_Hwxi)`CmS;eqTCyh?&KU*4PGWH zy$A2;d`(t^m+n3>Q@$!u%XVW;6W@PGtzxwdspp-BqZMwG#4~L>NWIB$Ddbr7nF*gb z_R38gxdyu9m!ByJzZTditafuf&&1_kx`_IX>4pXb!=Es=k4xNhc4MZ*EPNwpxr_*~ ziRNOogAv(l$1zieuK{+b9d>#@fffCuLna(kh%^Eddgz_^~37l*(O-I(I|U5feW znd`6!H?@JUk;;x));Nej_5OcID0+1|I1BEcl6+t%XLUk#@-9K*l3Jz00XBsHj|9O0 zF#j+a$@H#$7UEwL1QW$GoZ7?#Z%T8f)Y@S05VWO(c^OvET3L5b#_W;*0czHKAX>}b z0>Wtzw76@ z6gwv;1>4>t502DIO@^z_A~9I%3$4i1=BQckEc@9?$@m~MK}LN{}1JlfYQf4u$yD77#B zpv-#(07P~Gx?5lrKR|z~O$XtE;XKZQd+IvYBL>j;*hK~{Tm}J%jV6%2qEi4s?!6`= zE8~Lb69T6q&`=L{k1s5*!;n;FDQ4R(Q!D{F0XG5b-bNPV^VHf6Xw7YUcS>(bU&5Gn zrf)ZCuK!`J?e4eCy#Q=hRsvKM*MBm8TxqJq?a5h~q}FYDr~-eaki5CJyf6+(A$fBb zh0batNZV*M`u3zj;M|QR=FyY2eLSC78$SV`C#0ry)%2{JZB>3Dt=++7RL=i zR&ONJ6<-K+)-rYSr5-+_&RTWk0 zMB)#ImS1<*?w3wOBRB63)#VODE5wtii7D~jcAnRxH|Bq{`+OU>TR7eR!Ex?>pBxZZ zwr>Ib-Q)8z$f|pJrvzy!#WAxZT8v(?%Ek@4=O16~%V?$cE<)KHaLxwOu^uz~Bw$=OM z*`|%Dx_f^)_xJi6L@9i6Uf2ytq@8@Is-p6vjtyArHoI);urKGl7RSw8)Wn5mWLj6n zBF1J}_gTH!uc^Abd8b+?H_&5o$B^P*M?N`Nv}9FX*9@f=gi-?{X&9;l$PvC+W#FLY z7JlM-cEu#k@)MO=^2@q*E&uA*LnkPIqa6|+bZ39z-5HjzkMDNC^gWrbLH3bim5zHq(5eTD3$!;5y^x7rc5 z+mi6zN7C+oF$Mrby!I^Kex%*g?i8i8v7vt%nO2VndQ3Ylt!+ALZ#2~fx@5^Od#Q@^ zK#yFlmmg|OY}m}iVgkTsdMY5QysS8OM7i2Cc$i{UNJix>HcdwjP83oIUZH$O#Dg6* zDBWc@=_#N3ga=Q_ffkQjt()Nw*Wn(rL>yh;wRY_;)(aQ;Bl>ZYz2uu{DgOjR*?xcF zdYxKR(Ta2$?t)e(X6B-fl9%>Mz20l}+FtAz{yM+3m5t@KXf@1bd-*XNj245<3tHM; zYeRjdYu1!`x-V5kxKm~{7vd4sy(9a>U%zITXK+RlG0GFZkSU?6O`aUh&T3_kRq?fc z?JpLHfhSM{Q{V$vHqEnZG`ogbw#|RKc@~al={ze3vu*ow2=HLV8ys-6!K@vjPhh86ePF z$i#+aMHe>CQ|mPSU)Q~Buo(BiP6};;Rzb_4b%Iuvvc{p~di7 z%8D-7F|ZWu!B(&h#)jdrGfZd66S}BcJ7oxkjHt8tVigfdQjiof9Mc+55Q0DmS~}3G z9uojU!UTbaP#6>nhJisK5DWwa0YNYj2!bF8f+?`*XDWODND&?> z=tVdoBFZi3p#FR6Px{Qtq#@XjDAcNTc}QYsm1Uf|dx+aH^}VsvF@$&g%1lMt81ij&4&`=anpvpx1x%k=Kc$O!04INd;_+>M^%P-GGM@=a{`$;}Ma~vb zP}^#S%RvY5Vk{<@o-yfNWRlmvcFmz!gi))&u|Ar(9T~**ZBuG!bl;W;3OrI>?9&`JU(u% z8UF_k)g4^#{bVUa)XtXdMI7HVnC>3zyG2GCZFH{FIs_^t#&3U-tq)`lyXyN5&3C-A zs~+ozzB^RdaUz8wz|L3Jjb+cFe@E48Dy(-1*dZ!ualIUx+o{4j95pt?cWm9-?*xXR zoma0j=8K_krz_=^{mYrh2OqZT9^vMbKBM@lG{#5gLy4WK?END}JX+9;aD-^eDbcPk z%qzQ5@_*@T6dr$Az6gnhFaSp0J3E&&B2G0{`m`7k3Q# zJ5|N|vvJ@tywfW9q14W*0dk$K7E}KpKHSzLTU+{{Vx(j(=ds8C!=ddCRn|Uf>5#Bv z%4!iudyLGhyEQ^sjpz$ zA;6BPt;_duNN#79>2p=u5Wcgu>wsr41nqof`Xj#=RW1dZg7fsQFI}47{wurySM_zg zgHL+o+3+Eg{?F|oqt_bR^MuROeSmG zCtkEpI-`G;r)t%z$xwK33C1}RjVDWbV?}OgzT=gd%E(lnS*#W>O_YZf{2x9X99|wS z?fon{c>-&isyIVm49BxBsNvqMYoXDY)NoA9Elh?C%EeY8OhxF^gej}p9s%BJJX%Ad}n{XSwZYrcMU^3f+d;kPFY!oq3Vup zchB|Qls1I!Ozl449Sp&DzH6l4KvB8}z>!fEoeY(-Swwcb%v&Q}g}k46eDGnbZVx|; zxff&MdZ7i5f4d=M$E$Z=mKdI>kc$|FgXKJPR|m2n+(!DWPWrA}fJ5cZRQ9Uh!cctY z3p0OCsba{zv&!5U(=!C@5cQr)cMs)vRHZCV%ZCy>Q&4nx?EXUl)zk9G|GJ6e<< zHY45~a&}rsI{Q^*!Eo(Ile-lwUck45^$uF?JNW5Ly(62aP6+mk{D=ik#z$d8^p2@_ z|5?fqVP{JAA`bJM9@6Z?|GsmGi7n2$;_!cHS9_^LpGMk89acRunFb{Dhiwx=5u}u$rHaN6&!^@QRi-VeukCJa!tDE3TLhv8W;ejD(&+3y~ z$|pA7LEdcH0`E65yy@J?h#Jvf~+IcpVzoChAQ#bzImExo&@? z`=_Q0QiH#RPcS6jIW_Ey{51n{Iy#_+USKCN0wz(Fg%$xzG6dc8+?Kiln^?y2%CmYQ z%Q(L9E_s}B4&ggRp;xW1LvlM++i_B9L;22D*2bQ~P_*+3I~BQN$lKXvym&S<1n!91 z9&Q^C$#zzm?$_If_#LZPGfu`3yyJgW(kd<%BB_1dj)23SI`T8FvlNO(v!U3-7ywVo zm+C+3RF8*qL(mRU@xDgAp?K#PWf60v!V%@3rJyK2lI&3~&~}Id28=WBX1PlFtZ(s! zpLbks(5I31QHQl>$Z+<}>2~xDPYNIwgCATAPXdPY9j^60vXvonXS=f-p#)=?pPcn$aVEDBIb}-ak>`d9)a?&A13bd_>8dCVS_8M~piY z2Y^RVjMB^@s+Gm&HS!eGu!dygftOPK;gQ(rp;V{16hJL36>L8k0FkyT3O$Pbz6YyWyc^$D5U&!3=j1 zIQ0m2CnvxikpwG^=Yc;ss5%*Y;Mv1GGfuyi647-@m@H^g`Jh>8Xc`S3B*46emMyya zg@;?U&rTAadpKOop;!Ug5T27oBoA@sh`0zhhKu?n57wnC{(I!zdkcS2?oK-PQSemI z=_JV3rNzMKQ`9-?P~9^GoIPSRS9uuip$1}5cov!Sp$-fcAIf*MYDBl7ZKkpG__T5% zoo8eq*pX*wXV)@3hF33whi&2igAt$~{;<d=Y;=I?;xOgF~U6Pc*s;$YSFRO)s?ZQ8^}arbeDAYJFlm392aV zB4sZE4xMb-U0L|_*OP7qI!)ePz8z9VKT-wTl#h_zy?gs6B=ArL=~kILv!#<00bJNOy0YOCcvVc&Kd{{+jTqL6?il0AbS-NyCLK~@pDpd;56n^ABVN- znA@$%F!4a_ljF$GGoC}@fot2>#G_XR=*a_#1nET(AFfo0$*w>l+D;mlojxhU2Uzly zqu&E~bo?r1Z!CX-Y>M>?zy=U2-G>mTSjr}WK8>`GJFI(#4Ce=D0bx(7AO-_p;!7S{ zY2X*O+p_eKq1>ujueI};I!Eb!0?)qF)^p!cx8*)yIJnE7T$X6))b>9ZKKKB)2Uj`- zPopz`Y+m`};29JABFL>h$Qre1zO5!tze#4sD>gw{eQJO0$UK6;TSSF&R#`qVd=`B? zI5o!I5#NzCzP8Arg4({c=HqDsK5N%i92d#}A40P00>4?}<~sROyK3YWD7?0Ux+9VEl~ z`{!T}e~N!v4n2?M;wn!a2L z*t5~=rQq=U`BYpmOp@K_>5iiREmCGD$re#F2l#&hUZ4%If`&Z;FRFBMebwm#rbE^W zOO2fHdQVA5zn@RVEtAVNxbn1tzbK5b2i@f7Q<0VP9Gd%Fs$(6gYu%~y2rS``d_q@X z3$KAOc!q8X5bDsY-|%%F$(ht~-RsgF@5o*6&Ykbj-FIjY{NX`(h!(-I9`Pmog(2x^ z98Z7z$m1?$-obX5$1iDeGV?GKGm%WqbdCXb5EE5P=&7E1Ie0Y?jw5l6J8_OfagR$` zu!|uQ+tef@VCIaU)E07UsCO`r@8Lcgh&%sy7wpwyLAnR&I4^{!P8v{7&aRHjvMkH8EKSoiP17_@^G5M2r7soV zs=q|PQ~F}@TZONcFJlxN4w0B9v9Fe%)2<4;TsTS$-jmXW;pP+Fb-O$O;TU>q9n*hQ za{O%gfW2O|MNT?JwU_JSu3Urht!a8@1toz8eh&br8_i+;HH=Zk>6D5#5rxJZBKi-o*s zsL>QTz?z*?Y0YvvHg~f@R77X(=;FcAuv^ic0;rhMuIAaMUmHCLP74_{noot>aQUa6gqBvUgfx%t+%y>>aO!D-!klgGB)UyJ8nnQXX_<0117R?;&_+|by8rS|$0yzRY24*$5QDT#r;LVqT#IA1~0x^RJ_GaXz)xOAI^-PXY2TWb9f#OJ3YRkL!|Ks&$^X2VUMr#54e}7 zLZ90@^+mAjA0gsR=Wz~_5TR6eElH0(UTzFkJAUc=sXjx@PL|h2bORLmUtFM326}P6 zhJg+yJU@`}bryeloFHI#wSUOq3I=_m+RZ!6dWH-jyEXf%DK|L<3jz${jS*b2IRVa0 zK9!-p^Ie?WrC(kQZ9BX0<7_mBjvcP?jroZ~b0-yUD*firVTUztaqn6l>x7B~H$-X^Y0_=ne|5hcVnah+{!>LtJmO*f=I=&z4X&*Z7Ts7~XnueGi8vJ^} zz_*v1m0go_5Mh0HLD!iL)i^^0Av^aV1>f_;Wu69&V#?OAqrbW#5b@Sp8<46Dcxc;M zwe2@G7(#%ZMQhOmy9gn;+}F$g<K=}S|ig~Eu7GauYk#AuK2eKL{S6y4} z;pL@r@N8ud8{G^ocW@=|lZwrgg?eUWa2_e7wYZ|^(Lx^G2R+Z!vF%Lhd9pQKzfBN> z>ExM)(yFcOdUz}m%Qsl)f_K4q?U`qqS}}h*#Ci}RNrhRcLHIT=LST7PpV09tX!eLPfDtf6Kh)P&taYVQzb9s~WteBPqx*lg zQ|_m!KxqkD>hu z=-!9S)pB+4^1#?caM(XqHAP20R5o!-578EPWsOx*hU2b{PaB5}J5=$$ufZX5XBU1E zP3a}Mi-}ueH7Cpl01`B)Ilm0YGY04r?JCzn-ZR7udN^}WmyO3MSipmC$TboWgV&Qc zWZJn}?jOz0BV-hHd_XOtAO?Rq7$AE+DMCdS42$^I7I##4c}`yRnl1-zz_1;iodHB7 zh|S|JE=_UVYN@s3ts_rhlvSsh=OLSqv(*nCZG(*^S?~ZGnaa)?53#w$S$yD8HaQ%! zH4n6@`*+WIh@H(~`JG2w#7d(6e`P($`5ue~>Mw*}C{OKph7%rQ*?xaZ^C8<#7Jm`G z@1G-_o@LcOiUWN@b;x&M?-_D~-abB0$5Rg_P>93kh_)a&-h@oO1yJ737cTq)1>WNB z?q1xrxJ!{jad&qL!Ci|MEAH;n;_mM56n7}{UVi`YyE8YF$!2oSFZT zP%ppfaF6%-0?Yq#oWc>j*Q`;+LpX!{rH#cojdlmEp^c;~x1nK2J|ZpGNcvs(FJJI_ z>Gh``T_J>{uCgu?PzAb5nw;C79BFheFsig@yO~L*ToiOHlYdC*gC6IY?b`WWSR8qg z{HV#?eC$NZ`OsX7pSH|sr?5gV5MUllM>VLyLW;j{@xNYQ~?#SQ}4IV@L7DAk~ zsH?>tzthAq43>TTAgH%KAiKYV@7Bl${V`kZu(YN2W{%(Bw@CJ2JnX+KM=7AB9Wdc? z7WwFJQB~9)!LbmJG09Jtly9~0`x)C1@_>zi@2Q`Ub@h2_rwg{|l&LItb%No~=9(k8 zb(Y%T!Ots)e`04q_R%HQFD@dr{=9GlzVK+At&A+5QQeu60Ld zBeWs^^!Qw>BUl+WCh+w$s`NzYfD+T%^Xy}MD@^hn5`hTksc2~YVEjo5q)KAdYd?>FH|n>}!0DC4r;y5E(> zN0my3%BD}^jcIXgGWXnM+JhL@@VtrD&inea5&j^RDn!d$f-9v!=4S=cT?C~thI#&D z>p?gIUCYz7Oe9A?5Tzv7#E`Zi^sMoi4T+-F!%|jkuB1_IP$W2H)j(*|*`LwgK)&*9 zp>2+ff6Yic0XfVb37{lUJP4~a%APYjLvg+!$>*=STBQ;;OKF;{S(%PTqONRnpL$6C zW0HBBDj#}ha`Fz8<69)=PpHIc{V`oZzDj{@@y7!9)G3Plh*Q(l?hbpN$q z0>_(Yog!C)ad4KRlE7Y0kNg~JXlbTn2Wq{zZA%sn;wX7SCth(b*X$Ly$?fvIPH0N!qe4+Q9cR4r!biaiPoHp-=nC0H*$M z?ZkK^Y6u-+ignBS^?ei5B@NXwNqC?hlD%l^LaCyjJ@?bD8K~jMo zhM_1g8h|B+790S6XATlWgA+r0KSBqC-Y*5C^~Pg_wZPyhSG{v0S$b7b#bM&ZO{VU| z7TV&IdhLwkp*UuXP)D4#kgos0kA%Z8D>)#_M1@IGWe$+NI z`8zF(A{0-O!eskOi=Qc@?#eDSg&!nae>?(+Helg97Lb)98rLbQ@na^~Wb6Ba5bWk( zjfXD6+wf_#m`J`r5$1R8)ME2uBa8_aQRwO>WLS)bZ8I2c|NL9i2_1Dfs04EjMUm~M z0?9j(i+pBX$JWa#Lr_ZGGeCj#RrtIJsC#t&^)C_Uv@kI%g&(rYe&^x zl}7RTfwyJ6owI_YpSk>@wgP&t)owu1EA}8(Ueu*z>|mFQ+z@*Az~kdG(ax#q^tlb) z?lwhJIJZ1=V0vA&NdxXbSNE5xfCY{ZW#9k(*(SsnGzPt39%a<)IWs9iuf;bcj&3a8 z3rK9zJHDmt?5^9QKR%GIAJBdBo53k}v@aU`-N-9a1H&4dOtE|o>S|q1FNw-1l(7*9k6O=cY7l1k8WX-sY)tY8(iwNP<$JD!ZLxf&&xdk(dtX^;+92$7+BXebnbewh zuBmhAs4F(WN^iW6G*X{U)X-+$9_WmchJWe2vqf{&-45v1X7QeY*D0;Y=dcf(L_v&mKVbM*xUj)V|FazU-y&<7c)jQuyr_|RwHwa<#- z4qK1Bi20z~2AKmlAvrTNcpYj^UIuPX4>U>Mwni4BCF?2I)k<=*6l?JtvdLamK~slf z7|Kw11SPE>RCM>>#$S{|f24B|ek~u@BS*mS6u(8mUG`hu0LY!-vG*vDXeyVST%mbR zJq>=+4LfH`i}hT(wYLXEPubH7iASB}KWs*@kjg{7eH30d8u3R-ULrRQ=XCx=K97RaLb~h&?z}PcLgL-vpcoc?U1AJyS$~6W!IG4tL2%Q*EGGg)!{tg{=!vU2Jvr zCh{5c-eKAQ+Zl>}26&3J7&5$qGAX})~> z6b5`U5UVDP}1_1l_2U+uW%ri#3ftba+DyS&N zRUXGn@}9*Vq{h!j!i6&J{@y^t?omqr*FZmfq=tr_acN@^{X;#vn?RYN7Ft34DNO?c zFW!feJnR(PL+&HJU}xg`-W@7N6inXt2CpQrJ6yH%G^~m>a_Y{ps;_QayFe^aoCH*F z$ABqf@un;sJsUkjI9bljPN}`I-@2TcfWTmCQs{iR+)%=PMvAs}8Y;a&iQ#jGdDsv! zOSmLaQQr@L8nR5hQ&(k88{(3&Oj(cGK1^@$+1&Nn>N7sYnWGqv(^C1EKoZR{1&E{@ z=H61Y{9{8U@$}E+Dnk|)(Wi8-FDeUg;c|%d?n*aSnWoQTrfdQF*P*DJZmOvm7c<7#fFBOdj3fpW1 z6n=fq@Kr)gU5rdFDl$^|{?=7^VNPB6tG~!VpM=P}HV7TWYKZUw1eLR?i6tr{YDgc@ zI_yz0T~1y*BEW^i$IDhy+Z_=siuu1l9Uxd=Fo+5)tp)=kYaW|a937JHY2-**}C zkq?+}$OnwNR|3X)SJ1Qsvs;3p!gC}&9UYuq$8<^p#+iooZOC8}a%=}MMA1aae}+i- zt9*JR{TPfzH&{yj44^3;44g7-P)&2lD64wZnXZIv~@vf=v+hNF;rh|lM7FfvP`0;D0>U3| zQ^g)_3UEj~-!5BL&%~Y{X6vg4s1FGt zbA@-Q4WuB$83c3;ACUhrvxH2Ah2#zF(HlJGjPvV4gUaJdX7F`<>`CdOR5Xwm5{()u zycDAF@{65V%Y=FITA5}k<4~)Dycu(b7H&+>F+~r8RIq3C| zL-=a-2-ZLF@o~1GaujJng6L;N43L8@(kum-k}OCub!QbOa|`C_@u|xiN4tf7uTVp! zaj*5B=wtY|2Ac$@2Y`DmZPD&i4*{Wm*?y1|Qv=Bl4fz^2#O+sXoez0%o2=5P3c8JYFw z;_dM{qmtVm@IrO|>31+K?MACT)-vp>|J8?+2PNZ&k8^SDzN$1sh!1>1b^!Kmu3B-X z`_kF59(4v8LBY0$`O+dCJFdOaEC0CCKmEa0r@r%&m8tIRG~y;oamSu}m(;_XVK?*# z%xmUqV24{ha$?zg?#i|GTh@w+O-e>g6*sjuobf{S?CEWIMB=6dPuXd@1Nid8#T1KC z-G9a_s}hg;?Ub@@YNJ+Fgt+>jPR^`E?^Uxq6iucm)h3Hj6w6}IN-42@yWsO<|NI3N zE41`4#NVFWdNA~i$O6WATVRm42x9QPtIxSyrC^V@pAZwc0bh!$4* z?R0)-B)Mg1N=$fHTJ+LdJ>~!P2=f1W#x%+9AGe_+Oz6?XB#PN`QX`@S<&w@*qDs0s~2>FgE!9{vX+6l?*@L680$Zi8gtbQANiTf zL}6=f2LLu+E-JP_H(uQyr*t>-=*7m!fNk@YAE#sAmzt{MREL8c9yBio#Wd(cU z!#yE$nj=P&EH@=OWjxIIy`(s4ZGL&piBht@i38N@NQT%`dG!bu^R}kfFrB(8r)D z-<;e!7$TfBh#)j&!EzbI+WcyAE>4-=7|(>E_Ie5uC|C+D0WI!p-=ifjtGo<3x!J+q zcLD_}wr{nc{2t6^3y-)yb-`ITmcu_b@cm{VhQ~N$GyRZZVXnzm-By1trhXuPMSGzk zz;s>~^&<=pC2s=WH+y-k+e3xT-|xr%*BQUxBj!jYv5CDqxtGs>tE&8B=^Wts6WcWh zY^i0)e(MlR*`@1i--h>j;Sq%X(h5&Snd1ZE5bWqsv+`f(YDd>sY8&*!m#0LeVXGH{ zXt)Lib?@{PmF$8XRq(`wUx*Z_5 zn`J_uZrMY^zF#3%2oMf@+veGdwZ$Vr9bNDLj)v0RJU1vBm;JYHTim#%5#D=G^C=hFc#dm^`iJ@A z8U>u0`Vh4cVHcuj9b<#<5NYEg#=>#MSb;6)7x%q!Av0_!xraiKt0r`#6zabj;D)0j$i+#rfKa73O3s$SF}$d_=X@Ox8sb zh2b&vL+WA*`61otNL`!q_p_TZ6pS%97zv+v{GmO+oE^R`7Ag@Di;$l z57j{(RH2{vFrbn*rc!?bk!D7g2Gnv41ZqNa@c7MZW4|)tMD_0=3+Z8hYh)qK@dl(7 zffKcgvyQ?dH~P2p4gN~`TBQ@U@9QTd4{d-Cd)e1YlxWOil+6BE`;HvKwr%c|-pp1Q7Mb!WP5fe*J zzYCupuXM9W7&-vKHyv)wiZK)W8SZ_r{xEbF6js~Janhg=1M}^hPAD?L1grY^$W)c7 z=1OUBLln&^O?4G3BZ8rl>NI5@^^bTC8Oxrj#V?p4thKa>m}xkRury`Wr3fln03*Ka zS8Mj4>LZLAw(}#6&F{y5#mGU84mb_&%k{+%Q31$Sk>jyW58rTL6tTZCQ+}~o?dm== zg94V?YgE?Mn~vPB$tims@c0Tl%<@W6&$N^{{jD7v{Fe)D+~S zNFaM>iX3^JV`)GzeU8|)>fn~>ZV<0L@?JAC;5=M-hm1SexIW~Zd^LdU<_;QQj zw!E2qVCd6dD3ZI1(61-wpk1zs^nSGgZ1_7(*3znM#S*Qg2xxAxI+6ghNc#8e$bpP}cPiWUg!{28Vcvy7l|3JY3Spw*B|$;sx3Ka>!R ztSqR18MAD!&cECaYU>3O=tU)QPRbd+mK9?(hF&bS?kFf?n`WDqeH=FZ>u*}>Gi5uG zUNOg!w&pmS`*uYRO3*8X5ke^rVh@)|9TPh##dn#4B$;3ac@|Z*QP^8a;Y4z2VM?5t z)=CVJEKDN^x=Wm0C$Zw)C1Ik=#_HKqeJQ;E>nye~qgC`mjj;&mhbQbYM=FBc)N5wSFc0f$8EpO8?h}l9vI;|t%xHoI%%)q7<_v%xM2gO2Dj>RB9|EcAk}#34!FBY%{89KD3rELkH0!ZsCYwsXQp@^X5KZVl5G z;t5*XEK*)9Wl|ft9+vA?3(Pm zKFmO8aP4=X*0uJ7Zgz|FQ}f*O+vvqi#>1zZ6g>>ck3Q$VAMI-_7b%WQK!je?J7v(~ z{^F#rJ+U=@gDJx%9X3#yhjDeOMZ$oX%qz_JF?o9Sj4{Kp8TK{fjpsG^t-tfey4_97 zuo8^^-Hqn9!`;c-OUG81$L2vJYBaQ7Q|OQN8kiY)ocI>A3S;xIw$n2boVM_uwLcjj z(_BAWfCpw6G%8fwyipzxsWo1{M9jR0Q_*gk%_AOhM!^tj#3tB^y@o`jD3;}dlMa4C zo;QI^Kw7EMD%}fZXEOo2PN*t=YZ+-}8yGZ^%-33}B2N2e-gN)!Pzp$^iKV9jSv{M! z%m5_jMe+?U^o6#k3qmde(-}_&K@E68y@q+J6^*lNL4-UHv8DNwL38x+VzqSl4xr#N zT7DmZFxKos++KiKi1HQ${ShF70J{*o7a#^0fMN$jW*;FC);CB$r2P?qdF%9t&~8Dr zUm%fye>WsBkU?cGYbbpw{~7TX6Ug}_nd)!>fq@wKLzJ%|{eMso+dD7x=ISee0TJ1Ov_d*xf!`3^D;uC4;*#*&DlN>4E9X?;?nC5z5&@kvL(K0?cZ<4#CRZSagNlx2zsIe=DKR68%}0QfvS>3CE2e2k!pP z$Ii@7NUx=?t}HJ-P%}Q#JMS`BPL1L$m!`-Z-K8YLN|yfP@ep5kiA>;!Jg~?(Np{xB zo-Ga5k?en8v&Qws*V|mfob#*FLl#c&?|**@V_}$IJ_0xf)-^R9=GSZm&{A>#B5G|e zKf8r6a80!q=0J|u{{rYw{pD&LPk7K4_>0QXdVWM`rHtyOPmoV{Rrd*`@_+CzMj&jW zy8MqKMgABfjU4b$>;!`ibj}>2V07hea|Pc3$s5R(U;Nwzk=|R}vL=2x{ZukUkRWGWD8E zc?OAd2E{c|I&2D$WCR>P*$i8CDjNs6lpRX_Tng(Waw92sHz*LE%VW(0MWsd)@ zLT~Lf#5=BbP60|DRF-!t6*mh6TjyMTydyH)eR0C;3;Ya=a9h@8B(Z-r%T5*-Kk@-x z9iRl`{^jf9uOu!}l>JwtBA%&EUqy~>9iF(7R4{3Erjp$Si@~5`nBDZ;=8R27qMk*w z%br9VZUyEpOG=E#S6uvnpNfnK*Yq+P>oOAr{tVAjJ3 zRb&$wJ&5OVRG@7iE2wtP@?p&y@!v1CbAaWAlz!aVg~(*B`!idtzBm*6`IM%C_j?^z zse59`9N2&EV%7;CZ|sAhC0Qppg>m!yBk_%%$zd3y{%rqPsL0J+Gnsq&=x;R%05R|o%O>YpUa@9Eo*N1bG2qfbV5mcDwNVtCmQz~u&p!teL}lb( z78P+n#%I{tHO5D>)fsMUot=_>&<R45yd)FXC$DG;eu+QdKqd zCU4wDomDK}+I_krZMg)9s$o&EQdjk%r}PFD7e$_^Y34{YG|81Qt_BdR;2P;AOIy+} z$lHaFK+EKu(AjA{!TxMdXQ&#*+nvbb9A$=ipK3>8H&ghE&@xZ6e@-^T)Qt27L^~a# zI7S6jAQc&Go}aYH9Z>8l=`5@!W$x2-Q|vNH9@rDgmBd$@b}<8N^f@W{DL0bP@Avs; zx+a@w-Wo8hZI2Pn_IHfTr5V{OvGTn{EzQ3CrTbau|AW&h$Y@F=1tFpLEiMTGN2gG+ zsjUwg!&EyWG-L?*M~1CKV2ELzVJ=?l@I6R7JTv_V0|9tAg3zAIe#=@2pbHsdPWYda zh-vrdTAoEfkPI>5%ku@^wsb5R?{LnTWKkXl4d&IQ1qr(^*4xN8w6o|a_$s@^6PhUyN@w8+i5yL8ySE|9dXw`UqxuNQ8(q0z8w5^Q> zoR3b!-KuOmh}AZQ7ZwsBE1Z`GiSyc{$oi19rXvPGoV9Uih)@}vW<8rkY`!hHkY&SB;vQ7-v>)tyf4y-`ZLIHV;McPobJrP9KNqGvdL&@h9Kzm5z(#1(x#Wu*3bo$7VMN4ZeoL?R;k> z2B1k++KW`errE$&4;NjnX`yQF)BTCFC*O;@)jxc8xRayn9AA37LKmREX$ZJ@hw_Cq zd#;@m^ZFc)hYIit^=4jo8KC=k>f7^HtY-i>v(C>7mhJ1dq?$`CjK)e)9)qxxR^8vX zZAsH6QOd<8B|Il2(pFO&cVWWXjXExLmy`tZ&IJx1*3b2}y;?n%&o+`HY_%NXe2Ujk z%q0bTGkf%zdCQv*#{+v^y!5KT#WwgE_}XwN1cGButo3z2OB49seQ3~U$=33L?Eq%H z8{K`hwnglgo*UcQbF~g{8-Db9>lg`D)-j-2eIf>saqvoo2sgQq(~4a4GCr$VCeG)jQ*V8$FiWHtV+Fid;!VI92I41 zT2&PnbM^;yl$dt_CPWZvY-XieJi}JYTJx!zrK*wv+1OOsO2<~+#^_tG`--iAyd49~ zlKv`I)5^f-ApK7FP+uq*x8k!ysa4gso}Y^y=Zy8o12u&ede64s=o0Pgi8c0D7VH{_ z@0VCsRWdfdwYPO9%jbYa6oFqP*fZ=0r4eC^!s4$3>gc;fSNErck~SAr22?0+mG$7 zVGE}@<7=O_YD{y#n|(Qq4z%wAUhaqmwRSB%aWBFp8i6|9Y-809QWtln{;<>v%tH5ZwPJxZe+ zqC2o6pO=4nir84zN0$#YWW|^Vs%Ow*M4sOw-FNg~liHS;(0_KllB9up>k3PBUyVHwm)% z7&j17wUNj8#8u?b0n(dzuQEmKTfV~gRd>A7`~<8x9H#g9S~28oE-|uWrX|tTn+NPD z(J|&6x+a5YMN9s8sZipBzt0$c4r~9YiiR@b5I2`*1+;E(#PcY_#+VScZ|iIv?7_OA zerTyrSc1nGMbNCe9qP*zA%PH7m;*@X3-l)l^CR#H`$Z%bvU&X_9(EMMs3jcm0phT) z4!VSVA?b#QUqT=-02WP~?)rZ|l(0`^JYH3mC6{P#IXViIH#c%l_}>Rj6EOza$< zq`Cq+cYZ)3AU`$(s2~YsPr%*~Akhbri+(Z4k%1&berB`=^N%dc9VEw|Bf##zuHVX! zo!D#doOLAcOItDm}2=nfTx~B@7(2vNV6q)R5Crl= zXYzQ@KHfc@706XOsb-R^3?FMrIWOG-hu-2u_`T+=-zH8vG}D@SQ^GB=6!7C6JquVJ z5(~UgSj#$eV zfF=_54!#KjFfuycWFOKk2*SgT12;qko_+5xM?u%E9I>O%u>b!{wR~=jm=l8=hgB;k zBVN;_rR;ngg4|N)>6$c3N-P~ARFA51LrdQ?Q#UBRdOroJk8a@D1aTM*Z862u73P z#ub3v^x>ysPks?ONe)?d{ztizOtReN;a2*`JtRJlwDcqzvR5kRIQ!x=AK^cnXNwZ< ztCaVJvvsq7h5oEMa>t#of6_yPE#xRGp!6pY9k?=HP(1*~2!{qsECn7qA+Hwz>KX9f zkN0`Ly&MzZ=NsD(Wnp>Pu8C0n{IP(|wgBR@p_<1bVg8XJ^K)|+8U!~#X&WhKzgt4G zFCnyD^bUw}V*LzHmei$#iPx}(4SKtU%`B?JdHSI2P4OXzSI{y}wQM zdYx}#(dxsku%HcOgkh4#C2q&hycV7Kc-+0)Tnk3P{vvox*iu8*7W3`#VW-EF? zQ`h)Sq!invywwROVQ42jX-I3+^;jSTJ}1MO5>=FE_G&ZrdZsy{ zA3$eMsP4F)@ffM^*=jkr`SW0anGU4GlIPk=T?GC+jMT-!hePp!l^7De-i#tj<0TY< z(5bw!V~ZrM4=`O-RocofyO*FubF@6Fi%s_bzynh@h5F+zHSv|Fz;iS-6T1c~m7Lv; z7!QA>HsppjR&DI1UtaQD;vuovLYm#*1fuxh9(Nkpc=ELv4dR|5)V4^+U`}cBz8$C6F|1mcODR2i17JbF*UwA4+WfKKg?bWtG)M)1YLS z2#Ld#h=~k1kI8n<_zV#xRAMr;&vKyT0Ut`T|F|)~rlLk^a0;#o>NOa?VLW*p8R8^+ z>c-oabCW{mybh*X@60UnPhv;5Aqzf6!B=E&8Mrwoa40g`HHphF!IJ+v0yyW17bZ}U zy-(BZ;*dFsl95CQF(H`L3Ss%9kjNZ-aAP&6isLUXgONr%I zLK${^VtCtf$8Up)JV8ou&Z(?{>WKIV8D1zCR%WwLb@?6rweI`^;!S1#;?sy4F$_yE zW45Le(k!5Q@1jNUy#6`@%)e&E&W_jpiwmvrw4_zY4MY}sk})~XLF$1qfIZ^@RTV>> z_t5`h)y`om*hzZ5J-b!$-nsW#2oG`ZIhgDFZT5`4I7JF|7ia$rVOO#U&->=o)&Xx! z35RpeM#{KYxEk)PlT9)zyW{Jb;CHN}SALDb86fPCJ32-Gfc#YXl5RPR_u+61b8~;ajh%Z+4 zFJBJhl~0Uc8R154fCl=l)oa&D1bE%;{YR0*=f{N#2gFwkB)7Z<-S#^;{TGam-TL%R zEzY>j$wQSysI*GtO7-&~Y4pBEf#pc92zo)N!g?ym|y-l>q-15N_@5!0=Q4W+`|Y!Tnk zef|MXy!2P%$$E8aeYT!AT-HR4w8k0)VSLXP7BQ)lJ%a-ViFqu^k-hMTXZENo|QdQq7T%ceH?-8r%z^cyc?sWDWvUQabzk5G08~$jM)`APkfPi zjQN=6eIp%W0L%*O{Tk%VEjn{1F4C?Qa)bHjQ@|%)Hg%n2h!)io)6CoYK5z8}HbG^z_kN99a{mn5a#TM#ZhS;Sg$@Q4#x20V4?H05)rL zFnGfSjWmN3^0}p#)0uHCxMHmxX|itrv)a)c=RH&c@DC-(Avq2&eVj{>x;7f~mB*Ow zrH6}ylr0s>FLIcoa1`(6PH4!p@>C8E-hR0qlYwMJ#lY_VOK6V9q*+ZlWVEKjiw)-6 z6B&Y&Q!0t7`w)p=;e|uii{U&+xIoY{an%dX=@YGjT{gwuRUFmf(;%Y(1P+SmHBa{i zU=&RUN;{+XZV1EqCzb2A!^GfSkvFY-+W(L*$+)B0UT@vpCoJwEw`rp|U{vh>y0(|7 zy+Xu%Z8c;jmz>*aFt8;}C5p@Hx)Twc5lxcHcoy;g$XKi%hvKdzcV8R~u;ld#O_y;! zT%<#*zHN5wlA}%rRPvyjm^dg&TQ9z>zly#Atba!(jv?y59(QryjIy93MHZZ>`LazK zP>#>xT2`bb=Gf5M_>+zuHH&;+nuJfYu_laT*Dv% zKe|qaUVG_#K!zGpbH?vspHOEzJbjdr`{6Tdmh~ShFg$n`$9o!RQZ#L{zoo*BexJMo z&<_r-TP2IKMHmfQJcu)oFQACO!9>sO&-K6lSp7raQ=B$?8_~PhCVm0GSv}AZ)W@YO zqL3?+SbU!7x0WU2onemC`fCH22 z`{ALF;Cb-3oFs5PRC%S77E2?p;bJ zt16QC5WOOji&RnK_UPPkz<#WZ@^ievCKzvC6bCzumo3@^cR^0B=drcgl<(097;Ecf zwm_7C!JikPp-E<%;%JSU4H}rV10Rwiz|2P&_&OzBB4735))vv32N+@sKFpWzvfF63R^U@=BHybod4eL$`|4Dx*i*!?$CgQ<9j53Mpg z0;96~Hc=nS9^IX#X3A^O-0qI4;P-Ltx8Cemw=q*`8bySsUX#v*8N8Q^D_IH!&A{K4 zc?g*V{1{0Zw ze&aXCrKc9^VO4~`U!~F0yw8nH%SM{qN0@A#+#Ztva;*;8gp#i|wZUVlI-C}3S%nwB z&e;9D{q;%B@}f%^|IG;K!XK8Z*iak{CY2izr( ziF{@HGDTBt=rAO} zw(YC6gRrn>e9SxpCYOG7F(^XEEK&+%`ma_FO&F>|NN^+|jf=d>& z;4{WoZWN8XHaNu0kLL$@y-|ECXT$o&Mt=9hf7b##Dc}|Z{T3AT4)u#@U586lOuT7! zqZGVP8m8M-rl+mBW9N#E3MmPs!Za8dun z6`N??DLkI7g!g4Or-{h>%e*&VE#5MlCA=&T0IBMD>Fa`E`_fU8jf2V~BXW*VWXiI{UN_d&f zu<<@?WN^v$U>|es65jghWHGkun`+(y$W_p9cW56^1^8k$buJ|;V72jOTgj?G%Tt`6 z^P=Y&XkLonNrzA^De>4w%Ff#~Y&)3$a*(n8iQ^zb88}=#Quq6@s$o?Q7PD1ZTG!pN ziV_0Zidqe+5MICRl_ejY87dY-xEjjZ$VK>>;L@ZSpUMRdqbO*sv@yn%PZ*o1tF}0` zyfr*~$uA{>_engPUh7s#Q z>+w?J=es+jQ_RVS_jW;93zzY*Kr}Hbz67<|u}@p0vOg%?xxOfl>3R7M2gj&R=s)2A z+q;%1WB#0*AlT^+6OLtc17tph?q(~ zdg^AbnQ)-llzO7Y081lxY^a;B3w2Te%>obWm$avf6|+A*Shg3`iIjgghYG?x<=da zM=Aa})|_(b`SD*Iz%B%$a%Ku1(^QRq3zqbp*Zzks(cX;zO&Drv>lX@YtTG%O%0SxV zQ=W?RWmF*ITjNHWHC7k_Ts!l9r9>woEXn*q6f}F2o^d`QxbXmE(%WS@o#oRjy%E&7 zs)OGlnkz;#p8jwL9h0V1Aqe%Ie9mM7t<1X(EXUn{oV``0D0LcIuBWVj>WwylalV&dt7XUY9<44W4Gi&p zIZiTiTu2dpJ$gx+Q!M{NzH7jbg+3!Ox>bC<8V>3#mcExTgSjz2UPj-rnLTaErmoS; zsoQ>5xs#<1sa*Q=XEY};9dOjxnc)xhOn2bRIDxwuW^D)AouciJQiuHXMhL%_fT)u0 zEn6v*zpyw(<}gC)Lj!sF&zOQ2F;SB#+pIjlz#tqPuY4h_w%f_9FK=_Rk!fBHL%TqF zwz;tMRIBU5SFEvXSHvX`nqe9E-6|n~XZ+C6U1x?nsYh7O^euJ&65wvbYs!*@-4Gqr z^_|^}x%t*!H(ND$?__l|1ijgrWpT_tk)yb#l)BMjtl`;};#r{Yj;OgIQl6is(pF5j zW86byE0%Kd?cdJwuTZm|*bZN2q0Lf%kMNt6Z<)TeBYs2n4vA4qEDVFcPF5FMPMy^4 zo;xXebk_?)_~VL8^8i$}z>O2^jgnSjwVx|hvgSRDh|(Rymh@Xk-P{)`Utiz~+M}L& z3LC_FSuPSPy$t_j{nkT4JzqB-#LnRUviuNe3DIt_YjN2%SvgPr z*;0M``H$S;mj+XprswXM8|8L=X~UMf-CIx13Ulm*yAk18i$|al-OpfgwML-)AGLf_ z&4cE+5`9w@<1>4uuiUSK#qUNMQ4JUB|Kj{+Es>e0d=%zwl8ATj8or*0DH^EW|DMO? zEv!v12qORYvPiJ%(pG2nZzb2rJZYg}`p>X8eRs(?w}ZUS3p~|-nNVvJ+hv)QnpyaY zb2g&|W4oB5^bMH#y!OJ>?+5EMy!>-Zz_-i%TcDynAL%04fSiabCB!^&sR>=J&Whjn(YS{3$R^PEoCAOl9*rV>3~2dmH9*P-uFi0mRB5lgDat(pulk> zjYB)p-5?lv1TVK9xe0}zW*94T#>CHj-2UJd9{_NiX3Tx}xjh$L7aHG{$^5$(J41g< zTWWLRLj*&+gj|a6Gq>!S&6H~DeBva$J6b9nms9QdCz=TJFyvPF&lDeDT+ihH0kA+% zzg7&Kb=z6_ISIp4ar$$g12wp!=9s#Q96v?H@Bs6UE&Of+`lKO z)2aQD0JERJe-(6E-IAs!vs3}6-wP>uE9X1(H!B17=km_ZzPsa0FaWiFdlZ&_~a}Z;VCZjaEE(-O)c#-u`^?Vsgat zM9Dk!=KaHwvptP{;L|5`G0i!O%yzu8Hr3;i8bjoXgkyiu$s$9$0cuRBaM{sZ3^>ovG%j(zhx& zahrQv)3|*~UdTI+5Wx>AYNxKv#LHSUk&mgxfkgVuwoJrXZgG-rwg)rwB=tR)(dW52 zPk&I#e@k3}yonF9RA>tQsMxhg@(pD9 zJt=G`BM1!jY?`Ke1gO+{oLk4J2K!U-4s-%KWkiWq_~|sG%v_u;OUw+rHE}SunfOa( zf2VNw0dm*`5W}dRuMe|%9L@L{mraxEPZ{FlJe8CtLDyuUTTXsDZ`2myr(UjYWNrJa zuwm%*)r!da=Cstk$(Bw2DlOw6H{q|pLbc(ydur zV7lZ_;W9}GvOEz(hbdNIF8~D-3FrqPpDz5a@*8}HbQ9YKF^a|&8rI0+9{^pMvImr+ z^0>C@+y6bCArHoT6@LELTXlxln_&ASt6K_PAL^^l%zyEo zoMK(KIUG-FkZ3dO*ZEmqEFYZs|5lvB-gGJa>{GWyb{gi<{Z01kw7nP(a*w3o&hCQQ zTG9*lOK9&?_oRF}kft;jD{N!4e};BVjoPNOFRQDRK=*n3yA_9BbkYw%{R{~Xub=rWezyH2<?>9gbS zxjw{*5t0%RP4wh`q?Bw+KFtA%V$=k;(&pK;=34;I&9Q$Z?dI=mhc8rvA&lI+W4=i0 zn%x4^lGzk3)rRAh=W`H!Kn63vx|w_{!apyFZi}N1i}_CqqvvAC?7b%f`zC};J2`fM7f0!odE{Q``losY4SV3+ak8#4HD?ju4kJ4pByDR z{1KVf2}-(AoPR^ic|e#Pe&BtNTxv@q-3!)s2^EKlj-y1DPXsLaf7<`9!yZxC=>T<+ zSXv>xxJyi18*B^?A^s6$zr(9?n?n$@1Mv!R#O&F1B4=o8a3sF8HQ6J4ys`V}6S?`A zcQi+Y6d(4{lVVo1;z2Vn{*T4ql-VS1=K|rOaO(Ro!x>?BLj-m}kUky0N>4;ccLTMr z;rKj7af_(#!}AXwmkm~vFF7bBizWDXDjVJx7DPYb94-rkto4BqC4J!rClDo{sI zY_$h4jBw9PotSai4H^ElIy(p{M_bH<90OlAhF|#EO)Ctcf3P{3az)2}_ z-?T;ya8kx}8@zyqDbV9Z(s-6Jq%{1oH|y)p55E4u$6tK%dEYA#U^;Ui2xdo08|Fj99X@{#Rb{z> z5Ecro1FAL+6k|FT8Wb(Z>0=NM4PO!j&_DzUNFag?f0}4R#NszaQ5dvs#@YNJHXZJ! z&ZP4rL|?E5+_X-o#{qL4!t`m~Hi%e{R-%DOaFoq>A@)r?JnyJ1w$@4uWAXUqrZL{2 z=^iz@!(`~+2g|eZ{l_1C{KaSft`GoI1O`x}-=ppinTufpOi0h`kPe}ghMj1`CK|Bm zMlt&Pf646s!@UyaYPIxhze~RCu2=ulaBmEIpL@(=n||@eq|EQ3mDLFpJ4UD(7nGmL zm>*PXXX|VyK9m+vZ|$gx)R}Jl9BIsSXckHp8l0Pe-kC%LchHe*=!)IC_Q%+>E2)1CAa$MEv4eZ<#tl zF8rXWP|h9Jchk8`nk}79YUB*i0wxad`|q`UG8yAn)&HS?Xw(&A$EfJeIA;-Pm)S8= z-rNWe-Ct8I{#RRo=9w=*FSlRzr%zBn#g9fcFU5ih-Dq+L>8%@@`#Bpki-zf-3*XId zf5w#)>>I~pV$pR8r+Dh7QSl&o39q$7io#WOYRp5v-R;3)WP}P#r}F+qBb}@CnzF?= zBT|BsEJuT0b0YMmI{4rgik1%pt#?^Dw*YCUVC_WH3ufDM(|E+McvmwmqZRy`@%+PA zNfm4I971mzF&`m_8q96S`yIwsKjdL-DTtx(sMsy>U!Y8l!6;U}^$J^)Rp*QE z(x~im9c8LA6iHM2C$YiyO`EfO;W-_gv}O^I!7%R-#6G3F+BC3->Jxh;f8hGk z9xYAU-v%<$USlqh=P0@ho$>#5lkJD({kh{+88@}G^Z8k4D86plR{RD1km_?yS-Bpj z0G%FsqN71PnvuyLQ)&;4X616m4B7*u1-YC#yQ9u*eA|s-J4Pe!9ThB#POR^6Aa|Fr zu{Yu^H;0SaSnj5HYxo+->@NhTO9jLFFf`a8!X6pL8aGYI${7<+4fN^feo~1lktQI{mOurm2(`qt(HKDK-Jx!)gk2aS# z%J9?)cbq&-$_eZl56UbsfKr{S zm1*QMjZ0E;J8XGBvlxc_+1c5@54@k9Lz2djrxy5DmI-#UZPX7Q>n?ZLT^e)-xCQ(s^Dx zKF*jhJ#j1~o{ z4i7`U49fL$A;X;az=-f(1XYLX;Slz8KHol5-Xt=NM5!~^f1#YFI_fRt!my4~xQ{)6 zJ%lLZw4eRY(f!mslnxb-2c$L~<#S{k1WKHV|JqN`A1Jji{b1k|?H2$97FSOI09XM4 z00@NjQYqvC001Hb00031S5H@Oa%^M(@c;k-=wsq4(~}X>4h9c?bxX>qY@3fAWY1zYSCXh=K@# zqxKjGU;&Z{^5O8|03c6wbZ~WaVkd7ZLjVELHRCz0K2<`~#=t5y*YiDwA zb#4~HA|?}X`r?9lf8p-zLvL(vasr6>2zulg#1NWt)2%#p)2%#!)2%%0?o)JfWo~D5 zXaGnQz(#CuVd#0-!j~j;N$OW+X=i9i$e6*%00960fB*mge}Cxz4+7Y}IF#t}0ssI2 z00000fW@fMHAFL#BqA>sxSKtU)J%18>qFvt-ie<>T~S0-OOE4oH)H7?|Qt=p5?fke~c{0e9Id^p_$@|Y^<^-1Q>s; zCfBtrV`<(8nq31<13jo9V6I?rWPR1&Q7hF?W{%o~Md3LL0E zQw1osK`;GaumN2J03-!WQvd)M0ssJrU-c>E0RR9O0RR9208CR%X>Mgxba`xL0P_HV zKL7wgKtBQ~1IR)^97YO=Ao!QqNdY~7gbs%`k9TX|HpbXwr2&c?ph*Zc0VuUE{h(aE z0suVY09u+zBu^j`((0PmVk2^?Kk#kADHzl#VM`-z}K5f0_T6jl>Rg{$B?t z`2Rr-fd3Dipyt=W0{_22O!NOVCrT`zW~P!&JufXmm7<(YCDQ3M8zGrVWfKUQw39}s zvxqcdu9r_mqa-2Zr{k&n`x3vw`qWAw;cBu&gLE70l@|A-H7HGeAc8(wk`49rq z)s0rC+J-jp{}=NAZvU^t|CjxL7>OMIzlNzHmH!8WV#@#j@c&;pZg~ISMvfDr7X1It z{|o(p6a^IjPt{ia|L*^Pd&&F%E&qT07^JlS=kfnT|4(A(?Y4SNO$p+2W-6nUdB3!5 z5lnH@LaCD@Gr(Pxb;$$;!aygp_y0*Zjr{-VY}U>tQ8f-PK*JaBMv!|DGJ2rjNJN&ml=pPQPsT~zb5o5o_$!~ZaU1^@6J2Hr6DKkWQ3 z1_eeN|3WypxE`4<6F`p#2rjNz13xvDOh_jtrFupx>nD=Qoav&c**Tm?4jFwzi3 z;%ds3gDNG0ymh#22NFy3CQQ(d(yttoCO6>PCUR+7IjuKpN(Hhp2^2C3d{8R!Otf9g zmSPNd3^|r9UGRc_dOm4hHlL1tuA53JR0Mhi`DpzejqrtkkFXI=FlZyg_=jN_dx$*$ zFb~`Tyo2)()yg1dAUltVj_I+Bl)jI>wVIbR7={;2I80HkmNm zPRRNH^Ep2?DVb=atdvw&+o1zHfGdGMh(HyuFU? z$fZC0@c-VYOfJ>XqPl)}M1(NLn6|aMadYj7p}RSM!iG9+=uiza$yCpFGAIhS-}Rpz zbHkqtX?t!`Hj8k;yT4~Z-W$JHH~(Hx}SPkWtJ?g_@oe zF6hDp?_hmR#WlJkj*4}AFb3cP7GsR4A25`EaBeZLSe;#0E-cJzCnZeXO>!B`xmnW5 zQAVvEe1S0VgWKnU43ytm@;aHP>IK`dM9z+o2oGft{r_N=%cKqcoSme=a9oB~)jCG= zvF>(k>9vtaCxhXJ%bc^wsR_>+A|9cI{|? zT`OiCt$(R>v50js83-ynxF8-uH6#mJiSD7VPzM31qmDYGL~szf9^yOd?W97n5=BI` zgT=bZp0S^Zdd3Ucw(A|^piZ4#JGP2M#AonGM~gYAWv#*Y~6=e+TDJ{QlOjlh{Vmv40tz! zWat5-u&I{_5+R209*O1s$`C~uQDiOZMqeXY1|7m(!)by|ilEX-I@{RKxo$3h<>dGn z-;YOu9$Z2oxVYZT1K{)d0$Un-uj_B<_l^DoenU=M({x^Lq|j?^TvJWebH}=Bis}h| zQ&mCHR^8ho-Mb67ah+S`R#seL4_tZYy5RB@AyI!-+<6xV*uD97b7(AIC;1D&qDZmW zdqBU`(b>A{wel6IWP&-K%{9v#53PQ`Vwp*&VmCwC-@NzO~(Usokw3ZbqbN zpESO`>*3wVk*$@kyDN7)vO|B~EM%RV#n-pO3e2K2cT+hNLO~THE%JXjfE7C&9o=AL zUQ^?%|RkY9Vm{`9O_o~=f5J$3qv8oVwmFyNH zdrR_ym+W=tNx0%-fIt^rhGiF4Uw5b5!S~1ZTf_NXf7a^%ulf`7`u}YL^DvE5Vq;b=ij3F8U00009V;I0V3WRZ-MXA%w0~7!h2pcD43I_-Z1RWe2 zfFNN25D*9eV2}WR3?p1BpMTp$c^>enOr)2V~ilH@Ix`O+~M2~qW zV`*&0e!3tZxlEhWlt)IKjiv4)B}xB)jU2u>wnXYp)(`i88k1iw>d}fv7-(@*^q;KJ zyLn)qtgi1~r(pa35tdGhK$lK<%#rozr=`3NFv0JNS4aHy{Hs9*un}9-Ei9<$F23tm z<-G;Gcg&foVrV(zR)sj#*=s}`rIiz$z^D-mY%cd|=2LgG7hl>RJ4$EuO4C#BR#X(Q z=P(ZkuPVoXlke%KXGQ9@F|aafJ++eYrNSGZ9t?Fd*w?^fdA+*LT&JQY#**E*Q|KbN zYykHbQ&=0~r!ze2@!SH4i|HGaiN|tg{i~+caZm^?tSQw_y>a4rHhmXKmi~u*JB)SZ)di~L4#DD&tzhkD>3d$o{QBvC`IO(&G>3y9gSCj`?x3;Qt5J+V zBZp0yB#=b#ic^>TOX;qhe`gCHXQNh%i8-Yq8} zaXh05$Lz9U&S4eqbGn$mEcAIf;Cb;#1JxewQmr*;= z%1vTV>q_8^P?jc6H5wIP2f>J5&0xD^g8of&!;jB4^BItcdP%ZfX)ieD{tIOJ+5E}5++8S#ePXw*nKFZLH6}P zuhZCXxnP`=U`ytA3{o*hXH$Py$J?S7Tu+PY%k5CG?*zc8JM=YOUsEg7r*gmRxnUDDs7t~!|OL~UBYoYJX7g+e#J2Lhyd zpZl8TEH0ak0_@)WzFf%jB8_}i3r1ngOUZt|+$rEXlX;dC)w7Bu9sL;unk-=>YG8HT>nMVm2woA><$rVal}mL1XbiYF+)KxQAy~Jp z4S0c#qX2zvmtkAKepRb2N_#(?nO2S#1JIz9mR5=xerQTBx%s@S=W}0`f_L_FOM8^& z*v7?bq0Cn(U_WIZ0AAIMr!5h;*V&x=cdgnn;CTRWg%N|NL<=I8U zvi8NB>_CGzQW+jtypDwZ71NQ3x_y8S?HX)rfUNX%RwsCBge*5$0lBW#&P~NpJs}*h zz12*+UE5U$vx|zih1knxF^lBSRhmpkB5S8+WE?b5R2d>H7t@=y0TSSUuXy*yzs~$> zkOn*Pjl08&dY!%P`c;{>oO|y$Gp!7-#^*sLy?ipmn;pH}=ks{WpSxAXb&nc4J9C-# zD3zpHGX?BX+5D@Tyhu|Zn8B0bO6*F_Ya_S5j1akl5A(b@{8H}Zg9hWA_f6Ljd3j~& zr}a)=W524P!Ut_Y7h%zV=CfayV_9eGt9**2K`}LtrHu|}%{4crjNkFcxx47^c|Now zdtB^Rg7VzuqnFqD^SLHUnrin~e=HZW%MkMrPLW5?uvs=kk@|))D4KWWzML#lFLJv1v-k7zk2xNS zx%eVclttpJ`$&{Lywx68xp?#78}45mk|)=I4uyIcwA>7u%D!_S=%W-ivxYeiQHTSu z2k>luL7%1@PjgkwhM7r*sPa+ zYNg0`mi1r?W=u_R@ot;piSt^ka=^}I!NzZ^=LHG;T(%H@Ot`Ohv)ISso*A&6tcSD>YXk6b z@%G=%`RaUsaJsw=dYx{$=!F;Ym%Uj$Z+Z99{Y)(TW^w&#>?6Zw9C0(hyMDLs_%wAJ zb**K?@m0uNm9~qEIOd5-(IzO?Ui<2 z0E79Z^QRhRNow#)2X?yBgt&O&$b#3gXH&C%(#dRpk;A-nW)1dmBzMBoO6}`F`BVKk z(WMd*sJL+?0#+bDokZwBpEeuZr4yyYg_@~2Sf<4jJ2WqypbD;PE~n6I9E%}bP^TPA z18HqNQo+^h4N%|24Yvxe>FcR{H64$=Ui|(hN0Vc1he7Va1lza1_FsSP(?#y12@zq3 zm-JwNvPT^o|0$?W5++M$Dfw?JI8iv4I7u=;^a{3T3(d#IwK

EfC}UYZFypa@JQn z_hM2|Kb@9a?z?z(Mz4G>6TpKEx_e8t7iP{1dx;ggRaSN}`~1sHg_8MH89bd^`|{Hj zp!}asUJ18c0?o9QWFT06ZB8ePoZ^k1MZp1o?3?=ef-t;3O6TA?B=9zKm~1#BlGgq4 zJ8gwaD&&~?@WfNcdv|MLkjCj^HmQRWlEh%|P@IVelnZ8!R~;P`fVf{mM?3==4@4r(41%@Eqpaz?LV)2J|BNO zg=RS}Pk`l2<{w9G)!YB%UP9*Q?P3mp(N5>yJ+=q75PQ8@4akr5E;Avb z8MYxp?Ry-J84i?MTY)fumVRZWnrUUqYWV*ND$%&AtTbOi`_CcwC~)~K4&u&2|c zbUQfNv&kZZwJ4ZCK7IY*rxPU2V66_>XVKpz5i_U<*N^Z%x7K1Z#8x?nG09rUkv zOq5k>IO^St*N{o1I-QWVKUefYxXeG87X}f|gCvAOQGbJ&-J@gkaiJSyAHZj*xirTC zqf!4~HSn9cOfX-dA>XHvpLa|bhgWZ3>_zoJ#P6o^I_1bzVAj-S*@1f%*{5u(vBU5< z{u+ItPHsKwQauXAf};$7{4O+ZAJj)@4Qgmp5N!t*9;2<%Y%;t@^g$5*H5NuXlaJex zH;lbrt`O*uayp5od&@cUmB#LL$O(o0+=#rItZFVH_Fo%2oI3XUz4jamrCk*^n#>J} zS0gAWVMTFb09?z*dN+ejJ|N?vL$-hmx-3_waUS8Gwhl@>HB~ErbUGxGmuxVbOL_Fu z**M|x*GA&M*C2IN=JGQ36FcpI9Sn-*Ew#CR@xM$-YScYmTXXE*D(YKRR|l$N^Hrg@ zYJL>Q->XO^T>N`HD~)6Lzov23OMH(<>J#$+>(T05$QIMJpe8<+ci?I`{fyT-T3l1A znL6Xt>2%62iXiuYAKK=S#j$mI^TSx?vj5AUq>uQPlm2Dgf%qTE`;$R<88LzICDHW5 z=W&P5w%dds<+e$8TWN^k9No8G?4r$#d~wwhzkiD@#0X|=9le^I5DBBpR<^FpAeAl` zj9_`s_QLbwvG&p@D!UFaIdeOpjHm2ZT9beMNVo@WURij59<0GNnA)=~*se<}b?a>O z(gmkZVO#NfHSHSRbn3F?=Y11t<^SJ;e$%odpiAY^p(Bao^K-s{a0-@*_g$yx6TR`t7WQS6;} zt!~ZNYqp(##WPFmigUlG$Lj<5F=DWz6va&RhoY@rWeacADqMNL4lxnM2Z}4gxp&K- zU|i;ZR8@G4JfVLVMIpeaJTR6Vf_eSq!5{Z84v9~z0UXA97_hn>B<=1T8yr&9IbzN^ z2nz;AJCS+q3*cuxTQ$ez9fQb!lazxPdyBM~a38vV_xj9$yeWG04EtAfkQ&8*P}FM7 z8Zpc#h=t~(pL-LY-I{a*4+VbjB|>k2G9_ojpt%G}`zmd;efRmDYvu!)_!A&|!|`wZ z%Fv_Mwlz*nPoFc6xWz=r%Nf1KKYQB@iIV4r3R$MD^Yb`TA8Si*Gs z++%`T$x~6?ksrY`uBRm zZ3Vz}c4|q~Cji>+%GxSQYk1?@PzPT&F@53QC%VZxqM^6S12=|51(Z;B|Z793fB zV^V+iDi$FM^TJ>xjo-k>Wx!b0PPr{drB;u-!9X+Oisb=jIL4E40qm%*mj&fmq$kwb zpWqQ4DeN+`WvdRP@s;}>FeN&&tUlk)9cFJ`tOCSnaH@)FAzyVFSQAD z1}4;xyAdJx5mxT**M#5T7V@pCVkkg~HuO;{AaxCNaZkVmok5&kAOfkW6 z?jnU!M*)YE32sDU;B=-3kt|=h>N&iPg%YP&D zc6;NnT_RK^z`Z@Q?Z;eduuD&!{^WrZNErDPxKWdfTWpJlxBF%t#%|>I9IwfLG@4FE zZz0o?Dv4D`PD`A-_|({6(-q>s)G|@>>lRR^DIy$H2dDK=#v$|jsTliANaDxAwaI=h z{-XsyG-a#ZS|gGSjf;5RQL-G6y;A}U_o>*CQAps90{kc)m*$9<^OMFSAQ(Q$?8`92 zGWr`pYJ%x;84ED>k|NGF2Pz!IW|Lfdk8w6s1AG|#Pu#A2q4`b&g@aml@C<&&z_B8#gU=&>f3O~(OeCNj zJm%o%88<_HDVvf4dl=wm;XwUC2=yTj;2(_J=PZ)#yrXq5_*Rl|hWhz2 zyX47N-L1eA=1b#m(;)*sUBsGOdG+50jR^W?LPFiVnROr04g|8uM$jEB;{BaxdtWj; z2#XnbEAxG`bC?UZ|AStCJ6ZTVKTaVR;0ndE{9DpPAG7(rP)_(~*!Xyl``JOj?wk@Z z%viBn2#}fmQoC&8qm*T@70!`cR)L==MN%GO`g?=fW_L1Y&z2;CbDz-VXEdunwGj_` zjqHUEmTY8nka<+edD-DtEEH@OJ>>)_USQWL(9@Ff9IKojq{C&0&+r?+& zh*+q>s0n@+t%5<|D^SS7H5`IH?^N3;3`JMFn9N~>h-cYSra`rVMf2lv17k1a{cf+c zA0;vXq#pn}-Z%>Y2-cYLs4?FtFW+b|-v|K+$S+7p4AwZ_HQt(<>)bd9HwbzNbmZK6 z2zW?X)OdE&c64}uD00zsb_jCNHwbcY0^M@xaR^w?a2U=tZr#@0Zpd-i%s@YIdUBco zkOByn-89}g4K7I3Nb=|{Xe+2JNG%8~sBsPmG%_!UnMj$>GBF5j0?2HLn9GQOF$ii1 zWWj1^%4lY4$!26|XmQ76W=L_y2x4FpIo)C?SjAu%#9(TFNI;hWe*y@Bfi81pY-M9~ z00Ivx;eIeb-%l;l`0*+#Cn_i@DJdu?Dkvx@2ytRKGB9CbG%{ggCn(YoF1o?0M8?bR zLx?OX$e4(jE8Q$BUS80)9n*oJ5gr;6oi;$Z(j!TG+naDJuwAQWVhodQ&3Zw?q=t<3kqRSXP*rz1&t* zSXjK=R8m%`a2UJXQdEd=*ty(ZTmo2}0LB0aYuqRiCkQgg(5M6i1Ox;OkeHwV005x8 z2xungBPb=vC5R+wa1tmc-Xq=!n8=q1-6jYn2v7lkP)L}#+(;!OCQeRFO!?bRC^bauYZp*HI6&Ght6GhJHA_u z%3!Xn?jq-lFVtP0-?|$HoIW1-l4Nqyy`^UQ_0La?tSQYhue<^_QltI0l6m2&Rc|x? zQ}jXfMb{VsEq|H!j|5a+#;z^oc@HU|1nw+<9$oa`pw(3@FFdN8Y@=st=u6qD?G#ww zW*oNy>|N&>RVS*WAS_0 zNL3j@q5|aB2|}43%!}OlRYCK_4y2j?tq0%2*~$bRc)qFVZ=jB{4Pu4GW z`aIKU3K`oU#&-P!tf^t#`As_Py4y#8jx)>nWOv{B1BOdKV4oXEX)IdjF4Vr%0S(QA-${S&S0E=Hv zeCCG&wpa|*tFn`miO+O~W+hr{vvhr$#6HtczLY_L$H6jBmaR21X?cSCQuC{}?%`|I z^9{~|qkZgS&#m@n&p_2)KjbW4uF!qxlw>I3~@oEykvs@q45Fx=vKS5Glt zZ?O|yQ?e`eQ6j&pOM#}u+AGj~$scR=YU5_v?Tpzi*QV)hPOM+mz^#M5uhEQGx>!7* zrU8G+@8nUBvh<%5*xm1Q0GQeK$9;G)N|};W0J(L7tk>gtk@37$ar0z<*QD)jo4BnM zwx%lXBs8Q7G=2U{9mY0TNTEIPdp@x=^*B+*)J)d{_$e4>Fg?ZLJZECLh z-p&53J3X9YEqA2hrnF~QxW41$l$1C{-jK~=$}Xt%x!faI7tT~(1!jPi=iE@x``TNh zn$>>u=KAYjlZTg|g$^Qr>$B@K*!u9|`k9PC#mC!@dpH?1?db?ht;3UdGU7jsh5mGv zK{Giy>X6f0z0V`(tAgmZhlUAsOggqiN9JzdU8zqAvsa|MkU!h?N@F&7>fvkI)OIJ{ zuWI1d;ojePCK&wyP^loF=;%5z8h|1)lLvB9f9W!J#u-77Llk;0#|T2^D+XeYk}@6? z&ljnRyUJQdC@8fr{b0}ytq1^Q2T4r;01yTM00`^bD&&{EU;!C_6UdMhD2@mK00jU9 z|9}5~000OCfImnh-w5Q}7@=V&2t+|tK~MzKL;{Ea*XaXT)o73a002{LZ*(9rXb3V0 zsE;#92sG%9HHb(yC^slLP^b~go5B>f)-Z#SpfMd1K+#APFThC1AZCPT1V(7Yj$npn zxI2fPqYI>F)a7`8p`Dp-0+VawKCfMf?^N*H(fLSXF3=LgY&lUapDHM|Fa2PI&z+M2iifFBUtmsus&NkRHy>^soLZvMKL}0O z&Sqq`M{PihK6VR6mZ6Y00*|xc)!eXRgsU*uV7QX9a z)aYFbW&dN_L~mr(l3U#97@`n&GFrHn43q_o1e*j}h^c&|8f(*DHo_I!;Z{c63VBkl ztTxK6xUw66sxjj>b&pEUGlrO_+>o9YM#2Y^@vaR96<(hZ`>0sR4@(6)`n)I)3`A$p z(Fh_vTn1Xj;6N@i(~P)LMz~`nf!tAo$Q>;#BY9w}Ej*zNRVJuF7iFnNJYKY%eO)QNXa4vIN@F!faq04Q>l( zgsf111(cTx6R~8FBhib7HW^7ZednBB?zAWT7PR05+)Y@8Ayse~$j21k`(At8i?QHd9+0xEzR!klwM#E1ld z3ngizg;usw0aJl1^KFUjg>VT@wZw>FWw}Ia#RL{^DyWzUNfk>*$pmYKW8#$pi>i>U z5sO^0SOl1J+Mt6K%ayHgiOh%R+7hYz1Qw5?etj;uh_Tr5y+EMPI<2OJAtCnO!wC`aT8c-_G0NVAP#NOFZEjKRuP zF>p@s8y0cTdf!aD{wV)tuM2?`+ zf;@p{t5OSBw%Q^S5^ll4Fd9o1wnf?6qJ@1pY;$cP4bByQ;N?=45K7##s1 z%fU!T2FM;h_=1(?U`2C(;L18!#%)}1DnHNw$HkaJVqBCQ7cC6PNfFpK(!r)#g`tWy zL#6|k4WSNRbB=UGjz}3L$;wtSu(;d~Tp0@+S7syQ#t?Wwb}`n#ur5kf7cFdtIp^fT z3fsypq+Wyr;Ji?+C~Jl=FJ9Bg%d;=&jBrGLL7qTnU#w<}`@)rfm1D-4fCc780Jz37 zrGns9&N)4E&KEcyv{;k66mju!W5DPaEm(K`U|!c3Kf}D2QJ6>%7`?qeg0m2qkdHZM z2tHhjxcG2sDd|E4Dx()Yz)V8GV&j7zj83KqGj-BT_)DF>*t1>!@4iSH6`3K-DMAx- zhJc025)!cH3;~;eb5tbVweD>^n#VaCI#v^X@r2rwh9I&FK=?<~JPu-ALk}Xm0ECBt zXh6EJ%_n#FIr3;9H^5j;p0Rs0kGJ@SUTbpD^5ASW zPt&*#e^b303DcRsB7c*+I|eipNu=MapmR(lx;1^mTBsibcxxm~L;WVrM4CA^bmp%n zaudm~^*^P5wnoCf^J`t_HnW-I!{L6DXLsG2hLa=QhQ16oeb)5XT|X^#BDuS>=A0Z| z%2j2YK21XXrfowz6V70lI$>|Ngf{v2{cxK6#X7jiL;a?SLc%U`4HRFy`$P$CNZ2`` z_?mXzw%2x@ga5g^PZT8MMic5cX`G|k-X9@h4Rw)!cb(o?)LrN9PHGr$|NNorFWnk? zoAQ|U;WGG0c8$sRow`6r^^X}^B>fnDP z)0`%MH;5FD$PXYX&Pn;f!;l?nNCCn{{v(GTI23Ua0whQc9Y^E`kdDX?AwCr8h!m;e z2LgHo;pUt?u6I$Odp7_58|KLnGj$^Q&iG`q6GmsFu7!|kt8zEdv#eAjTh z&KUI1)puC3ANqHzhx@ZLlba?RxpUnzl&Kg(^F$jvpTugG&^*yDwmQFzzi2_f*z*`M z;vpWP>DEI=j0CBH2O~y2v_sQ8p^1`z$<4L({9pahe`eD}+uUlu`;M<;?Hv6(MRHNB z)Im?>dM(Lnudc0Y8y1-@x)e4C=H|*gG9xSy|Ei z;&7)wmsS4o|YYcE=`yV$cnKN!E3q^)S~K2L@SvRR?fUn}}|tI33aYam-D zuwhOUQHeumeyQpm{Kb>0jz3s)&KOgp(YS;V@i|RA8mRN3S5Gb;%5Oot?|(RSUf=g@ z4xNz?Aw(R)~?g*r*a6p~-fsIp+a373+lRV4=Y2c$Fk|aYjLy zK?nlLA&q!(RvS9!%#pP?uFRW%8S7*zSci*|b;ht$hH}vAv|u)DqpFPzpS_vAyv%8m zv4~QJV(bfOL)P3jzf&ZXAyC)ui@hCVUrrW@?m`|HwfIKG#^jgT`CnY*Q^@a{--NpF z*ZQV&j{Y)sPDh=yQSq1;7x~E|nbfDh342fS9hR)=!;SZ~*z@;pkjcS+bYQdbILAYk zOdp&xvKy*@r$}@LMB$th?$7q%IP50H;{bO+h`$+Og4Do63W?5upQpC*IOQA%3Jmt! z<{2#nUF0+1JeejT=p0R`2h9*L)Pi%v`M3_xv>iJ*pdFs_GY(qE!KrzV?|*UC{=KfB zy=(nR-~SadirF|UEFh6owf!6ie+wujP{PFAOc*H$a9CJCp0RH>no&ddmoyTF01uH* zlo;-lSdfcU{F7J~Rv=e#!9R)B(?5yT^n~hOte);ZiPbYl>Dtpj66f6N`OlPc6gkdZ_ODVOst#V>jXN*6dopf9M(eXRPsd zoqwZFChYkxU8_;ma~wltoby}n^T|y(gRbAZpC1J6=byzg)$w+Y0vyDy#g}=}J)V!_ zm_im1f-KeAlb93bLd66L^#`Dr~VmvQ0L>!T!+168+UuJqoZamHbuO)(|;-HHh zoHlwME+gd?SOt_#xvb$^RA{Y^jfSo=o*qTe>g)M5+-?|x}KX& z%#IfoTFbxh=}pXz&~*Ol}?v!CSKLwz`(#Ck309~PNHM6h1#-*4|vbU9Nwv_}$v2#FO13%GAvq zM6aH7j~j+)zt&xP+%Uv(a5nPrW;Mgkv#CJzw=VtqcEX95%WBS4_?fAfj)*cTVMN5cWpYaKLm zJh{U~BHz&a;>0jKJ;8$$N7`2l&Ol~^Mss~LJNzNzb2p_j4StD63eBH6rm z)!yXb%yGoUrId(IDG{H#H@#XsSnS?p>h#uD?CP#x7wR`vAmltm z!d^d;sfwc1BcVHEtyO?(O%!WK5)p#AA>mETi*x9Hf2~a)Ii{!r->om&aK-|l)i%a? z{|%1A-JR3!=X&Z$I7GtkJ~JR(zo72UGh#iM_Ryv5Vr* z_~{=>5mzZ;^VJXY%V1CCs`Yz+FN*Vh=v9x}jihcpzIZZWZw8Bg`cHrZCbqE-8*puF zGGTArf12Lf=I}@=kQy9sH+^6A@9N2IK(uxLr#XoqYW!b2=krgrD3T2`2h4q*pfdKV zX=OxRn}gpV6D6Zl>-TUL;xk4KPh#c4RZ8Gac>BdZQ}dT!W6^W0U0YXi00(r6ZOan_a}L(nu@qjZkk}ccdn<`e;;lwO4sHZYEOw)*Y_DLiq-MP=KN5i zcde(ym$5pdywCo*y33?tn#>gpZ`b74HNQ4f^QVc{yMHQa`h+zeD*XerKIp_4K zKL2O+#oh^~M&qH$S*54M8^l#ubIu&oq!Z54wLd-%v_$ZM0H&r1V#p64I{e6?2M{?l ze;IG>8+F>KAhYG;c>Aa0181aZ`}=bhMHg35g3URzi#;4}@QuPGmziZoY}|_eyh5_# z3X+S;d!+-CRyM}@%IGVjr;n1&xMK0n;4kI+-Th5id&V}*(Y1a*obm5>&8S`Vf4(ir zt3Sy_(ayLQD{6c7x@d zGik-kx|FeYT3HF{)863>z2l!h#5UaaZ}l97eV9T-4Emd@#@jbah-;t8jUiOt`dSBq zLysP$>I5e^!8A$1L{Q&ru7|s|;AhB{r3v1E9 zw$T>4LRAN&q2j=c28*Ndq8J^OecbqA)Ho=iGtB$}L_?P-t-> zw#|`h3r)frA*uRaEwE?}mJXzARO3Z$P|?vi`dlQLtyC$vW;y4aSw;a+Lsi0y3jhjx z+}aNyK3skb838GTh_7Zy({JnlOA& z`7q0pi(-9kXXyBjx1Ufr-ynpj#V1E2WQQO_Zb0EQ8WDLy;auu;G^LDfObl;NWxT!5 z)`v!P5k)WvLF4VW2V+_rRj3fX805cZ=01!|% z&C@W7DGw9?2q|u;5LzIMOF^?_Mma*10ssI23kd)K0Ir$$>bHJoqhQ`K5_j7o@SjZW z7w6)*XKUZa0=6BqzTwWoMs6+WRO!4MfgpHEAHXLcI*#6ze?vS8ZeiNu9Gd)m8p+Lj zlU**Tx91`^2>-zPkH3Eha(zDM{_T&;-PjaOb@li4A`Jh+QRU^7P`X?!Y;0KI z^bu^ISGs>Je>R(we*<{Qfmx7Ip4=2)at;qo$l1IBbm0i9_!PcsGBtPf;=M5?=b%#G z5zUhlO)#%}wFzmRII8eYcp@g7`B-WsE|;PYfQSty>MUm;tSKxy4O*JGvSPnH*~A0_ zas>K~^D?c$BrQu$Ge;>5=wU|T0Avg``-Y&%q}MRqS%CY`4uPqdqTigw!L!AG6L_RD2u3gWhXwnG zMQ|gLz~fsJc(L!3=an`?G2h{~4_pX+1O3EmM|3mSpgtH10(KFoGaDC$=D#Gwb)!hU z{i&P8j`b~E(ciiP(gXZOC}Yt3<{fAdfD=pvA}>%~rhDyrgoL1Jb;68Dw? z76#P{Bj))@)Ru=dOVaIEUfL)Irv8*;O2grEq^+IIQrd5pDRMD0Q#*A0%fVcZlTh!i z_qV-lC%^o`JljGfo7;gGHawYiKQWvH4mJ#jZEP$%Idl-*YFeA98DaC)IcS8_j`g8-Ye`UOV&=vDX80oK}ZBtQ0bE^|?X(4!I${f4W~`H=3{;HdW0J+L-<>Cfs1b9fLn z40Mh}3wo{Pa_$;F(NFTO7acChqN2|ism3gR=bz<;Su!4f3upmYAH_k z8B~aH`Vd&+*Mq^`gisephuikaP$P3BzEgF)2@Pq;wUvRvR2<ZH{HR}HKHGolSD{b3$|?eC;G1;y`$ylh1;}!Bref07%Qr6@?D}d= z(Cvfd3|9oSVB+M4ZMN8Mf0SO^tZfNpz#e2{?8i;N!xmxQpZxF|R5LOdbqU`uaJkNX zj+qX%FV?cW&#eZ~|FWfX`f>Ue(p=-6xDh@1%)mfZTtn|Isd01f7gE95tD43nm40% zZHrkiWV5M)>4zJ?=no-E_Ya}ozeMlxaU0RcsC$s^so$7`CY*9t)x^zEu=KvS%2a!?z}=3Saol5`4Tfh_Yu(tcO<+m{Fb^-D0-J z!^Xs8QMuM|%1UXke-%8M&vO%Mvd-}O@-Asn-rQj5;9Cw1KXwek4*c)eIIp)FfSXj- z0=oO1>0-i0vI1bYQ}nn}vf&$=FbLaT!O&w|;K3dB}fCqX^f%j;bW*rU7n z{9%6uV>7uye0Zl-@P-CA8Lrfs-TemLM2Ou=K_2c%#lVCXXX(D5BOfR7cn>JyS#A8+E(oOP=FRWX~OT5cUB5Vq_ck6mTTBo>-Wm zq4KY7)0sXY74=G8sv|NuHnODTdNXqM(VZ@r89$&%6w&{TZbrd7a|6umHFQc0jbHY2 z)Cb>OZH=QIf0)F*rp>h7#ckkvN~_e zAWDTlw4>-)`E`#-6i23f#M2LYnG)Tg2jvk`BPB+Q{>wIrnyU@?Y5Be@5oop^~z`#Q#cGuI^Pv+`YE) z(w+lOn=)1y@{2d$`;y*#$eAI4hl!@>iiuGUC`Uo{-U-k@gN{eP%IQP{=v6qP;&;RQtSAj977znQBCYrhyAYnR^SBhnBTGeIP zPT>KYe`k&1ju3SDBDl-R?e6bRT4&)wRlxU@z(^8;^U0vF^C`7+oss!5z8owG!LO&k zHxh*<^T9~Edrs$*GU=aYqssFCa=+^x8UBCj552IB*_E@D4Ck@Vj|Y&m0pDL^ocsLq zL+$w=_A{=>J$WrqZZnJszNTM=*Vzf`;_~!de}!Hby{_H-Z~uQPhnr`uCOwZxU**@^KiE+bdU0KuOgO7OJ95=Hz7 ze~2WyU!jEPks*oKZnL6$-12*uC!a;|13X%96n*kRb&|UI8lCMhq_j>T`?#N<6|{DK z6aFb^-+{P>W3+!oNOq?3=AFepRGfIa8J~$tWj9gy%$|-p11%c|sg`|YL#mF!Rew zdA+b{)v}@&2B|lo8X-xhX|wVp`ukLhw_~K^()S%shX$&Smi@Kyxuv0lYX78wf2KO9 z$TuiZwtL9Act%I)M8*F5HpTx; z^^E!oZ&iNh@2~3m`FG#*Qjckn_8LMbM7hI8yPY@`i~#n&0y6zHLFSxzi;S!P726dE$kI^-Xo zH&X?f`rOMoFy9x;a~_zpv<|~a_(MYFL#sQyJgsJ&dos_|e0etf2_M5b zYt`S;#n;WEj#A~B(7jrRZjXF>g5f&)drTh|>U(1pvA4vkoegAqe}M^_fC1^3f(&zG z_R)InJ1Df#Q;0@L&up327Ex;pcyVO4{Hcj_PQvM^+whQ7k|MNuHzO}Xcau#|zC+L1 zO-FrkP%k^PTK{ynO9fkYMto4zwI@5HZgD;{`mz2qck#7R3#b(_9r&CC{{hVedTQ}} zqDPD;k1#Gg)!Pu=%!<$2%yP&Wy zZU;OcJ68B;Ein=n&-q{`Sx+X4jZcmmDOw9f0`8~?h!bl{8=!P_V*9| z9uU|LHH@uu+=g_C3yt>O!cgSdlnu=0Qn0NVTzE zm2u|?)F|TTe_?xHpM`mA+4sOiKHwL4jEnj_TrtCN9ONKF{9Cbj2x=YKdpJMihs}{F zjM{H8%BLs(Rj{~Ky~QtR@rUJk1ozMV9kH)mQ9^&>)KtK}6m`z{$P7p1U9bjsAQnu^ z4#s(uoSRF``;~l4q_277E3!58by>C52s0>2n1wlNf9!(Ress7;;^$Scm+v<&Tr>5+ z**1Y#+|P?X?0w)3IdzPI9A1LHGMV|+4WkbJpJUesk@l)0Ia`6C(J7}8Z5 zqqaP-s`We?y#!tTg1%&;W&U=a|6ZkyNAQ!-oA<|aVxs_LVQsqm+MdYaD}vLiMp95V zy#tK8e={Jq*=y*lB(r;t+xyGMx?h%fruri$4;GUSR4$)VDO~w~m*LQV2i7~1`)iSH z@z|#yvk4(U_SqVOgSN@!LY#-2i>u=qHrhQ+&ZR9vrDOe|6)!wF5z)8%%2@2*#=MKCN^PVUG9Q z@ovFqM(6$!pKA7(CvNR*VF!~Re^}gNHEw4Q;G|Rw%td)mW|w2JEvZyDIL;?u6bWv4 z;D5kE7BXf6-bUe5B+uEW@e6c~VST76cm~Ij|EibnA^J?|1yG+z)(ut}?mt5ez|@a# zf66Ja-{p6>!qB@0-kWHG-{aOEes6NFtgHKm8S?rToJv5r`e?r+f0!0FFlMrx@tN1Gz zDS!*+YJA2Pqc`cWu@hl^P9pBWtW6gwf67Zk%O4Vm{=^vd`S(wIrgW)wykv!cAT$$i z&IVmgYtz$R$!xrleszpYPZUx+p0`=k34jJ{D((%luSshs42-Ok#?mztSx@aqY z3sm48#ArtoeK~2N5OXMl8N@O+HbVxDaUIr4|yN2jjEA{SihfW zha@j{<^NH#AF;;xixG!e?7S>8WY<{AJpg+xI_iXY9g9L1M@y4#>Gzm6zA|kYFkm5z z)!Et~RWADnZqZWu82}R5B)4JZe`G-)>8k+uH*W9SJ>GHGu+MVHaiDGBgY3?yf4G1o z!HLZ1=`T}LRL!@L2xuUq`!vO6L4YzfJ(2bQ0$z+QTI#NdKrS*;#kEtS-h$Za_pu zW+r2HAh_7~(Z&W%e%MEtaeIou9p`N8PU$GLu$^BSXWP=D@F9y^e{q|@!A8VbAxmF* zE%W`Tb!7V~OpQjAw5M|hHzB20IZo{2_I++eUb)Itx!pt!`hXRHn;X607NP?mT>Dd= z-$Ensy^X$eO4iR!>4M7V#T_p93vkls{=@b*B3CG$a`f=NAtUoCpk5w5{C=Bw<#Zh; zyP4Yn*K&}Q9scT9f9Cmy^X5AyZ*dDp-#x>g4m&fBXkL%F?(va7VIuxS#39$;Vryh^ zqnvJ|NwjcAMG8E>52BAD6K%Yf)Ulw9P-eEzET| zKy35JWOq=%@i#V|GB}rpS*3%k=Zj$?4TJR?0AMm5{~Hdi9>k<=1eM7<{Gm(g_HhWd zGosEGa)`GLu5NO1NE8M_+lP#1|At-P2B2*>u6dl(4%fHm=_VKRfl@ZYNzK8itwYcg z5}BzVa9j83e>0S5z`c1oGA-)!0c>koeIh<+;12v7|9mrmu%RKgPI_j#gUBDYm#ygz zH?Ub+K+h5|gIC_PJkX1-!4|C32ET+?YS7D z?T09He*+Kro56`r(`6V*I_BljZ!p1|Kp0HIAlO>sXb4_`@q?u8v;hX@z=oJoFo;&$ z_tegyFf!cXJ`bu*dw1$Xn zyz61vM2{sH3V`FxhdQv`@L!vOg<)cw$$H{ye*@iY)s2=}%&?fxP%_LIlGkmXBu;r< z2TaUra6`#}4K@`Uc!P1g|5wAnd2buAx=y%EBY0rM=dU8vL^!B{O8Dt!K ze>W+{F$YG+OxN)1&9A(v{sziz=Q|TrJGQI?%0^)Dz>Jh3-#mkPat)uHh&oKmRi2Y`3`4fo7om{U3|{5Ey|V~BPMIeqwpIKhA5P|At3+2C#xS!x(6 z3B&HDpSA;K8^-X^$%moPc>vwQ=bVlIe?jO?x%CYONz~z>^X1z%3{hM9{4=Qss_k~b z>uDklI8qztGbMD`+N}H7)btO7*#P!KW(*F1&UXq#>dkvF*_q4GDj&LQ%Aa`;r;QR( znxl0{QAWi4)lh9zuS~QVV#EfRSk$M7!VOvYn5;Cw-KtZVsT2-Q|2RJ!vhBL+f60%7 zNR zZiaz>0Jh0Sm@5ns6a%>psNAXie;NuGQgz+{o}qk$HD~f_prdtI-%P$@M$CePk!Sdu zj{(2gJ7Sd0zL)v&2W`VkXb?8k3Yt#ChaKd%^JymchJ#cG*=Bf^Ip`1*!-9HL<|2c- zk!Nr^>X7($Y0pgEP~;C%8@vlSM+Phm_S@)olZ!)EU?^@Zofs+_6dU*Af78*R0E2q- zbY!|YC^5|Dw%+yRR}O-=e7a_`1}A5jyns`O;D_=8PpV}bK;9O1#ejGpv~`m&Z?Znv znsp%PExHMFZNr|3L8jlZlbWwOB-=9WocRZ9V+I+SDKo%lSVCSn_aVPEO^Ros!vI6? zhA+qj+>j_3j@yI_q6dmNf6qqW(B0G!I{_RR=6jG1oAh`m4n5>=){RZ44$CkYw^Jg| zJwtsCQQNQ3XJG>DA#;OwWV${eHB5aoH)nDf!1ROMZFSAWR}2|jb87RIIdB)TebRBf zVOTxT$r@Bp$yN`bTk`p5LWAZ%Y&WjsCSb#gKUlx-1e;;vCUtBa zwm196rW33jj!d3k;5n>i9nlAA z3qN5NFbv`lyKPK48LjgGZ)<+qEcmd%4R9Opc$2XMmtsJ?HClBV*aN0mR%iAgV(_>z zcy%HV8qNTKHy}PtRPBa&w}aASqDlvvTjJ1XO=21FY{UsnHxB2VVQynh*_<0T8LHa; zhkEj0_*Dm6f7&$8n@Sn5WuQ0hduG}UM%Vz_24DW9qdxTa%{rXPb)ee}oZ=sk4J@0D z{&j%JVQOQ%%A7H5{GsC8dnhNz41^hiZEfe7?`@FHhBdyaFjNZ%gWc>9m<|jB&B47n zM7a|w0}{L;>rhe*{l;PZ#FSbY9BhO0%|snWWT1QXfA|hf4ERmwqtoFbLwSI*i-Y*-r zjm@|Tf0zeSwr4nILJcM#rcHg3={7@>40s!GH*=v*bu{+ z;D(J+)AgR|kRFhQ6PIh%tBA8TlB&UMa&4Jua$L=1kZLuMOJ(k%9%f5X`ZYowvp zz_o#%b0!Qi4wowx{(#)fvpz>X(9Gc50HiV%f0PE1wJjRH#g)BZljHnZZv$0iQ8CmT z#V`|W3{7el#Q?YQnLqK5p}CFe*(wjsCTx!R;Dfu-yB>xI`vCN?-hhW5lx;ku*~lHX zn?gh<)IEf3NmrW?Mur*OY@V1+zZ(c|3X4pncL;a`Ec|@3p|d%IV+N=Vu0X^?*TCMW zf8n1gIbevX*#m03FJ;K+kp*(!2o; zwr!lKa|I7D!;W|d9jaHb)M;&Hj#=Y{RhBjSRw5YZ^wJ5yJ#i z8mg4Wt^)_q8)s;4-1pBA;Ly?=CP%f!lEhr*HVxQVy%Ph$UT+?@H~owzsj+1k+`3XW z9ms(t?^Wia2Sh%DJa52frxzU5o3#paO8tl68)VVxhKE4wyl=2>04Pid*RW{&e@fjX z43*&n&dLt6pHGg#zP&{AKyEBgwdt>D8;5WkNZVTJn<)nP52MOCvsVwC4dBk%!w;-0 zsyO#MV7A>s-wq+n4=t}gH!LcQ)S=pFhMi{mfM8ob-%RR22fzRP2QS1=zisjLSvbHg zIP>9fYp-j5E{FQ@2{2&4wT~lJe`$ro#FGpSq1w5#j)#Hr9TJG>few<4^&lYe$+Pvl zF!wQFRA2S!WsSeZdFjT|xtaLa2*3%Dlc%=2e|S9?6_qAC z$dQ3ixvi5TXMJ5#MPFv539R#|tGCGUZD&-cObG^Mu!_^RM`pxrG6g&XSp!f53arpI znQyQs&q$^ot$bS>>}dUqJ~Pp+wb)A0m#aR0!^@)#8os)69xY(bNFq}U9uk)?a&{uV^~*AuKVlY4 zC*>cpNyAMZ#G_z0v15yviAur3Oaz(vwTMg0!D_^p#$2Pcb+S@1Bo;;-5)um&bDLJE z5EJX*etpxBANKm5f1HS{Zwux0RK$Jbs3$10`?ZHqQ6K#G88t-G)Z{c=p#p@}l`3<^ zUR=sWlX8VrtO(&IQknf%N=0OWia4}F=w6TB>WF*v9gSzV*s(PppIBKLzZ`{zU|3pe z+b}T|L#m1fh=^p|a2(+ulSd@$(N=QH@>_A4(Xj;g7$-Sxf8k=neZ;eVlKi8zM!rit z8~HBDSxXr}7kDMBXD(%>{^di#_0h6tCbeiSP}?%;EA3g6pNStHu#1eH20PmmBzl;a zI_zA&QoWaU)~~P!JKH$R(>{g2RmUo@=tg9 zI%`@fB}A(fw4TV>7 zOZqzFfoZ|@WsuSu{(+o@B%;XKUF~XTyY2(Gw>61He+p!Pc<(`<-mjSW;j!7kW(*3w z19?*eP6#z>PxsX3f_}BM-W*;&10M$Hd$tkdZ}?-wtUdYV%In1N1m0-S3Sf&Vz^nD% zVdyYS58>qeM8nB976x@)muF>-glT#X_UL&z2Zv8x?OhF_ceM-*GC}y>)wJG+PXSCT zu0_vJe@Wb$T%r_9euqiClBfiCn;s=-H@0ly;`Dv^CM+3tTA~U`^0fN!_3$|7Ad}|~ z*FTx~Cv!Th{utrQf{`{4S;RtPz4y89m4LQ{i3+6ybvK#d*YQq%*ickJ2bUN;Kzxhz znmF;$I<{);t#EDA;-MS2MNee-vU%LLQc=nie<(@4cd0tKk0%r_C2049SrD#&pld?Z zQ}o=4>sLow+LNdh)w`?OluM^g&lIQtzpvh}nAKz~%Ong>>sxHVwglJCnTDg()TT_? z(e0?HBz+06R{b5kM~Q>0%NHrM;wI!{{la}nX?W?x5k-z~v%=>B(Qs0%X9I2?f3tewny z;mJFkE4*OTtYzg4)syF*%tVEXmFSk8*NsTtaTC_j1^#pJHa%_%1W(K`gXQIj;W{t| z2sKPUs4=reJA=LDQn}Q{&F|O%7^gs{f72sat8Yz*tFTlKR?*n~biB@rrK0i@EAMz} z>U()x8dB<6hN4-2$I5o!{D&5KA7!kXyQuP}8Cw`)Nj2s6U|D(8nu9rb@zD=}k1p5f zj%W7Na(nMjELmwJCJF`!km>Y9RK8)P{MJn+JHqZwr!x6QbqI=Mz=)Z@l@!={f1KU9 zoSSeI4KZV)6s&D}`WO!ft?>iF2L^3BSk~*9u@m)h-uD2RPN!dHo_2MfX|1Q_DWhWX zwL@UqlW0ey2M%}_lr7MO3r@;RWqgm1eJ#UUSg;T%Llp!;8C-mVU>G=oJp$(hFbNJ0 z+9Gfv7{4#T0FAJ@evqC`QjjD#f2#^MjorYn1-gP(;B2rjoQ*aL#Ne>J;A!D1z>CjF z5eW~})f0l&Bo-9f2%iSx7Jnw z5`dB+FR0%8kM~&AnqjP>JR_CFCXA$=a}%bCN9B@8!$c(AB+j+0T*6mLBCIvX3@9ML znque4#HV=?f6i{9KJYvi{0a^Bg`CF%x`wr8I7hn(a4@4_q=C|eyOhfpj-n!ZAnXr; zYo+#$ZZ+et@s(FI4P`w3e+X9l=#x*@;&}OD&prsIctJJ~kz%bJtgN8MWDp+Bx8cTD z|Hj>;&AN&|((e(o%Q!2)a`&*6Xk;yOw!f5NNP)x$NQJA45NETYS6=pLY$I_-wGN)Q z^?0^Sd3pD$}#e!lp&d><2rE6{oQF00%2cF+uTH@0kXi*IP%nB~#!+-}!y z{f_5}!+$1|N*z5sUWP9nRu}j2Ju1(OJN2%#cbRD|0MFCo^IK=1U==Bj!5b$1yJ|wx zKPVHr#pQkcnz%Iie-3vE|MsUmZ;k2aOOlqKFTTI_DW4J$??euDr&=|7!UN^ey9M$= zzl}j8vN?t%M4V9q#p5}pMbB3yO7Mc%q*;@H`MRli&BLraQ}&RM64TF@T#UOj^=u(D zl=E;;byN6Ii@$>{4o)w4B*>K_ZU`r!zeVf2A=X%;-Cv2e zQp(Ec!My^!&qLYR(;rqCQkTk(kpppes;8=CiDckszKzQ`iewO_KqCjIk}jL_OApsn zwWi-%NL1tle+$r(oJ~ek+;TCdZt#|}R%$6}C^v=A3oI+0dN5$bh!(l=UI;(K7w0pg z(WYsSXc)z7+SuqQiG?hNGb~RAB1aVvhl*x+8b^Kz8&1x~t+H+Oyv<$p1cD*uZhjRG zoDxF zwqy2)IKL(OhS+23n#)<&wZ0=VHYA^84A zCgP!Tc24IuLYCM0#I}sg$d4GaW=6_@M4P2?mzl9EkjU)*7O*83C=2SiLA3KRKqR~U zoX6pwe=Xf$-m|@j1gPp}tOeV|$BAIm15+r1s=1!5oSV+hNQjc)<=AwLUB}~l=J?MN z@Oe}&mAm;>G>5*$-SJzRFKn~k)~v!fYx%~;m9vHR(#v^~JkGOn85+&ajEs(sr0sEA)yzm)JmQYk->=Nf_W3ptcxHB&Sf4<@AN2NTKR+%HyzMIV%#*<5 z^KKqGrA|T#ISeH(_+mp6!$_wk3RI5Hf2GvnV?~xTTuL3#F({cY!IK#SXW~bB<3%Kq zLeZsSEG67S2~+K&e;`-NN7uq7Xh}c7CL|~X=(s^v#dy}HxbaqQ*L7%1f?R1Mk|YR4 zjcCXZX{v63q&Z%*sno&&O#)Q{T>^#k-)81?94HtMC1bN$L3Rlm1rb9C*^6sse+9i} zb2-mLE%*=mzvoW8t}&AvMiZb};Y!&*Crp~~zEGEXrZsW$Svc`&Q+%+UqM)7-ZQl~j zC}QHr%xvEhX>GSHFLdV63F@NrwNskxRBt*bM1gs ztQ_#Aq^uR-f3fcL@IcRgpS#n;S8Um(;0Qba6S!S?ELlm{!YFV6cv|wUe+}c?ZPSmj z&NVritvwLK6I(_%7mFE5Gohr&@u;Nh`qxXsTJKX2rsrBXg^H6m^A~WRWZZH*)JMYR zLk9~SB~(m(6NDLig7Ri;2BOrvfpzB|{v!8&x>DbP8<+Af+V2B47A(#s0Tl;OH7xX* za@A&@wS>K14GW`&u9x~5f1m2pAhO`(2#F;FG7XJ}sN_yFDXlV80000G00Ki9a1aCV zAO^!IrPdx4016HvRKO?{2o@ArJduN-Fc>5b1OWg50000013)k!5DLU%Nrm7ClJW7; zla9>mt)2-FUDnw~GwrK-R$$0BAqnf6VCkH%&p*ue!V2(yA~`m1wr(%WUcgttd(Z6CBkcbX4y`-49Xej9|k@vS?pcoPE9x-ap#RQgS|f3LC5Wl|QPCbt%C7ygc5 zR9MV~zh@#8plvTx?-#ZCx@dFq4tqkR{)vVJ?pcO&4X*M83K$?nG{^sB`87)sOnDig zsm~Xe7905x`PBX5A7TNbg8ieG6-c!Xo2lrI=C)=Y0HxAbU211p7u4Ww#0AcvHZdmv zVW&|&*rAXEf3hn~o`!o`@%b8oF={Ob%l_=1C|RTV3}PlLz>=Kidg5_N$t~Q~BA%-c zb#DIwt7U*rnt^iq1qn2%D)#C*zQaZunrzzK$K!cvcJKq%aW*QFYxH-L(zaBO%q#4ISk%=NO?sObX~}8h&aCHf2~55;x40`{?}0YK<;LnGc(i= zEUz^)OKrTC0NHv?0OV*=WjenvkbLWqy#z^9YpWrfN^|-665S6!V~(ca*#)x7r#xke z7@uROD2o$fWJTPBUm-Qr6L!Tdj>+J!6M*A_wQXuuqF-)mc>ad6+^toTHueX)P!mua z5M5UCe-%I-D{O@)!kG~zcp!D@wPSfk>iOTsw8JgLw@17OQv8wvMc%TV7nyd<= zmk)kTHjQ6pyUmp50+6`J)X*&~^d#o;Ab8Bcf7s*BA?t#EfA9ih?j*Vf2Om9jlRm5!L?5Ne1<@Q7v4tWDMaG@(0i82Jue+b!rLvXV!r zVfK8}o_yJA&PT2UfewfdCx_?BEASqet}-=ivOyl#nva~)VkPkgmOE^V6j@>u5p$QZ ze=}B_)GQ^!^OycMlOu4J!t0d^;i*vv4tE}brjJ}jbXxzT9y0MsozKHvB_*7bB=ZtR zwk_?rhDQ7&P0XgJ9o+tLA{DLhLf^qmTO#bWF6g*q;6G;OC4_9P`gb$55qCdPiDA8K zkzNw54^TF(*qIOCi$IAQ{Eo2iLn#O6f3adz#!Q7-ON!=h7)s67KxGwI^4YXDS$ZuY zS2B@v>&1VG&N~#nRxJ;6(K~&qJHc#81(QBLdDM9=y_If}pIRt;61lwr=v9v4E-^4< zPR%+b-A_1yPMz=c_@16cZatgK9zwWALp&!^fr#1Hb#an#Ce_H3d z@z2GKhAlZ+YK-Kr=Psse^+85)*dM<}dg%X?i4-LCUKC&yyns4};;s|Qy5#n83AAd+ zxK(Ja0=*a|uPp|ZFCVp5D0v2TP$=fuo|gHKw3^;~5dOpOG?wv=meaqN$}uAAMMhtA z7=5_aFws;<$EakvzrUfq>eNyre{G#otX!WmWk)2T_XK&GRVw@yiI@F>rKO?kZj*xD zrPP~-^W!kMlcVW(?UEiJb6|9Ywd8Dhzi9;F{5P z=))83)#x`}a8Y#8SamFRrW;syD3B+b{j=*0Xj*kR@p1+V(<#Vdfw~%Xe=c<5pf^tE z2xgbUTOXC(xU7PJxnC(E4y9L*ABGXmGx*Y~F7oV!WES&QEnUdc3odimsChq%S9CujN~YyRa*MRngE zyxd_dy}K7=SZb43_7>-cV;j$nG3u7aV|?5H&x=A)gYEY8TT7eq?Zt$?+uuSY8F?!j zWUYhl8-1sG|Dc|B`D+dNg4MhUxdSFGO6QN~Cu}*US^}MWf9?#WQjoTNh~){; zt|$l^ULEpE-63)i8fplvQDjY`hdTAT8zWg5G9@f?E?&&31vs)*){es;axvkWvS>w#pu{buiq_aWc0wX-!6+JuSHu_l{97;7Ygb z)nit77c-Db3(Wz)9qkoj+q$u&!2=w%6f*KT1fimzghQWXf2*-MW>~W*ZG6h)Sbe^& zP17D=K7FiUvR+jYm(ypTm;bE0361$2W%;_&dIHGYq$&B)4k>O!(##y?CnfB1yV4{< zhxz?M>Rj}Zls^Grg{({8JMDTa5o*H@GOGe168JA2aprijAgM81UwWi+)veh+&o-8F zwkkk=%TT&hfBhRLH9K=^StTWmTN(?Ms&*QVZOKyMafc!9YCIPOKqVId?CWOw^X?#n ze%SmYkR=vl`vZW7sde<|aYqZU%OH{_e6;1d@VyaZh1#^#N=Qk>ouBbQ+fR$YnFV?2f%v( zES(Cyf8P0lwMN&kv*x@la5A51SLznMVZ7*&Xv6itq3i}$Xnwse?Qk`SPu9m@ z*K!c<@<9rww2aB;I-FpKCK#rO33uz}^d5mdEupydS@B#N@VvuY2uL{UcQW&tP_oBA z`(V&HHCI)}!OY>^aY7I`z~dE~w|>oQmv~7vRqz`>V)h*@u0UB**#^`(l++iYn1x^k ze`L2XvLTkf!&@_U=rQ?WY13gr>cylJ!n)PfD(|qfQac=`4hMZzG&BB;?P9ugAolAs zuB*q1*-AF-N)|m`%t@OC*x@3ZYE|{=e}t&YXZGY45EMet@a#Rzpy3HxBeLQHU_5;V zP#jIrHira zt7dI>wzj)xW}kkxdqbyRcY7VRk8P_RPve<4sy3Xq@VixXo59_+SO*+%M1{UYFnP*S zOz*cWk#Sf9-7{2X;g9hVW|HQP?0!boZ?=E#B(*7B-lcRJHL71B&;*dxvJ?MadL)x_ zYe_!Q?HTYr>2R!oeRW@(0LqrXLW}!O`jr0rLxB8|LU8R%NP;_sN8Kc2x6(*aQ)9!H zCz;dtF6G3lUPkNtKXEy@G#v`0DLLyTAf^sB=Zo8?7IVk*xM@tlf2{p6%mvlF8Rk}k zj6=`DiX$7eZcOYg{chVGaHGv`-hWhB1m^E=U!lIeRf4Zo!kipRwKjfG8;X*fA^y!1 z*hWtqWv%sni~7?h@*9!$cC->fV0+SwL(ci(*XaJ((axCJh0GALqW(5x`rXWXWFOhE z5|-21a(thXliNoXGU>nDqGJpB!0CY*WAY0t3Azfjn9(M_?3=TgWt=M_!0Y%TK7BrN zy_F1yyN$jLGZ+Z^dQ|o}i_c6eQny+H2vx|GYvC@S~SS80auzPLbAoh zvel|k6Z4>>q4S7yx8*?LlMcU}Auz6qGM|0t0hL5b+>Q7m?2&k|ma6Ep(j5<#8BK2H zO|(MeZ-T8Rbx6(L0Py)f2v}$FE#~vJ%h7r>hUYAKeN4z8`;ZrmXuxxzPPhgwv47p>*8kQ|S_C z`mdUf{L9-@M=@p@pWrutW)ma*B0lZdV0Ed;+Z4S)B)x05U)9(pqTq`7>lf$E;j7UR z;gj+XhAH~XIZx8it|(x&9(6$SCc6W}>l0qghk&XjLi3@5k{0rx`LehU*#OGlm{j7l zy~N7Ho(9pwllKtw0mqD9^ODU4{V@tuoin<;bN)9oZz~~)uDpAW5DQ0DBjrRwETkKi$rsjKIrpu+|6h;|TVWutFfQ3tZQHVn4s1_|oy2O_%aKf4m ziIhYKGwpxfz4FOv{Pv#@yYMeTV@bPVMB8!-eX4_0%uyihi>486iod8Q9gjXE3`MJfgz@`jzw{Y=!7Xb=gL*X`Yc3$E{&X0zk=nOa zM-DB&s>b{7mG~Q(-;UHg(qyWY6OW#P>u1;h<@tYbC+ACxY@9&hPl&O=DVcE*wA@xr zI5%Gb{z-u&B_5XPPlTe7Qtl#zwBSMIUoLHLtsDB0-G+lBDHH(fq8jL2PGc-(&55#e! zDhZ$p4Olu&V@u2xH6>rlu|=5h!nbQ#vEBwe(_Y}ca`6h-IzJe}s-^nh zxJ~WWM99&Fwh4^E(SL5#EK11#SE_kr{$w-X9yfg}D%h^mo1_bp`W@vY;&Dd%r9MS#W zoKs1*nhC5^T=Uehr=#Iz-u|!MY2EVRVbFT^A)0*h^uvGYf5{`0+xEjF-iFaMaacOZ z?z>x%+SjUUVTmq4o=$r+@cxv9$qDCg@w*h7#l?$nzkU8Yf)a#;(S9X(?lZg0_2<3o z23JPS>J_s}y>XFA<56-Sdfmh@U>`DuYNq}?mS?V*iTzf{flH0$N@{PN=nLcXG^n`lp@)vXKKydfJ!R5%l({RC3pI_<`Y@!ogx0+}QWm3NYY} zFyR17TpcQ@etw=GOk~MesleAz8P>nE)2#0Y@>%5ZqgOPxr{5pN;nnT{=ipXW8OG>p zF}by#j^7TJyL>G$=)l7TKKz6?)TH(?RBL>`ItmVhWc!F_8d&|E&t$EkH?`GNKB#gq zyGGZ&;+D8weH;>yv10@Mm}f|l)gW+;#M;27A7um1<@<2KuC$VSzNeIh(-hski^Eu_ z>|53ki>)!n^AAFFw`=U1hRF($J>nBRu<@JW$7_9XH*ji<{LAhu{p>d!%pKogvmg?X z^*r+RDImDWrOcGJjM>)WoAiw_&e>4`DBK}@1< zWv-{yEV*t1OZ-n;Xd^KgR%5X@d+S+qI&J~S&HQ5;R$4?~riNVJf1sDgRP~lM_5CC) z`Ds_E==B`BG9+74^{A#6Ba^6-nNG_C7 zx?Nte^%CDOAWN+N%QfM-_8o!O`u{hAk70{x5(Ma0ykqM{smRTF?z74NCZ_}%VVt>g zyJo|IDyu=C1M17)X%Ap!pj1t*GvR1J<39QOyf`L@=|} zn5K2og-xh4T}9^K@+sEg1MtX7`!BeC2Nj)^l2!EA)2o(%Bi#pYTE02_F&_}uX}(_G z!Bg_+MJ|44Q~Hw=zeKe8$a9o*EFw{DXf61^hJY2}jwD-ClRL5h8U@^v^&kITk4s7k z4K0QdK8pYP)0~J9!i1Bq?Q;XZo5K7Je~_SjGLD?tsFeLn9(MPiarV8&%(PQ-aJ{l= zeqLcg-!wXvo5wP@A=n3f}RD-Fv0EA@k9+*|@)WatB33$VUTm zcDM=q@EOYE?erOlmuZGcQ{atC-{=!Lxpei{UQkB@VCM^;L;v%{``Eo}GwU5DLqkjr zmg*q>h_jS7cHYQ@8ZU{a2tSxRn){1GkvIQg>fm=5kC`ll}TQ6M9|FQ*g7DmdmOr*^GH~o;PuzC#5@tdv3o1s+Yth` z|7^qXI`Bb4E+|tcbLr845%<3@68v|tLEGPFDsLvJwc=1{p=1~tB>BN!t%TTK!T!E63^-o5B5p=ckDEB;wYLsde1Paup)Aekquy+l%yi?Ts!iL{_MJ1Y& z(sgusXS!__dPap0+48^NeltwSxZ?{Z2o9KA+q#?CbnI z72!SlLwYoh-p@lV3E~@``|iX)K(*3sBN68ZmEpu|{O$$wTyuhC=gM_4x*jkU3DBad zm2QcBEiUeX)u$9zr1E8v>a`#7rzXLk!awik%B~)w>`5MNueGp@k2D{-){to8s2FXd z(2JBuFumMB^fmwMODEHkj{+b0ojps;DEMubJr#!pAYJDsk!ClL?H@yK6Kp34g%zPV zch8a{;W+!Y4No)nkFOHNI2f&z208<%T{-phq-WC#HoEU&oe4Gf+V=6cn?qe~SzdF? zL1IK3))&E82MY)d(FFUOO^3mw?vcy(qdzF;A2&Z9d3SD5Q4?6A5qPM-HOMF*+MznG zS5Qy(Rx66e8NYLr+C<$@k-y+#Z_p@NVF!t=-H+HLFO_b=?Rj( z{a53%W4U)|Q~uYdK-9uzhG|%TxHif;y+d#sTuxqU(#!9m__nrLr^X%JQ6u%E-R~hP z!uQ*6zb2lDDEPY6ZV9O?T~hY|Z!xl^|4OQeHxOeIw*3pMyV~yk*=u_rfdOE156xg3 zR@-^+z+aV!3m&W=${(4;SwUdFst9O}a_`eKfvs!;&9)JZ>@WcYOw&Uy=*#}$yOU3o zpmZw!{)T**WJ=Dh?gwSGC|LZJ=m3H2M;fnLg10r2XA~aFA&QREa5=+zU7*Q(?b$Uv z%2oSinEc5c|5IwpE0wiaHVmOz^f58Y2Rvc&bCki_y_fvW1G#l*t=8U6XnBUwH>1Pp zuXQ{`Q(|~l023taf+~ICyx+dq9;-_-;=g8y5ZHbFjzoqigq~lRHIg1H3PH@Ms}L4b zj1_B*su064NYB(y$Ydqx7j0cXA9hxsc%YM%21^fXbepMBL!>o)!`^%5uXNS_Z>r#Z zZ9NrTxjs9F=ks5iHLt^KNYxOCF9{$lRVuvah}J_5t-=)%P@Qu>&7PZlEK@IEBuDkt z`fp;fA?s>7&DUP(mx`^ptq{#=2xFVcsW0MdhZ+Ud?s^1mZB+3dM^2xx=&$B*Y;!4> zCRojJ<*Rm7nKo?5p-;;CF=Fe(%x;X2Csap9e))a%5cc%6kK5n-P4vE^punP=o6N6k ztM>InJ$ShzW)f+IEt{j*0#wMXsy}D0k)-B7hxvKB>~STh7RhBwrdI>Q&El_=+C*#2 zRFf7fcflh;wmAP8{;I{?D2V}}tsLvIKENm!UNU$8H7_jfeN=hdVZxO@6~4oBvpz`6 z*38Q+t+gmie7OWTt3OTr5)S+|=m8b>b?U5dL(i{9}R|=<6aP9slu2 zb0@63ON9(IXYOx_UvN%Q)>R$M)e+_~xUG03Ih)us+rY6+(wWSv8-JDEN@hM;aJVOR zancnetXGZ7hS8YN>HiBaMG5$is_{Fnl!zg8G4BeQq?3_agyGCO=km8|U$ z6P~KMKrNk@mW`13Q2*5dTx133o%aZyyx*LK=2O93SQ#H>@&l!l>BO!++r##z-sY^# zWDGm}oV;~@93fnEjGt>t*1SMx&Zv;J4BS(aoA2rY;hY2BK*c8hkOD}KNk;X6;n z(hB%!|26qG&Y6kI<2+PgVINig^k@6>_b(zxK__=ok;rgf2P&^GS7qtqzNj&@Rr;<} z((aj3uEL%iY6}j$tC&Ac6JByQ-ZAf?^83;>-{2mh@_W9NEha5NQ#_6&rAvgF!EyiK zsLQGqujVQ^R1~a2s8jEppmD82$|xaf3;N6BEeQkU7+zhP*s0)QU6E}T$!k=CpWC-ZwJf_h5lM?(41`0e~2>>3lqHSrs|z0I5y|3*=A^B zp-}D3vXNNBWKHWoi*du~DF059R-IcvErv5*(cJ2*Vp}Vj51iCpo6_K40n(xuz@vh| z1kN1X^#|&sbdKXs=CF&~KBozP&|A?aF(8)Kc;2Ix>6#y1W1g9So>)BoaMEF<-zLGj z3@zyr*U*jm_dftq4IeYByFpPUM2+TvcQt7b>YH_JrLR7(`KK1`;J%7U{XS+39RBye zwh3lKIX~y#M;R^iYI{m9RT=1fFZRRy5JRAS;*J&4N;SN=v868#|{*^NOmdNt*$3Q-MFvjt#KMMs;5&h_t&A0e-#9$vkf8(C} zf40$olCY`emHscI1v(8j%09NL5(6P=E6z7G^(QV>y;tTfM)}|7qJd4DG!x5U8S* z-hy#FyJ4Extu&ng2>?K+)wm1bf(Agg4txhdPyy4~?EQcw)K&KEwtj#fK(`fl0C0>7 z(9OOb0(=BuWJ8Amo-dX5h5%mI@fL#;IqEX5LzK^l+ z%cuUu&%qlbLBKfvI-kkZUkKT3&b#w|_WMR~CQp6eQ)p2Fjp_F7@a0qFuH(d0q>Xd< ziV;QB9uJxL>NSz?1TnFlIKl7XxfWWtT+V?j0qT*?P+EWeQl7qiPf8|1SiybA25F;J zf}?rMBBDk&Vq=LM?%IF7ASj^PvP53Nt4?@hW{fA1*2y;wx2g5=vAVOr4%@sBhA-L! zqt^M?;_w@Jats@Wr?Ofad62E4C4M9LcNhau%G}(g#Ht%-_lnfqhMhCyF73$dkcH*k zklW{KA60=&Xr!=!P;o0PvmUpx_Tnpo<*1o=;MznYN@TymS_~PKSRxiDTIS}qZ)ZB! zoLSmkd_OxnnNscfTXuF4e=}7i;LvRk!=ry;!)WVo+xL`C1(K-slTOHq7T$oz6Wo7f z(a(5`1#@7AX(&iN(CU9*3T9(1zP)*EO6SL>`%a5x#*zB{U(PTeeVr^ZU$<8mFQ=vA zw1=e*o_Je>$w+$~V{$mYH16K5O3vKYj>`NHnOqIoG*SF?FG3!;<}Y>eq>%J`c+o*| z>BQI1s;yZXf!3Yx*4$CO7`d|K7QljgqmsIAQuh-5%(%JF)g|j>c9RmZ54KgeOseTd zrm5GNUppw09>JQmX*RF2_RCut#j;Kem%DK~r&th1k!zf1de!x71-f2%M({4m>t*t^ zZI*#NC>~qi(?)13v+~8>_-tG@bFFyI^Vt-+kZpHES!`~Jyr3dbNHK|wTG73eqH}C* zMTaD?oMa#k?B?g4xkpkvuH2K#%UfW6Bg=d1ub%B^0&D5_YHk=_Tm3~Am%TFqG~Ejh zWw>{IOGc)h)Y|B`-ePbZ3g+F0+*?q?@2qta%|jX&b`qpVnFlQT z!rN{EFbno9P9z!B9Jzvd<1&^3fBKwSdLkk>tl7=bnuzRXVM`PB!hB6bg6#Us}$RLR^j`TR92@I;I;tG$D+ zw5F}Xb(5^FnqM6XBu`0J-W)>%Edc5ElR3?9(0seqn(p;b!Qs~GW(AuKJ!ij zTg_KzPJf<_8=B1-3dQXn?y4>Gj6A^tn}>`xUrZ5#ZCTgIbh_BGdglMVjOM~PA+gE| zKK2yLqv>9*iQav2J7g0@uT1qjQe>aTMT7sw{jj@B`+)H~vbDLNpsAF`!!*$N90nYpgv!^9cX92?u#0V-8f}Ad7n6gg zJ5+=t&{jRkdTeEJiBi!sXyYCAKr%+4h#h&$Xf2utc4vc&eq8m!K~}YfR+3*ApT}9- z)8i+b38o>VQMXbUR%fMC3^}8{J+Zal^(W5LMDqy@ZQDUSQ_CgCiRt``79kYURMkKxYi)XRSWLQ5GKy0Dc;aE2zL?Z?)@_q7}-5;ESzl@+Q@|bsZe27^_wEv~Qk<`30SJjkpM{E-|Y^VLL?E zo%9@*Ic~66p0&RlWRoo|J2h3Eei)6#Nayz65%a*8@$(O&^~_P3iqCGZoc7`rSDotO zyr(OzF+J8V;P18bgmGZ}uXL0S$D>r<$&E*D7o)-6Zw{os^4Km^e{2S5N z;{vL@P8S9lyzDPW4Bi7u){#fMNfOt=J6M6A6JdU)1J}Q_D3U}sMZf_gX-!w7xNsv& z^?vT7W{opZj)iIaF_n=?MGg4Az`nrzjXgc@01t^IP4fSR;7_osP#RT{-TZ#Fbt{gSPV z(u4)~>1HBq?=7H^m9$Pf@l}6cZuJ+#;-iRbY0liI(NAabH?PrrQEtO3&C@wV@Y14N ztpIq#eHvQT$yk?YxBZDE#mx zZaYEORu+x1xx{K(R|O>WK0hND`{D@3Y2E4_Ta(sVx{P26Ft=>?$;McvbbskS@^W(X zoNVmfTc-8f)%b5luX+ZTc)l{&438excDM|f3ix1e&c<=**|p})#ohllnx~HyfbM_V z7t$YMTnYe+muv_4sORL#71YyCZZ)ziOFcnF2Ly+2Cb zXBjbvyW$@cwbr9qn47qNc}Z+Gv2iuM)|>L1)nfkjJIl1DO2f_Uj^FOQIc80@Qel>3 z8?&b!=3(#@^9`?4ID4Szepz)Bi^PkJn9L`*nI%c888HvD zWUr`TusN0Hzfnu>EEP{oIBn#6nPu?f2G-VsBlr2&C~wTd@7I!6G`*V4|FoZ-_*U{c z8P3z^9@n%551CX#Q}Z!K`hIXJd+d*{mGi1UmGh3xnwM`zx)QO(W-#mJ82o8${?`AR zxjsBrh^A~?jfew;noY0@-~{NkN~{8)0P9eW3d+l!W=_k}UAiw(!-IS8tE_XK^+8e& zav!eaeJNKnt67H(8=;F;U^W>MP92^&4jufsLnE+qX{up+Q8ep8m2$hR*J6Rc8_I-S zfU}l#K$fiHOVuUF38jkdHLw+L9Y6#C2({8}0LV~fOoxn%Yz6+R4|&`CiR@7xZLm(# zN}l3?{~q_z@R~w(H8U+Rgr|>tt6YhHrPgML>yP`Wv`@3a=VMQ)ds{zj0ZLE-3E3pO z08xP|e|rOvL$AmHbgH7w-WWa)7UF>CX1W+1!Bka%&`8SKcjSeKuJB2>NE zA9n%FsMo~VUv>eEFhjf#B=K-YuHD=>SCh`8QU3O2PEq@fgd_u?p_0m!+|5heNt0g* zEb$T+03QVbQ|bo) z5Wh|Xo=z%YJMT?<(Lvq{f33CTu@I$fzV)a#H%N#gi!pu&#+935C74q!O!1TTyJvd# z>8hUaPF^9L0?&NRQaq#mW7MPFj3HwFw#J)yM$Rs$@+?`;nic%!x?bM zw-5!%VH#{-=rG)Ff0O5gbX5?TLX_9g*dh5>-d?T8c3u|X&a_^FanVNmeYipQd#pe4 z4!ET0_S;Eda2Px&FUC5M1g^jHNDSB92|Q#A044W(vxCU?B^}r>p?|TFg`PAir&?|Q zt`c^RM@pXB#uV%YCqb-J5LVFVo$Skrk6rsRvNjAFcQyNLxbIn>)gMwX1D@Z&sdkuo z`_&Rg)O+^W`jLHu{6bg9EVTU!SpDAgp#S=GMl@iPS1B@V4b&I)gz)?A@$h4*AANiy zSGd&Q>AeUDPzWkKo)Ia@4=B`b&p zhrzZVDUmXs-DpS&&tNp9h^Iy3DMee+u#YhOvlk5-lFxGk70KmUh>DzQvmCy~250x) zVu9KA9?6kIZM4HA35T!S{)L6CTH+ks$L9$G=%=du5FvRI7KV86>DleH0lqs3YbV7ynYc#G`T6i15 z;P%bZjYr26$xQd5$c*WX@eIbL^bO&bqTdsLD`BsNGF#dvL(Yud|dQ-@M7?7$OrOqm?Ej$ z%Wqx-D`L<4l)i!}?odZo!hkWs8c0q$C_9HYJ>IcUht0TT=1TJ3bzj^(j zU)PQ^B{Jc6&nx;>`Z|sarON3_1v<$UCCA0bbY@@uDn9Vyua*BWgN^n!q{N>I zgxQSEEhiw!Cq(j68u$gYzEXltZT0DtqU^rE0(y9*Hm(mU@TLWmTR~=&dDF@pa{71` ztZZ4u!$3mrUogF9C_N$^;=Ybn;7us~^iPR=rl(p-Li#7(k|(YBCrvFUBK?`7Q}NUA z1*zkMSV_}Iu}0LghH0m8VVn>y;7Ud;>9z8zKR)-swm(j4;%igIjA0POMD%Unx)B9*Q>9~y!d%C|yMjiqH?tt!@qN~#jBfv)A(bQ79}=P)ut93dmt~cHl{$~g zyTg8;Us!Cq)rEN>h1MrJ_S{<>eJNM<2@mizmg&r=Pl$hO$SoY?Ns z7XB{*OMAkWwnBGj!wxF0c`FsqLxQY0UyM|50Cw zAo8r&8fZM^&zIw2-OEXnqb`u$BH@3GAG&A<1eZTR>|ICPrB#iXfpq&kmILvJFK=)( z0&gPjhq8l1zN2rJOkodyVQefnQGn(}qdX$#vv&lcM#F>f+zQUsU?rXH?vft$vNXMH`(70ils-4`Xb3XjbdPbBO2 zFB#S19?v5e1!}DiI#k3?^0(}92gwG5_wyp3VF+CY)_EP*5v8IX3E>$B(8qc(Gf;>R zAyp9x{!RLwA1LNE1(LR7x&!@581)1Tz2O|)g^8@CQq0yD9FTpoo>vf@sgS{4K@W<5 zB5$D}8>=`QtKha*62y z5C)yxQ5DxmEr*MenZuRb3|1YJKdRh88cI}lg9yl=Ac?sdE2ubutSj`3Por4?NQsIC z=3D4UgrRZzlSRu+%vOA;OcOgkVXgyPN;huV=Znv8aphC{K|vd*jrS$cn%~20pyJUQ zNL~$Z`c;~qTEm|+;^@5$tq2>J4Wc;Qu6M(l8YO!8Q5M-s&Ccw4Df<3!BD_L>cy2~Z z&71|NMwY8>oypLcmRck>as9z#KZ~IXtXc`Lw&s_(T~`^gCa*OTXQE}e-siWHtGB}D z%!e-rMzg3xY%Ihj3o*VQp%PpQ3{kou2F>iW3DX9R%agh)dH>ol$=(b66wCj~+8ZmYCGDgArw&#$DLo+0sk9VNhj{ zIKv&3isuLto>mRaj(*OnAy4q!buaT5u`I)k_2pFcQ~OyJY;*H2wpyyX{bA$mak3~Q z13!=;)bI`*F2Kri8~|t0FS-P48Wf!}>wSyZ!Z^=RrW)E57#lUDXy;59SPz~uY?wpL zb>wQKnHC!dTBNh+f+J%=X`Kj|z8uG}x!qi+-YP-^KcG|%V3&Wr@2+12e)E}IHbDK# z5?O{@8nXG)r29mpjcsOx<)KD@hYc~CcH3H{W|uJ$3Gs$ll)g9o(tNJt-7wM8nCpF# zQI5FRndFX-R*kSg`FKl{kqt6-*~jL_6}Tm3w!(^+uPZM=&ihWjAq}P(rO)d@GA;S8 zvWmSDO2*kfPI{`qqEYp%ghRr5;P@3B8t`t=s0}?rK`?bUj@bCjamf6@1)9s>Fqdd; zs@$YmFvy+BS(2G0X4bxSDA8^pc^Vf+l@8kZWo!u@uZ8Ll1u<6aBUJcrdX`5LX#=E? zCjEJG92SgNP$ijBWEdx-a zO7BtgmpwPXL9oxvVpj}8Ex79Q%eo9ZJYDcj|_MxNb-k1q61Xr z*ly@NN~H`N_jhy3UFWEv_sHPVTfXiD{laacb$B}~d(~bOQlv$~ssG+GgUxtwR=ZE$ z>w~KMfzKw{FdT?vbv1MfU=A4JeO59_FZsA-@p98Ia_^vA)P=%c%43_3LycMn*aNI* z#AOyx&9&>c3CK7JN6%A-hQ$ zyPg`jdIo#E^@CD|t(7>-xZ#%!OC)n#+Ju1mLmxb|8pJR}Of{zxyBOmO3D|PT=8wHn zxq@}bvg~7YvlW@}Lxy@haY$wxzcByAIttz^)GPOqn8OG(96ohx*QmoJ_&zD&6+>&CD!J*4%3)k%L%`m+z}D zuAmC(Siv#KIB=1sR{E-;m-$7MdSOMG?1ugIvFur6Ku}T4iWdk~Idkp$1-2X3$hbCY zFTPiLvEzu(>C8rD%(19}EhK`+(#XSo&Z^HfMq0lnw6Fe(*HNEm7+14y9JV`TfH8b) zL91kr+3TDINW}Yuu`+z8(uEYU@uiMh{BfYhzxP@>a_VW2F<@F36gx^=qs~Q;#kVjd zQbS|8S#ULvrCKGMm{X*nmT~oJ_|?sD9w*DO0EZ$c_(AF6y28X%{#}@*cu4k}O8_gW zte0CC+qVd#f)J?uixzlVI+>H*6l7~%0;omPIEL%TUi5i6WD{uUJbsyOGoD^3*Qa#T z!-5Qod`HX2F$84Uc|k7i#tv$)_n)qvUucxT?9Z0~5!5uc?4?Tp8xsi|oZ~#BHV$ZX z#%6bwe*IU;qX}`qnY+9HE3LE;VL^2fn@xWOcx$86RW?qd$XYdWiJQGXo4?!Qo|ws| zZt$Uur{r6OI6&D4-znc;kl2dfKrn4irM(HxE_-St2xQk&duKPsGQd&A^Z$hPjwAKu zDUEqq4*cuX1P;btiiHec4dO+kvh2Pq0Ij$#4yWjyw)F&6c^7l;ex)lFkX@ewPlmlH zBn&%)&nYvb>>eG+ZdmZ5)Me-;a;c1>k=PmP7ueZk*8m0pPOHQds=93Sx6VN@gLy8}I<7;)6L&S|fvs z<&Q@-T3~Kwi}{9&S^IU?ceUQ|w!ff2tgpf&%m2QBV)At&604L1H)aQRKATg!TK>S{ z_g3HXe#@E%rWc)FZ&F^zS!23i$-X?~b>~y1E0%jBj9YzkX@4K9gt@}QBk0x0{FsuyULBHBneY2_Mi>8P~SUHI`DRHs{BV%f;giT|pfU0YY z%N}a7gw0C=MLXA|hCeY=FOG!IBr*gyDqh!(;5JG{qOJnfuuYRNOXn`p_1Ybqdh3>E z#DF^mEIxK;^krSi@|!#*eK3pIASKGpVG^Ty;I!CL341}!Ye=h`8_Y<(z3$dbYV(&( zzUoz_B&1fSbiwm@h`T51(Jr$3I_;+6?)~{s*De1076G40OyMbw)mg@tW=ZH5WYB7< zPYm~w1yy!0sIyxl(yVrP)@5pi#83Gew;eXSnPN#6_Q6+V6N3xTiTiz$Wov3Sdbcey3cTUPWl^=jbYz6; z5ihc;{^TYga2uRO)oSu$CgvbeY-Qhzm!th0dI!8PNuxQct&q6p>ArepugR~Hw2jeC zcw++B!RvI#^DtV0dNCO@90l{Ia?4~P-T1xsqGAEr$OiyS&`?^@Kw8m6L0?+Yn4Oz> zNC?E+FcQe^iCEqV8l$hJ*dS;=7^}wju^LcnP32<_};5jlZfb>|0w{Jy>2J zByTLI2a-3cDCX3Eoyo->$K^Oqf<6RfKERHHV#r*fOI)GjZ)d~)0t(+604T$7l8+}9 z`vr#_qPXap^+IfFLLk$!LI!{#U5R9NIn@f!e<7%l{Xo(3kcgb3DfVLeA{2m^QGh37 zK3cZz$8Oq~+C} zA+4b0k*4_&q(cg)1i)#z!4h?+GHv!uGbATu7ZiiGk%u1zMw)OgO8NzhIJ#7ECcJa} zzj#LW2cZW@NQXjXE(f216|`*NVEz-C5Lnk&>`I59;fKkUBgv(?fnbNMn%_mz(tJqqiiHmm(Q+O+Ns*oe9ud`FvHZFB+HFr5 z`h{O5VeejTUC~NO`+#K>+X5pli|D&Fv(V_f4l(r!X)bbYDUzu%`}V>szhYkO^uZPz z!>d&>jdiHwX~p3MLPbT?(mE6bh#bXLVrg+*+u7g4LGG8dRNQ-&eS#jKEk!i3q9O`u zDN28eF1A+}p?yJ?m$YPEUorG`sPqYO;YB218BVpn#qhA|Lv-V0Y&fkb-1P8-BQzS_ zcm}J2_6$rXL zZtr+3ge|ceGqL&*53lPGm9#C8)ALq$TgJXCrClJL;eumN!p)!6^Pq;AJ{+s-)iC)5 z!=4D1w2UoS#-@ucfqasiAB8C>6jzWW<<6QAee-w7z4*2azCR&a4+dqLBFw65B)-}K zfRocQI}}88NsA7a!E6g`yL9!sb+is~Xo){8M@|+pTMM@7CEIb?APicMJTJZNN_oIU z<0IAPhdLk*S6|;Q`r9!L7{3tEzoRlbKM(P~CNt78B1Yrz91Tl%0d!qXaPRp*Z1JqBVjCbIl1;BJb_WKgs0nnJatD6sq zgcMh_l^fyqPlEW6O4b4pK4E&L!&ozhadO%{a{wVwXNCxg=P#=d0Ly5AWz@kkYG4^a zj=jp}he5$&ZhSW!9T^p{jKBrQmy8nY$m-~rKbLq7MAB+Yw#<%d1Obp1`KXZ~o2tXn zMcaMJ#xB*E7oyA64a(Kc^X1LMp5p7WsqYfdV&J2N0GJyn0hy_j^^oqckXP_5< z!XL%+c43??S!E#zwymntqHzWxlJ{!9wKKg47hI3P&NFya4REf+&@kzr=y zmVpMh3o{DmhtzG?k1=*R8D1SB!Nn5L-unj7)c9pFj37We`p!B~Lx=EK!t3%Tp@?>N z9vBEcLzgbDJQSL`y!7AH&%W{|KpnAvvz)HJ%@nN-eN8)kD~-UyOIP03B?S;p4dz7M zI~vb)1tMHpI^>sB@RtPX_^zHc&-?j!DJU{=ksXnzq6R!*7g9J0E;2CEg(hNeWD#eD z9Cr*hNX`nh%?2g#b5g$grpzu!@{PY%KgYQQJB!y6jIZxLML4O+-85RW!Mz%}J9eK3JxthFGQm$x^&1$_Tu8oCsIVzw)Hj-jI695o3v> z^dV!q1zH2zj~ji)G$0r1d7P2vpW9|$#fxGm_?xAx@6BBJYlTPMtEg7uKUMg=8hHn^ z^Q0DeDXl%JZ!zXi!kpYfjl!Gpu4tPRCk;(gGJP<<8<0RCTJp+$NZ?12zGlQb&C42Q z|D`w5)mTL$=rcHBTy%VuLYj=}0ZW7nB0c(%b+m0u1Yj;qxDOh#DzussnHTD!wP!Z# zXv5Vs$!#_B5EpuQ8Is;E&e67n3j z*MK258@t(6LwtMuE8-kfjk6G~YCy$PiCqq8LS$aAakQUu!puB1vKa+7A2)>LQ4sXX z0X?V3iexo&a-*H%v*B8K*4CYxy)r^JXCXB{(Y$?<-WTq+uYDo14LRY%{y?@?O5WZ) zvoun$HkwYjlBQV*Op=g1m$!VX+~QmOnJwAKd_t1Fn7@?gU?+2WVtUc&J2Nh$8f<7$ zUAV+O-yy>VD9Ze4TI&y6%5|vSHLc7s;zmj;ck7ks7;!a^H|tgAVus{kzXNx3i0Fc= zGh7m(2Tj{%pWBSs;J@w1%@$uGUS>GC*_h>nPt)_gI+zQ9hQRy-s9EoR2ahQZdNHyp zf;E-|1a5Y%;1#I-!Yfezg*VhLj!Vy^vR`1&3_~t*^LS96SRYow7g_xiz+Od!%o{Y+ z$cP(kezpBL$o9eJ5$y+UJsw;5?pU6`UUHie6Wk}pO1r`;zRidcURX00%srQ&PP0ok zVy{uOk_Jj4&%jIPXt&qkOmmIpOviqS_y<~Gq5v+c4J(oCy1bsp8EpE;Un>i8sk-B5 zu~Wa>aY?O{{s`OHsTz=8AIteB0p=n=1`af%Zkxq|tMQR$1I=@uwL;+26qn2$GuvXr z(WZVdpPlAHwoBxWnN^$7xtWEtvPE4k%E_^r7ShZtHUTX>vk4S6f}CxNs}K>cEq3_} zu0Aw#IR|qcnjIUT(=jsZf0?eaM?N;sN4iAgBBx2=Fd81Plxdr9J^wj)XO&`qwV}UR zKhhx@XNE&sO3&Z-i|4uA&gz@}RqXxMfd1ya2nWoR3*j9pn6%Um@zd1a@MK#%lEqVG4oQ4T3rQGIw+2;GJ%{N9aeKh50`AYL^ zl9hcHZ2I*exxK(YZWUE5;4HQR={%sHuaFL+;(hc`E~ILtq?%+UDLWc-bo2hLq%?U& zV|cT-H-F;ZO6cCoSYLB^xYJ>x)8VU?*M$_%a}DyO^Of?XAq4oJC~R{C5NB9SQDX@v z6A9#LBmy9#!GapBmkioTRPzohgXo`yQsnVSVYUj^ETn1p0wB@BV%Hb~JOa0U-9rqD zv`C2H07USEAO)GU6pz2}3jx8TKFmoK!!#j<+dhZ;r!Hx!#f~l;#!9NwLsDiXMvu_= z`=jFb?U*B>#_xBkdEBsz?s&1hp5QTsbH`8zYd z=zj{uvFm$D95@aB5BJq~dknv?(zIWFQny`|-;;8HC}hCpG0~9!Q_+=xC6%>*#1%yn z+!s>ZaYkF$u>&f{@i%6(fE&~(K(kt z;zut$Aa&&;eqt5%oRb}N>6Xa#!AQP%7grF&4X2km#jvEBwe`kVoYmx)%0C` z^>=usjlcoKAl7O9WpjRa>Pn5rJ51g?pS*Wq`AXS`sKJ`Eez8Kh!*WcE;7es>W(a%{ zLiWf1neIhvOGnc<>D@8x@0bw%mTtQ{EC3&F$M3e~!)=A#bO71EKXvxC zd>`gbiu@!&z0_G`J-&+Y9p4WA1gz2_JU8OgEnM-wN!BlUb@xCXe zF^gcYjkr|5%A4TnnD`<@M>cns=HQvvPi>I6**fdCvQ9z@!o@70YZxaVVBF&6bH13zedvHZ!VPiq@-Iuhtc^K zCxrjRM1bb7lGX~w=GJZ(hSz07Zn#zdsWjt^6w_s$UdU@M96@3K&jwXnwcp2rL} zZh{p~45Wh=5uzvTvLyS`$i4-bh{nwWx$p5J$PwP%icLnWa@1PD$-a4HUn<$xSCmhs zUS9M4rl?W(SBXH3qf%~xr|1nCKAxwUHWdyI8nF;CZ?Ak)l;YZ&=i@5M!STAhc^q}( zb8Vp$bu^2lEp#m6$*0}Ltz(m|gmUL9wZZT5!*}WyNf>5!TO|gcGzk^A>X$ofsx8-# zeGdF&<~hSzD=Rh@&6gpoR2TQ;-^r&JMnAgUXXWK}$NF5mX5>T9amn|fK9h*@Wup9f z(Q{{B0drFAwM$B>9z=sr)Dm+F%C0ddThEmt2Z02L`V)yKSSdiKk!#Z(qh3cqWM8N# zUnV}WpS67s8LfuHYJ!>4>XiR(#6k4cbe3Qw( zAW?oWj}8R#yZi?(6qhM=WW-Dvtppg+wHNKH;HcJ~mkj-* z(=J8ZOfM$4`FG^zm1C>_!uS%&+ZM#e3mZ#xvhQ{0tceGNnEzP(={r1Ed&{WtYg6(M zK!=%tkfU_)o+bV7io0JWh|$)Nf{oL8-HJrT)X-+!u0g)#*l$x^f5}riK>Dm!Zrbz% zj}4_}^t2-JV*U_j492_&YB>|kFW(H^UAKK8WLS=lfEF%M`550g%%D+hqd^SEVW2{5 zZ@hJFyj7_b;OGPGRl3`M)(0}^@X-R?9O8J^zQsa8@SIAt?~lkS&y6MIpyvjaZ{fE= zAw2KOzq5JRpUh1-M&35!C+eVeVsG#4YZLsW9FhWejXIDhk|D_g13p@tpk3)~xQeP~NYf+^S2#DU;S?g7 z1sMqu?l&MGi(6N&YAnyHqPa0%!XNP4V1A+o!K}i$Qp|ahf=i|jxN^69L5G@mBl1fk<*TK)7G+?6r!k6D3#+Y1PhQ`2!vV zGtYqto|&&!qL$e>2k1T!5NF9lf9yYw$%amk?V0laL=E^I1{auUwKT#5^G?@%J}VWuXJ(eIr6`?#VW;GBuIU&MjgiE5 zN8L_?y1va~tp z)H=VOHnf{C%-HbLGcy`;T7(!Fem^r55w<&ojO`Tbt1CCCHeRYFavWaQI84_#;`I00dw7xn4+ ztFfv-{cZ(p0G<$NyVlhxE2yq*0$tfQK?|EnV+YTq-RaFRt(lA-yE6Q!X8KC+fq>u1 z%<24K@A$jzMs)n|`{P%-iWULw0vlij{hEX`w!|14AxydP&Cy5?`#UG_fO$Sjd^Ob_ zx-fhxeO`!}KHxri%H00PVcM{wy$TbJ#(0_YiO>~O^qbYBhmu9rse5SY-So;Vf%Y8CkT-zDL?slp^-^7f z6iKjkU+_w6g4Lo-Uq}zZMb2OMNhJYo--NWJnMBuybs9vAgxRNX^n*OtkM6GSiX>8S zP19zQaNs!K&JJ(saRVzHuq8)DO1Y@J_^9F~jBvmv{W7@a<85$~<&lo_6uzAeIVw!l zwj*l$GbOl2YncsSPJl1V^n`W@a#WD0t(5BeRZi+%BX!c(NbEJz2l2h7irgB_Wf=tL zSJbvDYLkoF@=GhSwi`mmC?}m}@7X`dN#t|TQ}<{UY~7Nt9e(NGwjp0AF~s*Is1$U8 zG(7*2Y8CTr!Hm_>*l(BF=0u1w?@=oQsf(B>1(LEEK zOA)>8)Q*clo`e(MWt3-atIe@NJUegU0E`@ED{2d;y4J`^+Twd^<+o?8Hn0uMQzhQ z`^pseJUdW2!4;?c`+3fd#HCZ>sq|L|vrM;!T|4(PI>)0@F*ko1nNM6)Dt@Ya)h6$$ zmE~@$EVEUG0~+Kgu&C{cs7>jkZ$x!P%1N(RNx0E_jMCg~z_Q-;@ripQ6ZiTj?xmOJ zBI|MmfMuA`vaBr^dEQkl9JrFZUFiBiIPigFeRE)!B+GZLSyoO`Wy=ZlH>58@J0-t1 zw@SkNuiz7a)QAC zav5f@%;w}Gr&~wH>Febh6Z*?+{bd;d7bhIBf3lxm4EZnX`g-Uzs*{85+J4pj#OM93H@hp|9X1@`z)?g-_HJTMEc8!iaUDW1I8$-qCVZLBjZ12$92y0 zIDC6GWMggwM<9;^7PWD>ZER5+Yp2JcG`ngs=sv^p&(#Y0y>vAY1VD+wgDV>Hn#c?W;U|gZj2HoTwym+a2_^i zWoY{o;U4C=KulBsCh7z}N^sLNs&^@*EmRN zw&%GEy{3{91@3db9r0~1V@x*}r*&1W)D8NXtvg@_X{Goib}Hhsr9EtL74rits1p{j zz#4M9gk)x6rR^zC_CMH}JlU7DlbSZmmy3JKMtNYE;>J4Nqfj<6*7Ai?A)y z7km^iTkt#(*KHbE8Hu>NCi_9Y{iV`3^M#X#Te}mS(Ot#P}HnXaB zeV&3zdbZ|dtQVI}K|yW5Y4dnddLULZKp+hVcNh=h`ceOe6wJ3ZC1c$Kfl6Yktk~+Y zyxr@DGy;7z@>mg@wA1g+QxABJbuMCS^ZE@iSVtdm3mt#!NaS~iA9~;IK%+GiK#=Ch z9X**A|D_?}hE7$aHMd_6gS9GRpV+azv1`%PGJ17`)xcXX`wzv3mRY`3Ca9Kj##Lk* zkY}EdX7sJWS&@jnBw~96;#3<7xg>~d2K8Lv406~CIA9?qQlEQ*krPtVD~^=oY5^Z9 z9*3b79Zw*U>16CViW|{YgKg5Om!PaLlTMbKumH_%PaSCwSkVCiE1pBj_e+y)HQ!o$ zr5M+!{2Y1qt@Xv*ZyGhm-0@f)5u0uh7i95Qu<@}D<`*kD4mbKS-5QaSmt!YW5!xPm zW$1It{6@B|%;;r=EbWJ~^im|UPT*}8ZvJ&4yz514VyRNrX1JJml`$q-M>cS^$=F-Y z+syrkY%(F?v$^dDhwPqMn9$O;G;*!Af5V9_aRxm)b8l`Rd*cmZk9A@Wc8`qZ;a7kX^r?E$?{%5Fx1X;^_$I^AiQaUcp!_L(= zG$G&4?m;HZ$~~`oWPDxnkHcWtsGF_bE2Bv4tSgJ91Xh>h{8m@;z6N_(|COl{0}xba z929|SsyozWdIT67iG4-K)(ZM99staKl+(?w@C zt@=&)wg>`jmb0Ix4g(WqIt2C%hcPVam!Mj-b6d0nI^wLlAvY}UbI?2;tppjp2}O-hrjsHHC{l|W6K(x%O! zCj0A*IcZTNcV`N<*W|m`WJmr{+?2|vTNdywZBArbI-6#WOwsxo+m4`sUmY;<*Xgpvz@98$>d+&lxlC8+tT#otPS4z&_l8|zty-s1cmZ!{P}%; z{2$%fb}%A zxlf)IELB{bs@4oM$uv^<)y4f$^k>SdyG;D(9Ad9A^%eZWD|jB>x?b*so)(XsV^kz* zW;I$q-t99#lxhSFi<>ArHs6$>D~_0c?%1(0#YDIdt+hkJC8o;hu34w#vsRzctR?Ld zYTM+V`-aJF`8-8^4DU#HnT%9-cE^d`W_BSq2D3-%V^ALA{Q7^LZj1*(8X{5uMCnk0 z|C@xvZMYbd8hLxX7T-qia7$I+owPPDRjmq#`=D1xdlobx4QNyuDq*d?aA(F*wLlF$ zjTSpLY^%<-gxH{8LBg|U5&d$64Y>Xos*)vu6n@8=nEg!8NH5znIhmpnF3cqq?%+1nmsS079wLPS= z3{@5Oxe0CDgnjDd2yId0Ls27)3P;HO{6-7MCkjU<3i~Gt(@Wnt)@=^~mZ3(=3vJtu z-f*#y-go8ARw4X>uOW|1jc>J#{~T|CF^TT*GYPt_8=gQfG1%}cPMdVkPm{QtjgE`8rVE$G3-{Cg z@;_L3eTKGJx_)kETiShw>IaZkBY+3ZumId@MC73(Ai!@mBK&Zu+7i0khv3=R2CzTJ z&lb?ueLX%HtVRSKZVhUbTdM5#S(dDiH6;YRRz!rAjE^;)FKVQT8uLYsRPHg8|D&V+ zZK9HLCnYrfiTj<@-%}FDnkWYg;JF1>GdQ4D5fNOXwrBB}9DzFAsrUG1zIQR2>Tbo7x-Nh;pp#nNi7K%AvgY(*&FS@;Q<@Txajm-P8l~x4 zB#00X6I$Coifl68*zL7>B-J9uL;2PiVXwc?+8Q5ro*Y()4+|01GU%vnubFcFVqJaB zUMm;gvu{EJx!!tTQ{qFXRxOCl7A`&`S-%IaS7i7FR2Qd&j#n7JlZW{o1TAVHr5#0A|@Z&7Uy)o?-Xlz+~tQ+(1^ zH6DD1>!v48F@+e-&}r9wjx6Z#dys@?9e%HoOOEnU#E1p$Or21tqS}NVgC2QO=P~IB z(oa0Aq}iLOSbJ;SU8uv&PZ|@TAYm_*yscYd4F%T*qqNEgw^U;n%wn50{ZK?y_8qx{ zr@Dox)*EG*9oS%;A!j)@gh9>z@pPwX!IS{i;A=56JisD_vG3@_#xy2_CWqlBdi0;kj%q0Ay%1T}VB zp|3j0R-HUXmyOSGCJ2e80=+Kf?)jvvyL++wWkRSufs0XJ{;Vt9&`l6LccK-@U8s~GddCi_>_Ov zYV8;-;KP)TpPockOO_!4sw`~+O09stHSP89G$(diZD4u^Go>~g7~h&P^vJQ+IQk;g zz>WQ(*U_yw%_)D?$!xS0G*@3gc)w!vx4+RZ^@2Kpz4qQA`|BQ|F=v+6!|-=3{m!^t zY-StVU4-fr7hti?0G_qo8P0eet0)$0P#P9-=(dR74hw%YRBa61?Rr}^E3Kn5xwR}# z3OA|T|E`*K$Jc*(;T<%W8zKB&u3$@=n4bQy;vOr7i!H~tsC6{YjVeD`Zf&`!wp3JG zBC5T_{ky|PY4j8-5DZlbhNOw(V~HbUiTz`VoC>Wf!4^}X1t3D31yZJ9h$*OM3Mfp0 zG@~}qw!)Dqh?FL(dD0CZR?93y zVUH6zBvHiVQ+2Tlv)W)SZA+LfD4HKUj@Vd5%miRd%M~VdT~wu${tGDVQ5rN0%|DtZ9r4d#jdLn!({d{m;Bc zoGrdc_W_PgxO7~=qEp4%JfCvjDv_agba5X3U#R#3jaw6=#EK7M(2pYV`b_is?Mzm0Z1C}UYH_b7LWrJBoe zM}&x@c-^8q>9$($Qih>2G1_1Xtz4r8I%@vHpzid1!|O4}gm@1HRcp+#%;)C8lt_)m zI4~b!f)8=yCOlW~F(QY2PrmCar0G1X!PBeNiHMQ%j9{mtra0~2Z5ZX>HOzxbKppaS zJ#$ah9@s3H5lMAKmv>B(X0;iiD0e+=ap*b3viocydAyJjNOjyVo0vCSW@!q0AmkvS z(pF`u>B#qTQ`uOGTZDjALPqLt-J zfptCFE=)(Iw#;3(HBUEMZpI$Hp)~+NehdUyD*Met0D#LL003hiU=3g#0|5S)=GgUr40QltcLe}g QpH>0rD?0*izh*c6KZo)!UjP6A delta 132780 zcmZs?byOcQ(=htO-QC@#xVyW%yE_yL6c#I1+={!qyIXPB;%>#=Z=dJ=!fJv1mea7h1Z+UK!pD#n;!!DzVUW09?MhA;qFuY>l_50n&~uRfFYv~YY+}}j>H!% zjzqRW{F8vn4kkP~p%5S}93Uw8j}d;ELI4Evk&qD85VgSy&^suG)d?3-vvjhsbWYqp4Ayz zDIa;+S)g6!x$~KUWpDtI!t~U*Y`+wSfpF8DLpM0`CX|AZcto)BeXlq7Fl__mvcGBoPTm%oK`&yFYc>~te<@RA&?ma~41$vnuw4I` zrNAtBY0w2)Rg62t1P2eHEpHqq?R|y0bOu)m_V>~6X3-DR-4khI7i2443bcfffH0BI z5ug};th`3!GB{O^byxJ|)gM`kpGPX6Ttb4_o|e+N`Gq5!#5`4bNZ362RPp;`uR9#5 zw@V-o3~lJ;Dr98u?3aF1e#OLduw7}0gNYEkv+{b$9Q=Z8EPntZNggiliAtbz3pKeu zxM(`$P>5T4dT4Svzxbjk#ihGZDZT^2EQD+~uExEfXv3Ik+ppr_OVBKhR%~fgXX9XY z>uHY+v#$``q-&u+$+9duVgCHr+}8&1fWBx$cQ_See+wXzZ$`;DGOKls#-g@$nqzr7 z%DPHk@}P&&B3${~EBhxTxk!q}L`=_j(NjfnS3>JYT9mD5W$CchLi6`KNCg>r&I=@p zO6D4cYuAvlUM`TEaCt!_CkpbWH9s!kX_zfo%zv#WdI@1_d*J{%?KV;mG{HzwTsf#8BMQjx z?4T>?r0Yo19A|A%aEIUJY>;r(`k5fi=Dq`We`_l8pDWCmOr%{lbEGqAv6)S%mG=2#ex9gKzV zl~@2R%xWh+difEsIz6{NT|J{5b1`k_uc1uOh~Pz0Ra2c2U#lShdh=mz`b}$Q@LAIq zVQcYcF;7gPu0u1{pR?9T>SDT>V8@yj#;!l$)+&0A-h0&K~{ zt%y1NPgW?}Hw$v6^jRKC4m|jZSvI!Cze6y{<+BRCS$_rr#W9_!kW5u8jKAf^?bxgL zhbRp-74$iO)v9%J&u3)nVh^m==>LUkjip~^hT7KNW;9>22{>u0IE^L&RmT#zf zV}?3(RQ3_;V3t%2B`9EadEB#$6`_ivNdEm<{B&^GUKeW~S-9l5>59k}t8W(J#M+gJ z;b-KdRnF`YFo4l+R*q}m*jnGK$0|Ee-)s}PcM~4GS^unhV^lW)X9m%vW2gybCcNy{ zNX^AwxLR<3tA&YKRTdQSiz5q9d)X@=wyBE&p_1ckKCb``GA$9h@@Y@Ntm25-XN#F^ z!*l#&tjz;dl~nZ4VHdk^*ow}Y@_dabRaRfNT<@YF z9Z^ex0W88Q*jI;fv-(lE{rcxym&pRC^4+lW#{&KO5(kK=zoh&klSP>4khzgk>V(pb zXc1tu1yu51C?#Vf!GcRm)htycBqS)IWD}O$5NP4Sc=N4J#~{!HSZr|1L`k6oqsT*0 z#lp!#aK*yW!bieo6el52VM0&1synR1LvR*=i`Dd7g5VHGy36yzXE8=XGTmH+Sg^vY z7Y$)|+s`qqx(X)|vXpg(y+X-6BD=z}Y?h>tF9x}H$bwVxcKlG$A z!>mD~u>4*3?)+8RwqwW+(*Do2kOx=^f zLTB1q^jKDKVtn>OWnggpIq}0?n#OGw()z?A-`qv>*cGcQ*%ZcHSm^t_$@cSn!~L_g zr>y8WrLsE~#QAR%^U}1>EN@ynDU`U`ob9)n)_SWYNoX*Z zLg%c`0sdQ-Bn;*__mRFNq`I{z>Siop2ouw~{UjxXy`8!!@AGKr_$2pe;SYYs>CWBkCms(Ny+>8EY;$Cl6u)8;T4p77 zwiHu*f|X;vp-iUXN#5cgiCb+gmz3gH=2dIqHHT&lGs}6t`VxSp5p?r8B(wr>s$~__ zfHYCHQ18ha`?#TR^QiC*>2kyqTy6yXki<|!Su5falmtUmEgV7TNvzv>|N3<;+|ZkxN5SmF+Y-465K zo`iA;^ZO+2`P|}lR_g_lylts!^P%Od zTG!PzW!6`%=kw*yVg z5kI`7;svkI?P%mN+L7;s*k9FMQhIjQc(DnhCzgZ|IMImk2%7#m$480E?Vr7k1hrPP zdCLBd_OKQcqeKZ+haOK86XL_rC$l&1mD)}MJ2B$4Z4mhYKiE2k_Mj*3Y77TQCx-B# zSj{}*xO-)~g_N8l1IvxVauhrHF5DCx71=ra!N@i@<`hmOT~E2T#~ z2#tCnquxV9X7_O}3+EGGG;5__FkS-uq`K6XI5Lo9Lo!5iPN9g2n(xSuSfIz4_W#Vd2&d&155_)<7vUG{SjX7ZWQ+!t7Of1$!ctlI zVIqYst-MDCXLO2wkwa9hrF`emSWJN-O2{~kZxsfEmzkl^CK)iiYi$QYw0{QW!|!WF%D26bC87UA3#d`H;PA%QA3~Q$Vu|qWa8BW@Ju8 zA&2M|kG1mg^h#sOPrSofn_`l{zx#h;Ol_hWBM$U^nIrI1juAEr7r>v46SXmRP^ukX zlVL`s<|9=+)J)Ti5wXzwQ8w@Zgnb5KhBTDiiGT6$`cAuVUcdB>V3dwYRF2C44^sjh zPLqm~tj|jfOUucQ?)g}5uIR^nKULpoadFZLZC0-NKqyk8VoF6qU3{8JVsyY_BO(oQ zCQrhCufkP4WhT^#!01W4n+fa45 zSVRXxicNyxLf;10Wa-Lkeeq*Sy-C*JZzdR-SOHt-5K5)aB6>ZDR4%JUMBb-?CwBn1 zXKVUL4%>B9il=H@2_d{Jz)QWUu2wy&WG7n|F2MGZw+>?BkmpNP*78u~Q=t~6qa28~ z#9YJsVsCZ9mo~O}H6X%3qpnM%o>s5ui3=fli4SJh{SdUet&Rb013%ir5OEAmIzP0l zGM}$qaoRUVXYpgT@YR$j$;?4dQK35X1`sChUwyoL^L#cXfuD2$gjf(`?+p5EsHWja zqyNnr7-Xi%?OP$M6>@5@ z5+ZD+dGz`FSO3&8y+s9b^6SIM4#>libCsu(wN0&$5ZV*~3mO;01hO%00-HqUaVh)Y zpZ}9Cmx_Ehw&YrtHvGJ{HXi@M|2|%QFK5gD$hHu7Wz623Eq?nSa?y-v!g8L#wyUt3`Hg4y%AsX{!>z@EMSOkl@D z5e`+jF@b*#V+w%%6Xm2q+fIKW_by+7s5T%8ci&C*$W66{5M!E_{&!)aI2%d~?Zj^Q zac+C&7@aPto*knRydyyC46@P36$m?Qu(Cc5W^80(`%RE04)Zr3!j23ju0Xm992Kno zXI0Ff3{+1}-tOW9S$da5IsL>PvkMGo8mO<7fsi;!w@(ot`2IaPsGpr+(Mkf@8t9g| ztbP2oPjm=!N-FZ6lq#@FZXMJrOVJtpe@JzM`sbD8=vydHLX+>tq5vn@)V)3XJtl9%NEL;fE?SM^n>ivQnR8LpZhT~(vnf7t%R+X%lZ2H_Wc zwkkFtsAQr@w6h(6lLG?v?qwyZ*ZbPx=j*d6(+pXN^_|{Ocf!NN&$W^6^~sr2!{f70 zauvl}WpGV$o#@PpHYoNe*vUNW&FZsQ4uUT!1HaN4utzfM6xZ$=6feUCni#tj^HLTe z=G}eZ+v%&m@9&o%)YmDJgxYpaB~GLDa&t797(3K5V_=6M4Hps4jj=U7)%Vu-RaejP@XCqUI@4UGz^A1dq>hUB>E^Mn+R3XdvEQtzcuIqriZ z1~^{8V*LZ83a7Cl^wkfMyFZ6i5c^!r4OAyqY)vjMf9Byv{>!FuM8{%~&3?D5%h*Fjh0zUv3s)102&-(Zd10*K)!z|Q=g%A-=o)UF{ z6c(Hewx1LcmOK<9M==!gk;rOR+sBp;ybf}26=k@o$zTE2fU!5$mJ!z>mw z*7P64{I)9ls2~yrS+~?M)=J(!9g2 zY~KlK6}_VjQvuE4O4F44iaO)ZoJErx%sF&sr@;iL1S@Le$E(SUev9II14yH>Z}qSm zwh|^bXT{o%;e2OJ`Cp$UH*2o|>gv2v5uy-A>xILM-IlY|0B{evM?}^LPD_n$Upd@g z{)E>L&lsk&+!$G~u`!y|Ary%k;jNV3YM7u<{n9>|-cF^un#o5F=lc-Z`Rb#qt+LDC zhn3PLIibSdcw;LphpwUs;&?1R$zdXdbL`?piGA65e4FfP80r%4p_veXfcT>5zdi@ zPC>u3`CT&Ef2=|KhD4qMnYn-~r>73i4St&9dO>i@U+?5UE@2@G#)cQhC5eolI@u)r%@cQS2F2M=;6l@c zQ^sN?Q%joGV@G9|0Gd}i#iXSK)e22@hOM&c`?N`|5bjn-D^u!fdn#x`_xx}D4|eJ> zQex~$7%`iPt=?5Y4 zHPlU5+^58p=pzrh{~e-3AR&F)*lVa0A7)-Jt1Z#J*4@+$@=$=!hg5#Qay=GYfpYxB^v_=?=!TYSd*R8ALILqt$jYt0^aQTahF^b;Rv zAk}cI3@Y68TRqhTS^@bK@4c_lywZ=b`1Y4;MA+(AjPzA03eRK{fk>QToZvvKd_uK1 zngRtW^9Oj=8uWqXI`G4!a9H#09;ZoG0=@dtb;z)&?B|r#NXaOJXDdQ?^LFzcWxblr zTi^x-AKB9(Zv{e(L3BffX(Dk>_o z;d&zCre8;nli16Tf|w&0(o65`T6(V#5^hQgg8&||M#R~r5Z-9;4c25n{`iu11A%d` zs*!IoO=htzhff}x=u0b8ha--OAT5+}@RVB+^xTbrQRBTB3Fd0~kd)O-*WSjydAubL z-+HF#++6pFMxeb%R>=L6 z+wd=dSx>pk;?BJ2ApR_^w+T7vF$YZrJ_54JZB)rlo3NS?pxR<*kJr9DcQ)vLUg&c5 z(ohx#S-&6=BZ^d!4mZ#hXd{@9=XE=*WfL!3X|#&F{3&_%byCbsa){!+H?gMmRj|s= z&+{Z67x3}Zn$+d`Rn6JHVV0w@Wh`BNK63(aH5H3{NS9pzFccwY>xeC)JSv$}B$~Rb&e~tIc5xhJ{o#2~~QGMQ}xgCY`rrp0=OVe5iZ&+ng(m+;^cT*N?QPPvh0a6in&ujbnNHLA>^^cY3h zhLSkL7eSYjNn8j=*t_C~-@Gwul-)eDZB9JH%bBEGLOA%uw4@fkG6ka&5->yM5Q0l7}{=;7awJo3SOM?lQE>mM~a!O`ZOv}@!YZMefEHXNyMoDAPg7( z2Fee$Zd8)J+2j`z>G>-@>+;9CMo_z0TLg*9c&4BKVsltKa6k$D=u7FrRAITC(E#OO z>E5fA^1N|Ej70^vyCGBDAv9=1a*BuPu**n`eO)dht!9gHsO5y6V#9JZ*R=ZH+1FqB zV7r4f2fsIshq)CWjN-#PXB8X;2dwAx$A$? zh{O`+hhFGUEtfAZoWF4pD@zB=!r`Bosh#r0J7?GOcA(%7k0Hrvvr*4hAD}iDABNBN2ycS{&BIlNS1HC-Pt;4s%!Y1_=7In7KtoWGyoE z)O_5bKykbc!kWRVuS0WCK;!(rqDb-st^?JmnHFNsS6W+-SVsEJ)_Ny&4K*s3 zjuO@da&bpixe{ot#Zi_P**w?ntsJ4vfBzz)87l9gBW3)qt!2#U5N-MD^4SoWw0y` zZr2BUsQ!6B{}dV$2-L(YyEf`KB(L*?m7O%moVCWwmam-2YbyMer!+FPsWyx2}40;ODZFbagozoLJ=aw*z0m# zeq8f&vGhFVY3H-}`ePEB zE;LjN6vmNIpqBWnH#gdHJwm^TY3N8^AvfiO6#M!gK(YC!mqIPl0@-dxESXgRkHX>A zV<>88gvh{l?gdiJm6bhc)z{@Q#7Sb_N{M)TwW5s`gLf+p!2~3qQ(3-BQ6ao%;>LBA zZNCOyGYvB3oJ73|wR1~^AeKQS<8BpgCJ;g{V013ar>!&mV6{y(|@lvM3Mh3(F%2SR2W6kOy&dRx^4Bo_GOGeMCiV~`-DrF}u z;}UQTEhV1N6k8NLZE&HqB*?l1_c)qf8OC!PZ}{W>mp^ALJ>AdV2xVLdIk3+P;21jA zTqP#W3^ckIlv1~n8RsY9h|Hkn9V2a!HpmRr^q<)8e*@tEukwG@iP`HEJ4w*R9H@PD-be>;X?r|Yr(h^?^?>o)qi zV@4Zl_T{c6cpsLi7*(wa-@Nz0Rc1Us2uSCX&|f?DtHJoB_ym^TrZrZ zO-!ldWC51^9}=_z(o1FA2GV7=mUu{yJsae>ut@&4?h`BZ1e=o0$rSrsr=Y5`nZuV3 zK3T(DfgW>x5B0(mqsoKfQ=B~i<_jRU(Y||Xh(#>69d=pcrkZ70=Y~1eeU!cRcoGU&*_BV98rTC_)+ zRnwAt74zXegJKLP0>oSPSqF_Z({-|S9oBx2`YS2nrZ5$AW&FkLv_VYecLj^rP*=rQ zBl{X`XO?Dny=VbHZV4N}t5(_e8=H?pzM8!${udo^m+>=z;ARfUwVzJ0q0D{6XZ<4O zi?dPMUMek~?>rITY&C;iG>P_Iz$+5THXi#FOinJfuMQzeG~b)iJ#?ln2;uxQkd70^ zlm04hdoFOchDE}M+!j&72P#qJe$U?0DjDcBW0EhyI-7GF#>jI zmRtgm3{o8qGBn^xWu@*7R6C^8qyKVHn9%AxQGJM;;Z3AnC+#*66X7SVQ3{iH$CrZ= zw=hdI7l`E%&%5W`pl_}Ztx;Y`6TEAhttA_JV-qnbwaXg~&JA8kw8uaC`)47mq{1lL zx9|gjzM#gyS*1Zyc$oaCzC|68AzE17y(?5;oF!9B-?}PW>+1j}xqIq<$vq-j$zq`8 z10*?CU-;z6)d2J3B-QskB zRfb=D8I=yDINVD!E1RyVhu}C1XZz82XQzq}R}~>m45IM(C@jxH0#Jy%9f{E6ikItX z95&|Y_<3e-VD>cYxvZS|^qjB=rEP4i;@HsUo_WEfq8|Bk_9Sz1^+O%{s_v*DqM#|^ zPcohu9u>FN*aS5RTZ;tXmz34zDcXtg&fM^dz{RXcnIJ4uKu)w1f-X*BbX_}8i?_Y! zUe!C@R2?uU@0~nm-NOGp+h|Nvq2*(9$K4J;o1*L9t5{Iq{)uq*_Xqp=db*r_jL=8T z?w*f^9{bJWXC%pT;uBA@_J{UUW7ptbr9*emK*Hofv(U) z9ltlf`QfE94(WS_@XN<5)|GLZw=?}jATzNHTW+3ym5x!ISqg=m`{q)>9Sx}w{wj%-E9yi3f=d=>1Wu6#HZQ} zbTr&ys0(PM-PstRG(G?jH28Zg`CkE~!{e&5yanUJOwE%NvY27ipGv%lvR#q$*} z3m)i>w7nyzI+WBU3_< zAL-p<DT5KEXYIg5)xiP+N=fx$`a&@@NaM>U!O%fukQ9g`sN1YTksvaYf0ib*fh7zI z76p%mP3?{AfB?R3PiAbYmK+Z&DO(ESmUSx-jWw!k(V=7vbeMv89a?b2z zz|8TRO;suLIYHtB(6H62wRfWVDZbs<9U&D%@9>E!AA+HS=0h0VE) znR~De+!8+OIfWd-dOEsave8E`84s0Q`VRqIdCh4K-?hzYxCjw_ zeJ)dwLNd6H8fe_6$2mak`2pP}0xO~w7%lOAMvpD+#@8NnMK&6rB$=TeT8&;zpqYD?{uz<3y&PZ-^~OpoPwVzVlt~t=wG7$3}*>GcovRi z4S<})41J2%;v7?}Z}RM^RtApTx>kH;Jf!S|d2(#D8WmEMNeF(fl^PW@2zs*0h4T%1 ze)-Wbrx9|AS`_DWy4zrI=Jl|`1!7-_?m3A4+P@z=riC&WRV~R9EpWO@82YOC0w2eg z>EZiG?-Iv9vZj$AR^J1rm1qyY-al5%)3Co!O8*ubo<{LZc=dD9mqjLrG>u=hS# zt2^r6AeR&U>8q91^|gPZb4bda5FnVG1X2&AV_sXbkTIEVEHZjOm_D6?fW>E9pvM%@ z(LwkF@|JAmtyv+L2?=c%WAM~r$zuDZ=I_()AdUJ>-IixGuWMQFY1zx>QnYr}+QBoe zl|<=cxBK5LK@W$g1((%{$G9O#jO*Xmm@qcxEJsmyFkHTermZMe-)vU{xQc`rZE=l! z=+cx$yqurOGL{gWSQT}&*CyT0Dl5j|T+DOo`qq$cp`$UpJjiS?Zup7n#@RCT$R z1?86TP17ck;~7L=Xh#MCz!bwTug%pWGe0LG_nh7xezVn~Q4lJctKsXSG=WI^1SG4D zKifpoD$jhV3(>KMNH-=2xNL0zo!`7EhVGeb>yxVr{MPJ_VAxYTTf=y_5tg@6IXa<( zk_`Z-2G=Yy^k1QngLZ>Q9lD;a#Z}5SIt5a zzPw^t-O>$Yyy`60GJM*|YEs%5BMp2Fx~`k5ZH}S#O3CjP2F{|F0D<%NYKgATETyvR zHx$6^;_`EoYpVi4Nl91xfw;~U5+|nrPbCZijggolRajh-8jOF3hTIOu{%4v8lYi-v0k8G;IDAt7ZUHLS)r zbQ*Wpr#LL3ruVA$I@ybD)wI7GxZI6NDJ5XwdUK7QxYP$6{(7X-is&1_^M*k|HhN7M z!zH%V;%Ye}(PT1%^uaX2ee5HFtY%gs4r+MGy;>U>KPRdYxC;|qaTowKTP=qXU5_97 zS3qLQoS@p&`z_kFje9_`w}=M!^gK|7j8QFpx20}zc0}f1GcZ$Oe>$v5befp-Ba#8L zf6N;ww*CM@lYeEEo!pMSdt+#fSlWe6Tz zVi6Q0vNhMQz5-+^GsvMtK1l>jXQT%P-H;C8Vi(yCM1Hd_ahr`>&1CELhU|~dJP6L! z8LA1U(d`qW?KTOUB?4<@x^ErNBL3T;7%mH`HFIFWVdSK#7>U86CPeUy^$V;Ky&Iqy z-NQ6|Mj_FKhT0DI7|oO9Zr~Nh_Xk0hKmWJwJ@W-*<^e0u8+U6PVloo0(SUP-sC{#C z1JSlntLxTP-*YG0Ytz&^dxzKBQTJP_%i2hffWDfCPMukBlaxs>Z)iCw0gL#rf}kx5 zI61&K%+S(I|L-l4m1S0c0)$+By>kV2|M4`0Z?Cg(6MY+E;1La3?U7fk*Y&a|QH<57 zm}ZitU}#)*_uEu&`cAABH~A13{4LLvlJU?;00=`inkaGKV-g~u<*W9zy^ij`v)v<_$Z^_9%6z{r60Q<%(Xs>D2K`Pt2n(xkTJ9ES2Js0C*CklRGG_}6 z;&uAAUz9cG_z~I!q`8b-ZQY!PUKRLC`0Tzqd~2cCGGi5u{BzHDoLu{AuHLlrnqm*{ zh!}yT0;W*OLOfW=jf}03vb>z@OJpA%4JNM0%EJ{e4@SW&BKW*XNhYIKmoq%&u@nv{ zSZXJB$4$(CEe$oQiQgQC z=bhbOtn){hW`jU_S*^`b)Rk$s9>QK|D(O znoz{CHy$(rhaG(anSVxPAyTbV)?r)oI7p6sR;C1I6+H5VXNGX$*Pm+@7f;7)CFV12 zTF7Q!14M2gJk0$dmb$!za-7YKY4N#n{+5Hu=^`m=la8qV#)GJ8;e}tQQx$A_BP7-= zyGwRO@~2v&fb^Jy<&-5)csv6>|3V2Uu_}WzI|Z4q<)!D1c~SPNgr*;BPFYwW@4DSm9xB|@e^jzNmaaKq;YB-l8&_8mbwTD+-^*jX-bzf>DoSm5wC z4_!w2{H%>sh&_jI8Ajh_$FlevrDD3>V>GS8HSqPa^79YPI^!DrKR*-D?z~}e|FEY| z-e6XZ>I{apB}XN3$o?hqai)Z2#hnP>;7e<54+Fi}4!8GY92Vi~j2w#V`59r%k>baV z_;$}2u7hJNyu2J@Nak$=9R;~N(8r9w23GSNvSF^VEodVGJb z8NY*S-x%vV>@nJU@FGs^_0s^6y*}^li+}CkPvQbN+%xOV3_tSI!Rv#f zjP`QBW?SQZzpBHk7M(p|DduZ&tr8>G-1D4w)G*wQUXgg6+yENAjhek<*IJS3N=3NF zdee|NK;oD-81fwZ=uT01by0>W+7`JyxUDz>3dBxqMlvAr6p&x9!OkPz&C!T|4%zMc zKnAWJh$oK(XCL?tH`%ZTIW>7e?UymG2u~qmC)!_C{=*!qc;V%%2MWji0;tsv>9*l9e3OfcbxS6_Txkri` zJXj;s9*x7kx2$82xN1gsZ=$RO+rh&!eunkNGGrVbs3gxiMqH|X-SJSw4_uKXV_8de zJoG-<19~nj*RcJ~S!n57zlr>8m9@^cW@&abEyfc`&#q*i`GU{m*Hiant8ivzOd2i) zwej~#csh^E%9F0=*B4z+D)b0^(4*E_eRUli@yoi%I~v6#-0k zWqUh;R>9O(oAK8Ue!U09Rn2efGF9Y01h^(5eZc&ZT69H%UtVxx$&QhQ&vaskrbxePRa^CDju&Jzh!!z)@aBzj{*Ae zi^mO@c@)yCGP!W*`=yl?fu2bhgCEjZ{;|sa$&%Dz-PFYL>b6?7pnv0^T*Sngs`ai` z4p38Cm<`3Rp+9bv8ldnrze%22byQ$IDMn7}Sx zaK32mB_bDMBe)AF?u?Cc3woN$`jomAfG{~pQVT9y8Y?3Hr!2gKPkFxGi=yf~V(!n% zxN#oZdC3``&AMDk0j~|khKXps@M{PxAh|7G_fV=0I>}b}x@6<{a|RKpnS6TuV?@~0 z)l{XqJs8+b!<33tYxctrje;sZh*2qkd{nXK1863>%dsZO*=oGap{0{jSKBlg1Lt}S zIeZ2?Q)TL>cMJPF6vY?zyEt(Ou7e(No$hb>RmPGEIt6b+3v^1WC(DlkYA3NYpfSq* z>Mq04LrlU+Tt)xckvZ5VKi+*^F|7INIT7{Di_bZ-6r;UuDLB6 z#+LGL>&IHomrQiQi0B9(Gr3s3O@We=cg}(y;ygb{cA`Nw+2bT0=93OwyY$nvu#=FV z7~KC@7R@sBZF*7Dtt7^bE2gOcYN+ZjKo(<^y|@ZTA>g=fX#{+5krKkewd``cU+{i= z2*Jhrep??ARM5R288F!7?JG>5$#uIAmgQaL9WpXJP7BF$-RW^!kyDiPLleR9mS5b* zbVY6X3)BE0n28B5lOZWLzzmyM8dB)L<(#;lH30fN`)YrlS zS)(#H&~Cx@KA1sQtTWWE>UUebu`k1hOw&_#p6>VWj{lq`io~jl5VZN>yG$A6rK)72^dWN|~e%oX8-yEkrG zXm+?_8txPS3v4W``X*MYtQ23l)`%9QL!46k`%PejrpcpEGcG2ZT99$Vy=?;4@`rGU zRfzWUAe_|wY2KQ9fX9vgCCTEeHS+so5s5GshzfD6O;sr@|LYMSv&tvcD_4S+6d#S~ zvg8Xyeo9dzu%_LRb3@`@vC9l;^SJUG zd^fX3$W9V`9`3`b2l`qAECn}49Z|7?PYBiwrg8W7m9e-Z*AGit_&BegQ>Oy@?|VGu zp`U*wg^%mrfSTwI+V3qP6$I;UxUuNU)(i6q6-_&PAF04`dIO|$%4V+h`!(DON7gC?!= z8dCy=u!^PAhh19AYG>ZZB~vv+a+F_AyFJj^f)5#XM9Vc@MUyNx9+ z(jhl=OjU|Lm-b@sQzi1fP_l5clNURo)_*g7FG~O3`$gB-L@Yu>?p1-*JQLDaTujUr z3i+5;6p(@8LV?b0qC6~srZRQ8>P!t-Y>jBEjIIg@NLZKG3#y3}y!{&d zs3E$S2`qV=4}X^{QY(`vfOPBsxedu;9TnG`05GVDK+=S$mb--_!pjkia>m4Pq|_5^ z(9$!%##&`t6MkWQJG3j1h=X$Bkh1$6UB7z$_L;f$yQ2P}hgk-dPOZ@v9qnXFMC9nM zr#j>bQ8Iv<0)YF;I%C}K5#MrL|K(+1U^Cw$e*EG#!_+^~Ci@rL$Jy8nsu@cuyw!}W z2mpFYroRCY-@J~zk*@>)s_%`F5c@-IkWNM9$LvB{T5B|BaN@~$LzvSvJn`DiQ|(D{ zw?_~>CnP=QsYC`~uZ2t2Vn%PLlu z7^H`mOcO1lwGS6PIu}qSORQa{;Rb{+q!I$SwSuiv|C-P;XRek;G)4)hT#bhnq`&pt)(w z>rX&$>rTn1%WXvFN6oYu%lyp+3K*26SV^rZ4mFooBo9?>~m)-KFc7xqLmTAF4U==+3x2K>I(V7Mo*dn?NOJV={^@@10p3W}x$2J`P zvHJSy+oucLBx?Ta+MDnJx9@FcAeYKfO08wXKF5db{B;KHp||(JXV^|ub(b3yC!$2Z zP^aI(t#QtfYyQt%`jL*7$=jQ=p5gL>2pcjl)y^HOqNorGTD>qK7sx;-09_KBe1OFQ zf{?ch-y2SwUZ zQA%?aJi5Hd*2Hyd%6jsr&NL|c_8Uhv^h8e*OxPPa^iKqp2Qg2K12`lrm6(v%5J^t6 zLN-%8@EC>jenJC$=1E9q04eN2ETZgGlHCHA^>5Q=smS;YCaegm-!0i+aVI$DbM8s= zcVYfFULqR@3$?MOqW=epKz6^Y|2MOCZ22O7jyq0^9&>_pO}fA0YSomhRa2-RZS(vZ zH~fCRDb$ZPs2?c`Y>Gm){DuHeyyg^EjVaU*BpvaNBUy!tG&^?Qb|9X()Zu?hW1&`Z zojUXUmiGTb{wL(#AVHQY{MY@a%$&Ts@Vlw5vcyzs>Z!`t1O+wagPKBj z82gGqsDlpXc_y;L6?Ro*6O@1Nsfw!ilhP=peCO10RbBW!wn8YGhocyXiG!i)djevi zzaFuf8a>#+1Kj`ynLdpwRY3gL0aq6JKIt$shQ_#+IE%3Q3#MtBrfHg{X_}^Knr5!3 zNCY0!fhcW$5qN$Pc!~}@_ZvkHnk?kx_;Ev=95cnqG1CvYIA;2rRcn7JP`Xcyl1zD@ zn%`vcqr*%OftmVj+$`b~5(&0Ra3P?L2@(PUR$dNkS5m2URB z`Wf z1WIt`A2um0w4l6l4bJ@2lfps^W=L=V4dyQ_3I|V^m~@w$rP+U(JpSQWd{`cMQp!R+ z2@?7NnFJAPgAMO;Gh7-GX%|8h`k0}Mz~M|IG7g6`*|1r2<$b6P5wiIc(nE0wR4q1t z6L-Q4%WWxT{5JwpdW_=|A0xgWjsgs|IKT*P5juTG$o@4lQ~5YyF6Tf#Z$Ru| z;*7Wqa{kL|Ui^PPtSha79u{W84EqP4Af<0j=_-Lx9f(*b2a(ONABX!*DN`9^0yBoz zIapBR24nj|3~CjyKu&Fp0e95ql)1sPku-#-6vE->N@RM*QjUfY*kD-NSaOplux5n^ zH)(#R>|Pue&e9}V-WC{PQV$)@sJ##cY)0+_Y^FpERJ?x`P9P+WRT=8FFT~Je({!h! zqlFrsswTW5YnaS{0G1^w4Jk!Z8qY+MlAMHxr4A7qA63xM_#iWZ8k-D&@razVlwfeP zXAR6(+hfYYqC`?lLsG%>QKgLXKX0QbOLF1?MXd$18p{7>u&T~@YZsd229Fa@`Lnez z#PI(~baa2T;B6FI%wSbrNkdAJ9j z#)TtQRk}`YOY9`%#!lu+2mgmiSd*o^FU1I^SkA zbe~WW37kyA)aG(&E^oqI`sS}nHI#%;k(oFLTpfRNx%J-wrWg%Pqew{0(9O)Do0%bu zF#BJo!3qgjavvDwaa*WRiIJuO(#>#dzv%%D84Q;LGDqZ;BEZ1r`3Y>E^Z!;tRypOL z>k8u&``JYNIj|yJ5l)vNE6ogYU^(SY_p_=zj)s zjo5$KIzW`e03nuDL2L#n2n@t9i9bwv&9v@hP%&wmg{L(@M@`-R>>X@i`iO2y;P(-kWy>onRP_E=j*5}F zZ4qhOpJe%2=iskm$n7FSqDBb{#@7$REhk)Wkn@7 zZYa@i+Y$X0=c=n1E75aw6~|~hv?Xm|JJd_4$Eysi3@i?iwxd)Qq8$x)Kk|uzW6LS0 z%&;P5Q~wY>X4nxEGfapVlbkZBnfyX_V?Hs2ZDToQOr$NRl#6)9Ipviw_K6Xcuh@S- zc;ypAcoftFBqMHkQj<#5DFs^1fqW+3M!?Orfxt0dFIbtz-Qt7z6j*?PcXk9Lh}0% zp5G6Ea5>|gTLRGR;X!!H>Gy7F2akn%px(=PJUyWG!3m2S~p$`kR+*T2((C zw-Y?o#>oy(a#Y^Dal-_`bFmYsHN*It)4k6=oD&asV|>C`YkzvP&2Vhiu%lQ0Xyy49>3E_EExVP)DUafw?wIhFCQh%DaIZ z2n92HZv6~MzEEz?duae}(-VKn05LhdXp%H?aPY)6toOdu@2m@I*^UPHcG3U7cdMch zY_fctjZP~ocp%6Gxc%m~d76wAMt#2JUVDSQku%n*`&}D3)!h5ZPcfG@)puVft%ZA7 z(?F)(i^x-v{Eg|%c?)J-f#k^|hOpe*pRV(_qUw$l3wV~+M^ckXL|1>QG*%LzD)?hD z+B20an~qA$e9m)tH39z3co^QMU*NSVFYiLja<`pw8#zmthyIOwg)eibNXv)~ewW@3 zzkG|Bb(WAY=|g_IWa3u()Y{w*Pk^*oFJM59bgX!buKR68(-Vcf4C}s6(;E@dcL@PY zuDdogKL5Qd!@C`xQtN*j(c_R0tL1i>&T!@SNs&S&+?PcSj%&CAwCQ##Jj?putrC4G z?WSfQ;L>F~H=(}SdcAHHz+UP`-A%ca^|?dWQ*;~MgD7k&I8DlFg+GQ?i}8ks-4IJd zzqd+i{}_0*Io@#2OcmC7l}u&1e%`{~<{3LeEk?`k)U*34dIx_!`+H|Ws^J%ja?KIx zJY#E>Mp?#H{AtHB_*FjC!NA}k3h9gUlfF%lEUiVa;p_Cljn3Ps=}s7a$~u{6tloih zHEsY;+YkRT&sgKcn=u?p#8FvG7>o-FjmynfnSfB?d4{3q0Zc4CRLHxPHxp zx;;2(q_&RlUxUIJ@q&k#%0Zu=6X#UhU1wb$w1QR!565}dJSmshmlZA+2TRv%0{FYr z`HGFjn-lp#TfNPsPv&nhK-*IugG~(uVaeXA6AvzL@E(88i8JxeGZkUh&kM^Qk;QnX zlL@mR(~KT^aj?1sRK`W#yx+O(cs$d25p{~@vfMZV;rYeEF7OBjP5|z`4jtvlVX}9H zA8PKW_ppgAc48&pw=+1{?l4|K>UuJi8o&nw>44hUu-9Bzq93XK&yD{AecP7{EG7ex zH{cqfV@-dH_MQgr>K?0{Weiut?TRyO2semAt$b=FKL0!Ks&+U88C`h5UXe0UEbb&p z!LDJfLt9NoUqMdI@UpA|?G6fs6?t=fJM7n7<&s{BhE;f55}$R|`Z?|CzcFv;&*)V{ zA=nXiGhn)1-bI-3K{9xER1DcWmnFvxXe})6 zn>)!5-08^X7ON)mA*e-ops1F1H`ZMybu{!1J8o)g!u4Zwns1{yf%U9+(6me0x~guS z1g?LFiWI2oC!CflnZkUnF7-{vxjQzpm@wNWW7`?K33EHl0zHFq3k)RC;nO#p7WzxRaY;lI1_`% zc;_bpzhCk=0wM%#*~mB3#7A$AXSRPdaXWvFKHFV?Z0MZ42xB`u#HV+o+KDCtUg&mm zn0{dKnuCp$;h{0#4(7Z|;=)bPJJxs@`ltY(4t-M*py{ubD67eK(-r843Qw)DAJ*s% zt&AsIk(9&f7QfFOoZ&X^ht-0_qaxe=ok5;G_{+BYJu)+HT|Nk_wd9U(Pl^@=o&@(MoUW;4@dH5I1*#+ zbX>5=V0aQ8PS}ent+Z+9YOlUn{hxpAA2!)|=lX}`Z7M}Pb6%qSMp@0UG}2Ra7;6O~ z@9;V4P{c^T{LJjWFg^;RtG+6sjAIOC>>V21zC{BHb{`vc?pp{ z!xDIWCd2T81aN{1m*yDj8zU29v3UsvJd>mbBS85$)6w|?#cno(R^bJ3AW(nLJ8KIR zKXC@=VF6nZpw6>p3lvKQGw_2JGy@`um(&(0inAG5!3%l;F}IKA+5$yxIs;9#;0b6< zddY2pqBzgM6kd)i+3SESr4-|jRqw$W(R@668+WO#l|`;^a9?m-{XW`fJ#>v1=#%eIkJY0gV29%#D}o{B9AWx zdwgP*PtUT?fj|Q(cPxWC%x#rf!a~*!S0Ph%6Ub%w9boQ^WZf0h96&aKD3lh?&{0O+lPL&X5GETXd2aWf+qelWTVx1NztY;cLo zsCF9I;3z($jz!-PccXv1V3xE&*B-|=hKtOSLmqP++MFOTOJF!Be4i=ax*^tPGZ^-K z6RlyrqxCXdbnsSuK^TDE5DwwlM?Y+LIWx}fvSDGHiqbUS5Oi4E+NL^cOAk> zq!z^T^`du(yCEqw%jB?K=5gb+XciCg)mwlJ3vM0&1BILMdc%L}SEg(^BA)QUso8A9 zoqbaphed5N%lGU~4fS(kJ+LIRe-CV1u};g?I(T~QKwB2GA(NHcriX^SaYpC{4^g^ zisc8jiZNn6pBaDWuGJ6Q2e{>PP^=$z1zME0GQ~5nu0Jo#s}wL|06XVxEtyrjGuhVJ zcD7%qyS;g3wx7BhXbv$kU#v4=CCQu9&|4YNIZ!uhMJT!ttwB5!rnD&b=Y<=N zA&uPNI*o$vqLDBpdeeBe#wm8X*Gm;EnnGttxqU_;FNDjpWn4^P$Ed!qXoP3Uj(rni z1fbk%3!J9)E1IkuMLHzx+)io7G>jc9ZffV=jLd)A9KO-d70ri~;DsS=NG)vVgU=OB zDfXILb4Ca1LUWzJWT%1=w>btQ#LZ#$jaA!gXM|1`c7lQf@!bYW_=Vx16c@3g;oBLB z^Zi&fCQjRUwi7d={|2veS2XdPhjrO@M}*+dx-X7m&G8MT`H6+wW8_Ft-o=4Eqxnxc%+B3tzuG4Ih)274&MR8z{XvBLOTVKLE1LY+ z+~}~eYP_8${>R@(Y@mtO^GG&bMq7Lh@R7E-q7iWb$>OuwaEp-8e{x2^qk~z_1YgmJ zfX}cyaOU(jM>n(Gc$vC69F@tcg0_))ujPMApt9K%Rymw@O6(P@IwDCt?&*FI8KKo$%Lm+?M z>@LQqw!Z`$X2(?>U_4WpL)CewZ|1(*{|Y7GfjR_|uTS?`0ja$P#Pir20uebi!e-0m z7Y9Qi99`!(IHYyRyWCg6&qwv!u&H`t>56?$eKP1#yfCq6RK&Z%For zJk;>F)Lem}+2Ie&0@~OX6idSEm4tsP@?w>#T{8qCHcc00Gu*Y6ZVZ&}U9MS|rgU^$ z<*hqHFd zv)Sm5>MB-c;oBxbjim$@EF)j!Rz5`O(?yizKX%hvyOYP%RPvsHwU&`@CJ}!qF7}`8 zq8m-wC!N;Dxjy#WbP@X(8*yixg;z~P4Svci2-<5Bh@&}M_JVHTjOyq*1s{N!fqThg zpcAe$u*N<~JRp`+U-r%G5kaw$fq^jVmPK;|`a~~@SQBuXK^v~4&!08k4P&WU9w!2K zHT+Tx%}FAzVMaFD2-^bfvCMx`rqJHCZ7y9y3;{N{K;Tmf3w&qo5c0;+`=GuwWXVsu@9Nm}`h~-uRKJuPlG4%*WMnqPni? zmjVPO|5(e+9K(cutV}aI6O`|mhI59#&p2m5UhYl7_zfDW%s}dec;l^_1OGOv?G`YZ zb2-)L|D0V_Z#1R)K!aV)FnC6{DHt#1W5)&^e#hPTH&qBvKWZ&B{x_^yG&3q-L6`hO z0Mklnz!Pk6&@U8HS0#TGGOFV6+4zS?%R1}LzlFg0q20Ig`#x1xF$`1Oc;hbd?hzCa zy4+^6ez^eO{IA>I*~pga()k+-(A)?IuZ{FGW6QG%`|rEQ8E|nTA2I8)$++#KC2K<7 z+{C#NAJ+HgM<@ikfR5@xfVmJZCbZ3S<~@^@ev?_5F>u}Ch%|pvG%P}}t{V^TD(fK2 z%QhSv2c30WrdHv+Bkb0woVrc6X4$7*d321(`6}{-KRZ@Gsfn@X?EB! zw)6`|+b{y`(Un6pvrS_5+6LyYC#W=IMR$yOxMn1Dk_hn^e{Z%t+GcOdpeb9rScfy; zJGz4BF{Toy+_RpBvDwyVKa|A3u|}`~S8On6&PGXfAr*hPTl*ib#O#HQ+Ek+WnSHWHqz<$-RPaB4ER}8FG&^aEpt& z!CxClVPLS`Ln_OL+qxMWYGKcjK}gToRrQcEyU{Z<;8q(8fpV(MT2`FvLpoz#8Om|n zHelcQFztU;%bq=Wuzex89lbSThqTNFvXV~2GA$r!CJZkS&VWShMEwT7cq7U8uKhsN zBx8ubaW!aXPew5#(Sdut`x!v(1&-h(n;1KhPbuIY&2~f(P{%12@g}y%;!FXaFBc+KOrKE%hNxpr6ML9q z@XUWL+O;l0VjtOz4ul18Zv;upavT#FufGUfwYlDAT(B-2G;TnrCkz3I*0-_DqdnoN zO#^|m8_DT2(&IBvgcb<0K~nZK5OOfETT6umi)RyGuI24lGHg7h;aCGVRo;o@hDt>` z816g+aJhhmZ%VzttE4$&AEIW^HH1f?t4&#a+=eyl-u^(TbU)5?e?xmoj$CkkPnLp5v~)9ulg>Qf|;--!y-G zuZ4g`aI|D)irtQP7C1JN9h(8r7tsAu(nQLf`pp=mQcNhR6lJU?3|#a&8wJ+fOt~1< z1z}s7p-C*D8`okqTGtW&$j}*=V;d_Aw5l71 znoWr^aH`8{6pV2Qq&Z%=hjBCva9dYHNQFVf3thq3O+nr65h5A*1$;j~-47#8EBvp$=KTMG5OF ze7Apb!f0d$d1PU{QHIXsrR2Cpf${9za-hpzu3}T$*huE7KsfU=B6$Q(;BSZN`GSVQ zDvoPQA`HgXO_Sd5-Ed$B}O~Ej*-l!hUD%)1(vatoI#OXK>UrrZ>npjs-z1OkqRcd zEAEA49>54*n)YUX2rd9_B4GX6GDTm|Ez|br!2y%f83%|90B#&4H|gCmywAEt4d_tF zHjGSk#)IX;!8Z(&uK|B&c6_I*J$YVIH=CTDkE@yKo3Y>i##1o^`CKNxCZ%M{`mr;# zWaKuJFNiOMAtOZB6#GUeJoHBJ-0_dq3yFQao-r1JX@w~VkPZoE{6}q|jpLOY;c4z0 zvV8T#YjbDk*NH%xJJy@gdb5DFK{gjcEu}zRs9dZY3~+2nQ}ut6ATawFv75h=^HAPk z+}73M(Cr0gqv^9}fu4cK8!2tsY2rHVD2t0N%~=2TnWaSX;&o=E;})#`3i9kq-ToPl z40TTrMrVMaF5q#aFi&>CI}GbwzQh#xL^hh32{~Oz>}D|KR#^y#q4HoZcHhKKHBvmk zXLblIs2NM1H`{+1vPfb6-wen2Dx^X*Be|KetKtQ|-0?Y3Ay8$rDL!Ola$IU3EX7qH_3wsKUs?Y*O)x9_V@^j)J zBZ9p;mJ60M0hjM}HINb;o zdYFMeU08<{KCq4ajny#A>e^6=XUMo0l)Gn?-F&mqQy*-AP;G_nCK&!KBI-fuseMPX z=!Hz$P^C0ruuCOQD02{ZWw_%S>!ch8e>dX0JttyA{50~1K!Gvifp}|BS~?UXFMq}T zz0g85@CASLg3(G{mC&7FUZH9eP&dY)B|uk#R;mpT5H1hZ143~|GDGLWPVRMITN1&@h+#qt=uVaR`9)}Zrw+ocRy3QfLoe6pTw*W4OU z+RvgVGiDz*D!H53#v68aQ%d*i+Qjw1YF?Mnl423w#|HOTGR>2I^kOfAJvIXg+nlyBRlIw5grSXDsR?ehjXSL1nRef-@XY7EtsXziA^ui01|Vj+^)WGx69UKQl*m zZ6Utc+8j`LqJ}!f#R7r18R3_zAbG=8e)fpWt=}MZ>I3$mxF6(=B7WOA4*j5v-~?Vg_ZulT4v=DHs4A61 zomw+`@ST`TyETzELP4E&H=Tt`wRJkPP$5_#d74o@yUo zj3IfVm=}8X)zMlr`bQSBH_XPMwPr}Ky)p*|OBX_tJ6w1d^n9b3;2DEcH^xo%p`H6d zTbuD}s%D@~)V1v$qs+(DqFkMzb-+0F)m-eZ84X_+vW6Bl?{K-HJe11qvN~LDShjqo zz|OXXAfEA<_j+don>NA>3{ihkE*8XgNooiCzm+N{0n zCy&jo!C;h|0rv-Y@%=?WRoNK>KDY39ZuH~M&8Ka|F!*VVA&oYUnJ<4L3w*XwVnXwg zxum{SX<`gR5Y8A#YD1bitoVg(As%c$rM71oOvs_?!C!P6LrWV!c2MZG08Vwjbh{-X zY+0WrzcCpC?8g*(8`2%2Jb3{%Zib0hajMR5B zrJ9K)D}=l{wa>#F-yMF($-q4@+~_R-I#S1x-V?J3$rc!lT^7_=&e*we@&fe1lYuE@BCXAz*3!=@2g^(m)1|Asi3&L;@WQ#zqL&j`M&8lYx(=%dWl} z|Aj~3&hvl03ty9Ghik-iKf(cY9An&P*}@va48+%kjR8>-By|j|IgSMm#2KKk7B&E) zEM}Y$GOj&vP|k#1TG$8)$byXs-H4amSWNPr`kvv@Gg>>gaM72hHf#S##i={~b+sO+ zi5U=I7P5mtb~vWu4oi-v_)+iL_?m4aDNdNh&=`L#-*6FoCm6q0;w~@;@f$b@{u$}hcm;KPIqn3)Qmf^Y1tI8Bv z=Xu?jdo$@WxWJt;j)K|sL|cm40jIl;3)%7EMhF(9QLNa&tuw$~m?_ZH^+F`XjPWE2 zUZgiewgA<}LmZYY;pbp=)w5(tiz7la!XSTJ61I+KluhhERo$pYW3p$T{)SO%p0qRy zcV#(tE4<#N$ekFUm4)bDq#I3}*AYYMOyB_LT{s@C^BHymU&V1ir{(=%Ag&Bd6H4BfDM@6Gmbftj2-czDxjh%d>)?jVu^)T=#A$!V zfseF+HUjvG)yx=bWBKD}gz5rv6ZV?)w!r~zvLGHE_wfrDalEL|H3-1|Sqexg&~)G~ zQB!o3CYqloWdBWsf;3|UXUt18!#iGbNGaYDwADF~4<%av-7?)zZ zO(E7Dncz;Q?0~m?GpKPF;Tm+7*PQ?4D zJW!iQ?b{4C=-lyVWrjRBM*5d`aa&iZgYx1g57^A6X~AeLQ71`f+y)57Ts z{wwqQj6XAI_y&+X@zqT4RM;kNpvdVN2HWsK-`fhv#7HLEUx4(~OUrKX?kay@f^H~Y zf*rDSwG{kAwvF=cW+B@>zn!7UZNB0c4NwZYZ4XIg`nm<}v=sIR-d~(V1KX@RXu2tt zu6#R939Cv>OkN_SR<=s{CTML7g`+gZ%GU>d(k zxx`zWqC+7vV26e{jlfLc$}moQO}xGE1}+peOmyH1?p9;r-C5pBDh~aXBQ-z+SGu)% zE4j+2h}d9#B?DKw;(aUmLiX@V^m;P2K(4hakTa4=nd?)EFhHeCj5L4HF<`*Hg)7ml zV$y9)cQA~}eY2RxQhmVR{$c3@1nmHNk_aGCFc#*d15~BI;bR`&*c*8HuwO24$Uc3+ z$2~jdZMZWcy8I0k-`Ee9Bf-?i*yoi{4Z7*e`VRLzW`{1}nT0{+11RpW&DId(52?YV zi51xAQl{2!BZ&izk+$0kYDcvQc{aDow__cx53mo)rOjbKvZ_yftR8#i6bFpk;}3MoWJdEI8L_-g3@j|I;g$ zL=wH$FijAx1^?6G6b08jnVfT!|7jX4!|RA;J36W0?|9C%<2lpLQjQiHtzZmBcySTc zbr)eW_@labfY_7q;j?fuFLN0$W2FnI|NsBLyU~C1c#U?y8|C#;UcbA$A28@t zQSxM@K@CBk4B-}q5IsMzC5FBg3o2C+8)YC)eT%mX!>uK`&u)wb_yYX;xIjen_H|q?$ys zF=5mSFXU?cIRSuM|NqJtwi1tGGVl!?7aN$3=uG3zXn_gUWAX-TWA{YqBx|U8A(L#> z{BS7Jr7`>LYFH9B`z+@r6VNvnY%*edFIqxTgqwf5$&^nZi%U)ByL!-ZF6nwnwe+Tv zbNd9xRibf~So4FXLdNu zYRoOq{7>0p+%^+q8`5=>w#teW!$OLU^>AnKsK8mEN3&pS%y)@9Y0OWRtxhn3pD?@R zoO6E&AsSU9(aaOq2J3?VsS~G}n*;H`iJaReF=kk_*tY-E-%(x1#?&_~hG*uSzr?U7 z6Da@Fs~Ro;gF=9~-qDdy_+NY?^3@~}WlBz(>qZHpH-MzbxYq!-2(4`7@$oCIKha&9@d z96N*Q0Q2-EX|9Z_c1z;{#+I+9G^rDiJgF_``=bqSIR}{y&JDo|1lG9vLq= ze^lnHe%OFl0hzj0L0Vh|X*-0J??_ayQ4KR2 z29HG5%S!4@LIcZyYlVNL$?8Z}kkbg*Dm;q)_$oY#b+KDfjQF;$k`ytQ8UT;OBGF5j zWJ~KPY-OE!L*NcE5y~l8!yyh3ISyg5E?8m_iWOHULM(h`P654ys!%KI6bk7Ua&D=Z zT7_CwE1A}9F*#>8AJUKz$$%j)-6t~?lwqE5+%l(}mtQy(xY~cxiwz!Y*D2pIS+)jg zTqL8})nY*+k%~PfmJ0(+N9UF+L$?EE2~1cE52XzM-}r}vwC867Bcf9SAV4hd%+es_ zybSWzmMwa)4xmZ6f&Vm}44CKP8?NYex;IbKoK?>44+k+B_WQ3Aiz+c0rrxmVS-a(& zorYoSafkLuS!RD^4a`%6Ot@orQ22kEo2p;`Z=O2l+YZ)7?{7J0o!h`Tr_vBk5>!o& zMY{Kh&{=czoUR6w1&lqY`1b$5TMM=>z;Nly>$Uzp&ky@e|n zA|BYSuCqR^?8S~V6>{N115DniPmte#)>)riWabEE7W|HHEU1P$v^v|_wbQSmnmY>$ zuoO?{tm8nrYwVa(CxIspZ=j9?ZIxyW&5cjcK5)MEht8$pu;yL)(W>_-8E`oq4G{k){)^d!`ce!T^jLLJdQ( zSr9{SW6C?j*pXS70d%V-g=vhPVbqEjvq9@Hqs#q*0ygF0R?qB*RHzwueP_DeEWkkp z54Cz@i*@^K#vrm$1+z3zt4}-Dy*4iT%rrx%1wMc1y5`={MU3<-V?E)9#f&ZvGt2GC z0uQvjLqol{G15+0v)nx`{}ef4idIy53_wA6t8en4>N^L8}&Rx z@-6-Kpbfw6>TFmrPWkNWhAnJTo{?8#;ROoaNImvy=9F^u-ZvHkAmL=`DY_mlu6Q!j z;yZuaXv0FhkN{4gL`MD8-UK@z6W{nYewP^-Zx(PssAJcLE40@vj+eoW$fF$qZ!K_u zw5x6{723e>E*vJ90~iKJVBe&aIJV?+CIUVO$8tR{3(2DD zNEPJiW+ZHO(F-m7YecQ?&EN2AExqYZ&viRXHu11v0!wVP%DJN9jpt=F)vpC7D(ip3 zrKgS~W`JQv*m1+n*z&_K-YkSP<5{wW5d^+5q1{=ZBK^f!#pUa@&UA6TKm;spK&v61 zNd+If<{C9%hz-qmoc6gO0GBputC&M?USY8`)$0gZ4XPjPo4Qyc@FMIlV9x9V_Zz6c zHdiIikTZKA5rA9w^&aZ~n8I`=?o5ACmKM68J48#p6r;XKDRrFJOp#JHk_SdCP==LV z&H9pS<0h`B@YXfrpZjkw7-^VkuT$0qKAhcQm=z?@hl^80`|K1)GfoCAl&u{GviZhd zWy#`tBF)Slj3h`4T#ny6IH{z;J)y>U>+Tz*4|2wB5GJF8gTHh$t_k-g!E=B7;nR6y z=FZvUgOxYZyL@@u;_&rQOFhnFKZiO4@Qo@g6w7+;MkjO`^o)h1PDrzjp4iw(oEhMm z!V3xL&N3|tabpgs^EC|wza|PmN*z~7+M;H}-kHKF9v3r2HgY1<01S`@VmDlyGe+qT zas+^xEIdKn&NGWQTZ@sx!AyTxI4!uKFW4OGhgn({Q0UTfEqR6!iv=2p7S1?vm1J57 zVh5md^E||0!}w<8A^V81$0TdeE6Lo<>7SO*s@$0`NclF3p}@?H4VNvHAx|kCZoP4qV90aq-lQx2IJbZnq$;&40FChu!{Z1Ea7j-B$)ZXdBFkU zp=7A6-GuuaM~Bo6y>=L+<4bJUJL zyIdf^M-j9QA9*rx4js~9zF;~6KCw40n0v;jbyBQG($v>C8VKqk{6UpDLYvue-w0Du z@9eLx5A`G`aPB*Mm=PCrMdP3ab+n)WmK(nm>I~q?u8H?67a)H#)jTdpAa~wIQ@I#4 zebXg=BV(e2UA6$7p)s*Q29)=Wg1h>dq;=I)hxdJQyPz&@)3Y$^|c!T$tS;hR%j{`3x-%Ik zF>|rfMx$M$`!-@Mw9|dE(X$g-2fr3^^Gv&$qZdF>IQ0F7AzQEozShzgLbkXI8)4rI z-dkqc!g;kIhH_zptIw=Z1VYT<67+b-2ElM$@=TO$O*?$NA>2KenupX$hujL+;zcv5pDf^k zbb&XJc)EW;(YfIiqyJ1DMGFg<%Ne@}#+MjM)^I!0nlbc+ZW?XKjGYvWGk?Q6P!5Hh zew>nQhN9R78-Tje)~Lz=%*UZq7tsaP#T_}3_@HNeU$lh^2nB5;r`TpTco%LKdYriv zWuXNRfjBOW$I}HbdgAg@TI0^ZbpdQ7jI< zrCQ_0?(oukyd?34*xOfE=!t$MHbHla(#-pj3oUqUEvt(YbnGScYIhKsUuZ)9J?o;r zbPs=~$Oa9U&P=*;KJjHb0m^eO=;)YvkL{g^2Zipz?6aDT0uu)pP9WX(H<$Az)@GJ= zaA0(U{kH=M^M>hz2~t3Qp$3VM$CyW4j<+v(5erXHc%!y)tzAZ(IhmiKk&VuZJL}3Z zljhR`4Nmloz=^Z)_>D2-&+MlS3kM+aZQOsU3lQ$CBNk`!@^oW?icI;CIth=Vf8r

c%B- zLCOvzr58wW%Esf~opp!k%;(>c$<9zs919QAh`O|xS=nI$3G;Cz>x`oVx#XFj1Qvhr zP~<5t6`n)?`j|MoFac0H-1Kt`;C<5GlP7z|aUbT+{e4z8(xOWwvx2#S<#LDW-?g0~ zZuF)Qp9Y74Rm2%pb~;pHp3U&_uI`7 z&}KAg`dJl5G1FFIAq8fX4wIZaI_x*he?}I{3kEJF*cT;L2yFc(}P`gwhcwR$YUnR*Ih<{tG0DIoP3!x8tP z01tNz!b1OMJY-t%fHz9FEw)Y~%V;w{q_W__n>?KPbv4-@Idjd~f*jOD(>m&~GHx<+ zm9hmH)W2ml;kvyn*BCQz#>ao7g&kbmhU}i|;x#h_#&>3nJo}~F%VfbBOS~5{pav%4 zsoTqPi8B|;7N$V0tyi~~B_d|*b6-e+f-Qr{YIS>=V*|Tqbhcgq0ur7Pw6$|=eYwja zoo!UcIRmoM#ud_!jra}S*qI9sC(C+`R7@B%F}N%sHWGV5Q1?P^x9@+Ii5mMJ$yY~8 zCX^=r&E32*0y)XBmf(Ncj6gWnlnEzT{doIe0uaL__HGZUG-BN)U|VN&RM}@o7Pi|K zC3ZG9zIID9kQ-T8fXc>GYg=T}uc!Gxbr%2AXOd%QKJT>!KAab|Kmpw;;ig})D2yGV zZ|Tm4Mr_DnO#t>NOK-*;#sU)_G{Y$EEI!`ajs@=GfOUtWpge!$T+z>JI_9>$b3MR& z5El-{6}R4G2DLMt`~e62BsT`vS$K0?Xf*c*uegr4u;;c@BLV3uTgAY^byw)Wjk$HtX8CiL+-ZfQFGFs zmx5XUV*(gZ|bm_wf*V*>rhW!QhKr&TL)xly5<=`2SUdJwf^ zV^EeJ3jxcn%{T~={5ADnuE|W#kqb%ShVRy1$6<;L_WKeo6^Jr~T`w}p%u`1TNT6d- z@8`@ODUxnLtE^0-j<3gGPXO4JLwf@&wS*NaS z8QtDj=w8>)Og}vq5RIvEHZq700B(eZq)AHO89us7kg#V5MwD{~&HDluo)D@ZV~@F? zfZNYpz6CL=b2q99W{yj{d<8!fSo^Y1oBGpX@Ci0OSl z3II&IfZ5rYHE@w{rva*`8v8n~G*A|cUdB|ff>Gi0(ssN_OJiffW)~;U>+R6iGV>ya zP#%9WrSP2>#|uc=AZRmH+O)C#;ja1(F&r{mWGq+z7_cl|E6Bde4jU=Y7U0`Qo?A#lYW=FB} zg$3Ny@JLID8A>V*j6CW0&17K)VRMPDWRibVEC>|2V?4SUA|4lFkT@?KxgBvk5Ac>% z@I2EyaIanvg3J%chFhPX5U~|UG&lz%pO`_z5%;Stx*3M7LS`pOYo%{d)nhNCRyWZc zYG_DxRheko@o4HowL6;)ZR92) zb~W(Dti5GaTtT-jibHU>h6HzS9FpJ?Ah^3V65I*0aR~0g9fAi4?j8t@OB#1~hhUfQ z-1E+T_uu>Rs#o_|dvxzwb5+aORXuAir*VI219>F9BZP4-S>p+~63<=MshA)ZG2FSN202*fKx$eRk~mb-&xwH3v6{y3Wa7Tz@{?k_B)zmRC+@|)q)%A zojZLx#{gZF0vKaK;13YUa}Z14+R5~jMw7Lf6UNNy)(c&-ZdnUbY31Mh&?hz%+`=kg z#(m9$oTsoC*SU@!@pnHj>TyyTHEql6AYo%rtnNA{TFK zCG$&|OjNt=ZfXJ*hkFFBp(EvneFPVn?lag;fy-9Ee2=p9V!kEvYsncel|HT*$Aj^~ zy6@0QABJTOTx*Jxq44Ww%ORs$t3Avj1Ko^`0@L38%Gno3hHuNrEb1C!)-7XqC}(;` zlM-$m7_N}!G=P(CjhBm&SV+`&u(|<#bYi|94nB||-m%7^zV^#)kWwf~su&9*NPD-j z{1|=|PF}l#*L$&@+NyM-y}>rEkAph2SZj1iQTHzB&&>jpy*G37!A~#4V$j}q=bg&~ ziO)FeYp3mU-l$5^T09&sl}rTgrYD$c%}MV@D+n>j27m%IWNj%Z5x3OQ??obGz@X2g zqgY2FEbwTgMkG!6M*e;tGSJY|XkSM|QYPZBZ)cHNe0^~+!pyIIq-sf`p%1Js#kuD9#Gg6jNT=w15gt#hcu2$tx-HR>L{E@8QfUe-(F^-8X50a^W zTr-^)qOh`vqc7pN{j5QD(S4Zv<}@e3cYjvt1_%2N;#u3v+5v5F6t}etQN^=57f7yEKP|=Nwfs42r|3}@ZW!zpA1EGl zxMB4bwlpFgWn0Cl$7B?a;p}Z z${nqJs>x^NwE%cQ)r(s94+EL3J3J0BI#B+AYr8tj`dW6sCx;=-o!%9c z9P* z*Su8+tcy+5bt=>^5BAWM2gK}0ev=XKz3^<^<<6>z-uuo!*M$RL^c3rv*dIv$(YDs1 zIQPJ*c|;^Mhwcju$$cD@@j6rZ=Kn>Yg~RwOh1sqNNs%oVJ6|2 zEV7-?n`b>)QQEPZ%FN6b+T+NSn^kY&`Q%X7jv0-<&*h0c<6`dJA$jD1X8}@pX%wg? zKG|Z@rFQB-)gCz`c+WXN-d6fo`>6BSRmssm>E{&_e=cVjk({~D4-y1&1V#iq^ZUSxwyvQA?kR#~iXv5%Cpr@}%XC1jF*2!@f$3^B#Wr}5y2cdG~n0PXc|ZgIj)d*m@} z_3CK9{sp5MIi;+S}XFO!k6w{q2ug?&-Yfhj|mbYV7+& zsaxpkUvi|A#v6F3RDnihNaeoG+umO^<9u(cN|R123`{^AwV$(VU+mR#sBr=x9p(2Z zbjGg9>b8K)!qE-!EVd<{D>5xaFP~R3Nn(z;lIz`Sn7q}Ru@{+a75!q|7J2-REG1OeHh32o_{}TZ*RsIpXM&ztY%-_p7nXVt|Fd2aBrN=|TF7eX0in z_5csO*XN}h5+6r?dqMJ|h6X#H6l*9GoV4;b&%%IvI@#XvV=c8jiB<{xuDh>U@taBE z57}9tN`85#`UCBUfpGqz;gXsh4j{}QswTJpw+CKR>yLuXU zboQxzK%=3Do&q_R^`vyMZ6*%6iNvGY^dZvG_X%i<5Ei)^HH%E#<|v{M?|ccJXAl+5 z;r3~#${uZ;(@R{i=)NC64O34&vMC+Q?bE=QDv<;YYC!UdOp9m7Y{NfozNEO}$Na1; ziVjIgrlOS3w-if;TK-kNcVj73to~(1=9d2I*^XKv0t$2}+)T1E;A2@Lb$*`mW=(jn z6rs^nTlwu@EyNm{bczot(2{u#IH3qRMY{z$Yg_9Wy~1*t@v?_}#)_l8Uf2{P`y4^@ zZK^QeG6#+H5pQAC^qdTbAyd^yCTJb&&B`E&5NkxjtdxOs1c!f?vs5ac=e79nJhOG_ zH9tR1K!*H_f;uKi-rUp6L}~D!otGFP)EK_FssURh0Rtgjcpe_1-r}6%4%BtMi9nVu zB%|^cX16dOvno(>RG|_@u9xe&Xw^W2Tyb!)0$PQW&JY*X%jwxKW1mwh(z8VJdXPb2 zjRNdiBK0AAbw2YSVgF!PM-zrD`2}Tr5~R%>!2DV)p<$KXH>bOc>)lN4^l1b;p#m)D z&n_ZjGKXco$9T{^=S`r$tHg#Q+u4lXhkgy$-H%=?uK(UoAvG->us|kcG7J5xi0dvU zvtP#jLqjg!m+*a%ZFH`zvb6y(8Yq*Oydz3xkwU)c*A-!e)r8Ni!`2&`Y%35=Hfp>S zAgtpV0m^ACrRk_>0hOF6P>tU!#u}hTb)JIL z`sa_4<{V>@ZeT-1fK(JpFbZbQ+m+c7YN}zt?fw{=Nk;qk6yeCc;kG2GP0O=G9c7Sd zz2MwAmF*rGB;C-9{CjPh)Bw>TbYwBeF~U?n(VhyGu{o%AB0wV3Ya^GEZ5-<(NO}=fF9b{%fDs8!4*AqAtFbPbr7eXv@h6JE%ROiRW84 zhVd0#rwDuoax)r%b+V#GG$FedDqnWMc=P7zrSkQTq%0*UtY;f^z?|zH{Fj8U zoeBu%L_mS8L1{;YUi*wcSIQS9#`}?TofbbePVHCTkV*dXiY98Q0jHbH(4HmE)D?p9 zU-zfhPWzW@`^D#%7m~#;Sm)ghXQ$u!@qgGYKVR>MFHJ8mH;4a4b^#U}?f+xXU2Cfw z%7t$^fQVVE6tx^KnlYUa{u@d- zu0%#&UhYlXO#Qx_63O~n80vHQe-paRZE*@VKy77h%`>#7nA{8~rn2C45 z^$FKP=!GzQhV0Uz(e97$wI?WFX7XSDo~#UYQRt@jDa`>L6&laRt!&K*`f~xpOFjz2 zVm+d3M~{vJ2J{T^!^C#AZ1=2fd_D4ES_1Y){vf@8%_2TSx{A!%(UrElu7Ug>dTy&R zqeM{)_}dj(ghaGyOzh&l^{Y}*)=PL~Oa5%`JZQG^V-0XFw%a3D<>Ml4Q>=4C=fT=Rzzoi( z4&cO{w$Q|zaB&HVyDYt`SJak5f~!q)}e`lV6I9W+JPE5|Ph@t ze>UDb$|ifLH2pZSs_j?qcvr zm=UAeZzbfpO3^M`mogi!Vr`5!Ti^WQ*cbRYYNemhx#Q8S$ zPK`3Rqeh(|iP8PK`zoCi>k^4v)35(~&b^lr!~NZ+IS=(n<9zS&t~lUk{9ElHDjN`1 zV9wo_d&*${sVX8@ptLcSjOF$>hoFWdqD`pa+#I{$9=wcA=r@tOYutP>`UWG-eH%~j zNB2NY9|B5^StqsD92f1Dg48wh92d#8(D+8I_aW^!e#H$<@gL^8eMf(US#1_IjK7cg z8T!U&GUpAG@5Plyk2PuaCImNHp;`dZ`55Z5oRS8BiF=BXiMu9>b=sJ`s?;02#$UBo zn%fnLhRJd$tb+An^9>)Q%Lj6`^VN%jJ&rdy;cfs$<>@$4 zNlH;GPU~ZdW%P@|yn3LLOC^#Swa?@^NqPe#prkLg!*VoMJ?(zZ$XpJaeHtb znWaUF_51|a@kkE|NU#=*ul`rl_eyg|@)Z#qano$7%4<%Jmz!e^wtwD|RimBZ$#R1# zMEy-5a!(bFPahd{ga9d$karhN-OoZ{EjM+OWjKh|ZH!KEK zL|25uv~tzJ-=)elCyPe^a;Y!8GwCe-gw%O&?)N-yk9S}e(-krY)u8w6X^N+8e21UQ z8@80Bp#3S*;FCNUs||x}8z&RXK{CPfRM`5k?a#u=TyK@L433~i)K9=cWa%_=!m7pk z1Z?>c!(4*&UJ%a4+RqB93+(=zK(s>mG!e{S&l0J;GUMxJ(h zSj4~WLHz;YD*xo-Ju0D?jIMQ$?YddE~Q+yzrVToQm$4)z+j@d?|Y%Qp2%<-3L3wK$^ z@*D{*k(uDX2&X*rxlA2xH=Yn1*TxYJ+`f59q)pqBxlb2Jd%8w4e!1Zi#^%=sqVM1RLhg@wwX?Pb;SqwrVQdl&pV z<`kUmgs*)H$;gK$eV-aRwdac|R;<_3n)>GBUa2rO?E)`F8fqWiXqv!#2~sCfc2qPJ zuu(Lhm3D_PL9BypvZvof#IeoDSgGAI%!6-I zZhk-XsoiXmqE`?e(hg4UHeJV=PNy8y3dKOPG-*^EYk>_BP?^ zBM1(>5`cDRP!{129LGFG&hsvOr@~*6Ed!yT^WTY;`rFLo0xd~nu_O|>B~z|uMhoE` zyn^foi=;|+%niQ}kVFZy$*U^J9~bs?cGD$dfS+bPJ#=cQQnNO=UdD|-2&yPn^32VB z3$n{{Tb(gjz=*%PC)1QN@wOF1Bap2oXhA2?5J2`PuEO%B8;cY8d=rPJhK3FDeHWZQS7>j5?ewPFfy38cc za&o>K$BguzC<(>59OX|WWh|FXNXJul)74jy%1NLx8%J;tV=)>(}_PqaMIp}Hju)K2bD>;wW=8iptPkwy0w z_>x`tA%iKKb#IMj?l2!yU?^}HhViI+*ykr+1hlu(; zyy-f!J}XL+i{n)eG+>-gAJ%;q-&2(SfgC`Cpa{D6Q8R^zNW0xA0JWmw zbdw-TxSuGQpBT^zD_S7EJl-_#sHHX#2##%;?Io%qAxlI6Irdhk4gX*^LhBR7me*Y8 zjGUVcs8fU4`C-hwid)u$$px@UE^3Y;a^>#KKdi$E!}#n;UaL$}Go#d#v{3w{<=(t> zF(*ksTjfuw%PpCLq<=Gpk&;LOW^(B0biA-t+*VhVWt*E`oIEZ%WW0sLyWbUVlHJjt z8qyz?)(eY=Ro+coL(kV$EY$NE&u*%riI&TM!C{9l5O2t7KvZ54BMtI}}Aon#%xvzNR=M znV4Uwv>3me0k9giOx+7RJzQj4GoENm8M!_Xwh$P|DGNpJb^>@XKbgzjcfn5i6}2J6 zd`X*Sl;tdPn2QOC+H#dNJqP|)%4jcGHGjA!9dr_ZRBO!D z%fQ&@M5zAa&YyOoGp6BU7vH~=WGaaNrQ528I{3F`iP?z^yA*tqX`{S#fTlzAFeE@^ z-+CQ&I%K$J5ctu}k%VRPy6y1Y7RGy>YaTK!4_fi===&dE*NNkEF%bnXC7S7-jhR$` zKYwL-r#|0{0s)iVc&W)g-=-EOP<&y^x7A=U=PtMN7^kCtmyCWI> zCW%i}isioCAHR)NmQ?T)hZT`6{u8sKGcUcgbTQ+S$IG)I?kC$Ii@Ek)V-{H!ZeeIm zqlUP3vH`3h$|Vyy!EpG$Xsa4rI*FR6zPcYpA>W)rfnu`p1}lb-Z;0P=rQFxWaJx&L z#WR;oknK(ieCGajU)PZ)OareWD-M%;%WHnu|7BgoDUCCjKwTCoQHG^|g*5YZ|D%Qx zEO0*lzD~$_3osN)x_@Jm&k@FD*)VAy_d7F;lo!B3tjr_3RCHVKz;F8oUqgl;QRVvS z9p=Yx(FU~w0+OA9>D4M-Ar9GKH}m|eW=doBDN+~tRI3cpLu?)t{@QnA1n9CpC5YES zj7%!QGOa@;_31W>hNQg{ONXFo5L4vxc)2YP8qa2nD>bIYg4f5n4|+69vQ8ZRoc+wZ zIs5?b@9Lm)nMLv)MbmC_l?nI@SLc7qvWxCNzUqPhPIF}SQ4CNi_kY@}oDMDpJR){= zVTeskf5QCwJig-k#bgHG`Fp5*s!`Q)!j>={pTu;AYP4wY z_ykr1NX0Mz(xi+(fIXY@(ALjlU^Rj+Zr;aALl0{46$7<v5LUgf#Ne9}1(O~P)|a#_}CV$^OP?jcm& z&Y$r(`Goe&d9)_jh6KMGigoV(ZoSiChtMhz{!(BAC(=07-%$~M<0ii3H&CL|ZhCiU z<)DHQP1T779NvkWU1pN^5igkfGq{}~CB*KB)nBmi>T<`Vq6C?OQffZ_IyVo2hz8HA z;{`^>3-r2#d&}Jhj5LzLmo1u5UdzH2M}j&#G%CP}LR2##+6n6QvXTj zB^rMW64%gye|1kSTOHAOtL?^(CQ+H7*>}H zJ;)9WZ_Plx#-yEMPpGfmLYrU1mE>Ayguk;tF}ivYkbfF~`g`d>Xm|Vi-G~(+YR~b~ zoShHKW+~1R8q{Kx;xl=5W+2AoQiD z6b8={y4fH`IU^Q|H}71zBCkaxkBtRU%&buUc(xDsjODqJK*euBt9(^#uPnOE${cQz z?@o;yc71ucOT98^o~!$?ShgRLrY3Q-YPPz>i+`K;xivV*$xw{3xJB*Xqsw~Zt47f* z*YW1ZQaOT`yZ4W1am!^ny z#9YSU7Zo1aW_0XJJ0=szls&-ef(pbkHI@L|+1I0ZICC3ncDH_%8T*n0E7RAN0VsGY z8Xht5U105<8uxtqSF$|}KiG^X=Jj%Mz8fSGk62CRA*=)H z+B+y$GF!kEFc#!B?pUD1Q9l??5pnl7OqGF_s4ZiSXDZ>(?+#O^ij)M>4P(8ElWj1T!7FVb_5B z-c|mA;j;rpJlR3v_!-6+G@hH|M>79EItbjy6cUeh$RD3!IT8V78jwPE**AUC;N$jD z#e172;eP^a*_2D~UqNx5w_EtP>vL5I@MLj|U=;wA>69Nf-y`@>9t;n4DS?-4Fnsgo z0t~MUTl=_Jtx8-;_`7veY|?gflx~zQX!Qj8q}Gp#^KeNQ2M_AiCYNx%!Wj7A83=6B{?)Xgfy?aJNOzxGt zDSO_?Snr~&d#=gMyyc>60$pqv)gPKres2K$$%hqj>CuJ8%{CKC@X|E3+?TGwDQsR# zhDay8$e%O4o}(G1;UBt`7A1U*o!HmP$=&w5A*!=a)r$|MUyk^nnr1Fc8ynn^8np^1m}$kVl-3@A=Si9`%ea_UHf) zqE{|B@h`ntmE(gf7Dcv!J(97M33cw^6t`Xz{2TPta3hps4_q7FyO1BbcJIvG|2=oO z*ka^^=7-3}tjTEy+c(tsgB;4=vzCE=j&x0L+vRkgk|IWG+w_v|dq~BQvD?^0bXZQ^ zc^4Ezp)-FM1hM@5i*_!hMhy9;<2rz~5c7PoB^6fXdch;i$)(p1^6X{|nRfyGvJ>vO z;9m_rCq(e*;GXCtzJrS0sI@H@n`lq@>qYS|bIA)Sg%u|Xk@_>#Jt8 z@*oTA=F*_Tb*Kp&TVUQ71RHEql%M@EN{W!nDFM@;5sGhP-~{4PHl_@=p@5$9CITkh zKdk*2&-%$JuEJ`&;DPjOe_K5gGt<5UOMbgb(lnx5KZx^w3~D=h*$8vvgl?^jp-$|g zx~_+lZOxj4`@mCQdFu7I4+r)ZIBdl-xF>W$)vk|tJKLmh($CMkWj-7^z#TikHJUfs zO0OIZWt@TiMy(aZnO-IhOatU2jbY)LZtfF07(DbVu{JmuI_dqIpK*ETf-s9?cp;BZ zu883YC_yWF@rLGMgA0Mb0rA<~buR`k-{4kK!}#J`J64n$398ekAhn|$wr@Ix|I$p%k!ZegO45rc($d`oIs!{?Tc>{qd=mSgZXmF|3fXt08nW{*m&qziz)P83)bR0V*>sh-(VTmo&Q-{W(oie|)_NIa z@w|gJpz`m`kfkDafBZh*^OxMC^v^dfH)$PZfH3cVEE`*e6eCVhnZUgP<78tL&aa@} z1-*F>DP>rvmaScxQL<++`|wYVaZ%yr^4Z0xl~rBwQ6M7tgPxsy8J8ucc0Bv6?CtMj znNzd^a+L~`cMtouE|D}A_Iq42ca83Iu%qBCVx13NI{TOv8*`C0i9wp3nu(rr3z+F5kaEpN9&c9BrefxUZ4+sae9dsN= zt^KLk9y_uNx*HNmYaAe#I?W#xRWw_bhx+A4BZ|UQ64+*w&I|*&6GvNT1vkZ#`p()+mjvQjQdZU{=`W zHByw-6mUm^QhC8&$pnq>*rPS5>S6$P^T26#BBTo$De&`q_2x?S2IQl~gh+xO#rM@Q z_${HX;4NCcy~)*KeG4at(2srQcj z!6531+<-Pnu@$U7#>+ONL0M+vfO(K6{$RnLr7OcS_a)2*Uq)*FYz0QTk}dv2mxCfe zSnYfftF43VDQ+wDG?A7_(GH*^;xV6)Hxx9rDcbn`TD4t@-})G8?VZf#t0TjbHm_=> z_pl-G#3m^avYqf;csBf{X&dCIzB%EvIu^KQzz$OXav;7N=zS#Kd z`?GPNutfPO+V1fSd6|i0Y+*y4=Y;DjT-d)iE^t!?aocfbJtm$uIkr zhu5vZ0Glh=pgCo(5rPZca?y^y`bjgFfz56 z>o+sz@MN=lz1SfqHIlRi;kP|2$ag(WPPCO|BHU(qq+z4d2b8WW(URjw`u*88A97b< zpDPiIA)aSoStw`owG2+plc=554rvnk{13!inpo~h%%L0Ph7N8j%z4ifo{Ea^W65zo zN(tmvFf|goB|wH|NHpKWh~KqJsi&29b^=mhX{uG8ZI21ghj%QSQ&T`kx6njB42bQEZWLuJ%G$&-R$@zDfH|P2m zT*E{83s{*4NpLP3Nt}ZiqA3mDWkt^`Ba5jkS|d%$tTVOMzld;o*~>3b)z_KM)gqHP z(ws|{U)%APfd<>~`(gc7&oQ;D$&|trD8WoHFL0_&KiO9ufnU^Ff`VApJ4<9E?n20$ zLuWoE07h5n%?{>U3k<|_FTqx4XJPaC4#ciImZHmYn}W5%U}4<;g>dl!@rtx)`owtUyqDmx}H}3pI*A` zfxiuge*ycKm)@Lr`^H`VPyb$CT0i_h=l@Sf|Cck+2qRuJ`>*J%Q~xJe_2FN4!~Zr~ zI~d{pfAJ3f^Uzgo-1XYS|3Iv^|DOQB|9G!XZ_fX8@c*BK_@ZyBT+810ikimobpT!( z45QdzVRzO1cufN^)3-~Qb7!ypzcQ4lnE2m${hy5fKLNrDVJj`X#R+~ZMzFNZ6i zh)NLf+PVY8a80Nttb5S#5yatMZ(@OB0rDYqVrT$mIC3`6L1U~DxRPfaNS zg)G<9zL16;L;|pz4~F@7>=QO`t!q|~P1W^WmH>Q7{C}4UN(%Z(Xn8pds$0ypE!E;) z;LVT_6R~Bluv2=9#8309v=l@UCiMoCEDl|X=1+(dC`XknUdE-`KLchWTJPNa3(kL5 zKLhVkL_Y}`r;o-bN)CJ=+Cgn9QM~d@;}3waIv7!}cF%k0fM+suLJ)TUzFWxd>}TSG z{?oxd&5*=Hz@jkX8O!QQ{bcOmYU<{w|Gu#I!=iB3EjE8;i}$G$ZuF=gNoSYtH<1DS z?c#mv0*(mc;H;cKS(SaMZfJG#vK}-1MSj3maB99ZzcmB&PX*hY4hS=rY*O9x8+p^- zkICp+m6hL3`Yq@$DUG6%dV0z)iz>_&l|@cjB;PQ<>*~z!T9PXM7Q_Ecnt{weS+sq3 zT@e+Ua~hKGl_nb-qkczmxjsO^=V2rS)%lp(sCxv(`fl!2lKeaWY>YUcC2B!;Z=BBI$eht{(D7R-JjfG4hU+9$|M= zl{dWFU&f+8pa$=A@r}&Kj!<<>qi1HDX&?dp&J<{p?%YSeFB61rmeEZ(Fw zc)(g60_s)bg$6)0|B-8%h#lhZF)FgAR+m! znw6M2sg?QqNSk{L++xJf(2UHlw{v+FzMM1KR|6`teAWUpZp}3)^wy4H3w{;(v3m}s z_HDl?ZAoCd!PRWx|AM+GZEaBPD#S_jw1YoyW_epZ`51jz{d)+8=`z;i=;5i`kw<%d z#VaDwsW#~@o#oTf4>+R0&D^j?1AKg&ci%d!NjYYT2BoakzGuDS_3M`6k&OFFNBZf8 z*uYwGE%1fT8RlQt=V(B`RWA(nT;YyO_6`cr4lG)u zArRr7@E(vRqHLBiW|8uZ0Ew;gQUjDjYjO1x!6{*HI;H-FK`{_5LsrwaWwRRHO=#dl`U?vC>v`5v1ZIPN~q$?Ki=%x zLD*q&yoq~U>YO4g%-`t`Ycf41U!j#~Z9PHGpT_O&a)?rR2T4bV^Wz{3(it^63Q!Ka zeRzNMi&x^`9w(RHN26&3&5yoGaC)k|_!43{pM^O$$x+>_kpxkvZvn!uyWieIy$R9v zTo__S)xASs_MDjvISu5=wckqR@ex1n&?mXnPH0fPw;~ITFOwusU>=8Kho^=wi|2g9 zd{=kJsZ6X%+)(@`R#7(5A}HQEO*zrMM~TkOtrW~&Smnj!;8z_ccj(HeA@OoKqz7;y z^~mT21}Ytb-~ZF@O9kxbQ|;$HM;h%$8jl`qRoOcqPAdi~q#H_!XE#=Jo*tf_SC{M9 z7Y9yAUbOTZEnm9cKit@jyb|92yJ<(gyzrAdw%4w{Jp4x_>h@JOYV|4VWi{vc_T|P- zU~#ndKN3>^)&5_<@r`CErsP^kb0p+-1@@7(o8M4R}?mYS_h%-`y4SkpobN!IGuvU*MUI{4H*L5ZnZ zjtv+JLQS^U3@75 zV2wD^l{B@POLI>2{HcJE#X+N#*L%J$nH1*)Uvk*Mh*5Qo-B*9(dBhC?wc>|MFa4+4 z?E+O^7BpPL$DPzwqXsb&@1J3Q7F{m;A)SUUjwTko=*4&><~{gyXukBvf7%*T=WZIQ zhiz@0$kN*xh-pzc`bchp?M|Mbt8GoFxk3bp2qnX|Gu@CiZs#Jnt@VE356TfBX)DewulD z;S_okj(RVjwe_BY?+mbAds)beA=u6T{Al?xIpoC~kX&X)9H*Z&RHz-XSE=gNqo}T^G7+os;PddYqa&iuS;LGD~zL$ja>+gib>wYBO==O zlH1)owW{ni)&F2QX8yH*x2DxQj0(q!agXZ!ZD4b zkcx@ZNvlQ>OGJv(h}FGbK?O>n(4Yj8;-WIVL8> zbwl^go}0fWuW)g7sKt#($FrZ-(X_haTQI4Trf_J^S2@J}EFrM=m7ycgycah%bn4~y zhtrJqFm$Z}e!dt?N`D$urfj8Sao%fq3a!7ZL#{X(D>Aw6f9rb!qYm(e%e>V2MuKpb+Tai~p9qY=hd?4FN7?%{4Q`Wl z*pm4c7t-(Qiv3jYO-u;C>LIkqD zdwgk_m=qh8ab*S*Wv1)EvDydiM0I*=r4Zda7QM-u7yM$s;*VmN?F`f^Av*?Y zxuY3JTb=nhu$7Yb?t^8($jhN+D1qS|V2dvhBpw$h@vSLbhx}+9?uR|7#x%%ekHK1I zwfl#_^l%XyhNVQf6RSfJt{Ft%^+963n3_U6;=pK%42lG`TX}3zk#a}-VFyMKTHGrZ z4tcOELTl-qL`n^fd>y-f0H~K0^ve}>IfROL_Y>&z?3rNxunNobx1#m$lEGYaWwYzH z)oXF_>V9*nfun7|p*bAe2w=TeL}>_;wc z>%BYO&Eu}JlBX!Q;NrAY^{(ZgF~P7uzqlTA6RMQvb zlg8cWGx8xgCv!cJjG_)aPnGM(*)|qYpy-SkWwPTa6_TUcx{bUT3-4#;`ptXeWBsRN zo|h%;w^Mh+nIf`UKug;}%)P||l+t*++%PWb4C|MN1!!33S)+QfE*%E?EJie!0u);up%P>@FjG3iLEUKXz7 zP4#+WJ9ve^o$_Hl=Q6Ugs+Mx*G}8*=mvqj+PackXJh_W9d2oecN(0|h7xJs*km6OSFWKgRD&21bs zH#P-w0=q;`{j^79Z!NJKdw?VL&Be#Ed;~to50k=Lid~y&(a9=dY^j9R{K$wDNNl;e z(zo3OYZ`{%gwRV~HIyCkiwXKmnatZX_P${{%cFpOkrk|ux~48}CTt)7T2m8@1N_*V zRP8VTZrr0H%hcF`7%J@f;Ba*&+Emz@J$N7pwBZ$HCPGTeYWoF9))fahYx6c2+MOl_*Zhc7*Cy^W18~2(g%Ziw08LYl=FrW z5Yt$=h?32o9RChWOjp*?N9VNahN>GzRkOK9RtRb}n)4y%>x zn9I`a815wEfaQGZx}+iTAGD7wS~0K&3yh?Z>}FY6Btzf0KmE#0DiY^q^HoI7tUXU2 z_WhVzouO)cJEHzsTdI1eZ!@CvDxGdPffFpxUg*|w3nDmgTZ25FE_~7GmADAt5*!Q;4SU8zP_E3&@L>pwLTDd{`9GyjAoViQ}aARGnb^(Z1fsx zKC*_X`$UL^hF*rPT|QE>8;lA1LKYDq30IKIKlC|+A;1YTCVe#SmE~5FdOwM*(-V^5 zgILlQn)s<6dwjLGE^y(x2w*1+4pLB8y|>!I=%RC#3m1UxEK$OJ;wP_Q#N0p#Qc<5` z%^|rX*KgA@vv*IC4P7QjIQ{O2T{mTmN^{N!Nl1X^g!+AqIj$Ej#7~hbNS|ki(`Zt; zST#a)8T^$L+f}2vEFmB0C5t_dRcMA$9LFREPK=se;!mA|Kwm|o2i;IWSA6R$&dGFLcB{fpcMSSEaER6z+7g-pT*b@VR#Q+$ zh0ptPhx$+1Wp-*X1Q{C)dUU4dUz0Skc;!8@`JiYLi`$ACST`Bw0AuU~(G9bp$NG-Rmb?d|^pjX-k0KXf3oFe81~z_sr62=5FNC1w~H z09&|F+UxP3GFF+v^M8@sjLKg&PK3Q4%R)l|*&-rW4>?0%&5W?)Mi(TOwoualX=XU6 z%t$@m09Wkwh>`kFO|KALm!?l^2ChqGRN3K?nT-p@%N9z+v&-r&F21`^G2a1m@CGum z*CUz6Va`&t@uLzpqubBMN$XyZr41;xGlCwB7KD_xP*R8ruz${N92;T%ar4xIin4{$ z;?W8BY+UyA1P^-$B8~IO6WmYE7T^5{E@x=^e42+LL7%?#h60p>*`Nx~{$Y;##74ai zXfOv=asC+MiMB@HJra#)vOx8=BCR3}VcX>9tRD(Wqa{6_yK>gLNka@*>$F?mEpYj_ zd}b4`g_ifP3V-~Po0XU;dp&LokLNbmM{pB*alZ}|hm&tP1DfW0J$eRapQ(O5cX|vO za`YMh_H$Fa)wnd%xyf57`H+#XNb=Q(|1Q8=myh0LYM$SFn`d9%x_q4P_;|&?3($pX zUiOUpzLw1fL1RkJ0YGtdh{)1*(BXv1poIs-Qlq*`?0?hH*~9zV*O8W9fH7?+DcBql%!mw~bQNidsb z!VO2qLNkNsX6Zxj*u8>hcybx1q&kh&m$oNrf&(4CBF)==oyNLZ0n6FkI!F_&z>8@T zLB)}rXn$WyGRdrsv80Thr$DLedgDY0P5?L48F!mHV9P058r2~*h8EXUr@+*K*h;6s zsMGQGlR?0}ArDV7g(8J$;1UIR+U#s?2I4x#YifkFu;dkHM-9Rt@2aAuz^gcTK|zfoo{qr{ z-YGC-0gk&0$DAZ0i6&^NxP_($XsNh`rUpQg46X&*_>7b*Lv&z;Q-JVx_D87$QlcR? z7k@pRF&E;hKD)I8g6w!?MZa9^Y5M)u)57uq;9@wB9`}b98#0h44+fH0CiLK0_&f?Y z>@yb&U5-P~hV&j8I8Tau6DLQ@&J?XDEo_o+%nX6@yb>_kU?k zO;E!fZh)6vk*4j(BgtI&})4L2X{XD{lt?wen$CkSAH%mx60jFOBlSTvfQ6o=+b z%AIyyoSUC$BtVWj#caCLxj)tKfgXFeiSbYO2wWqU=g^wa_Sk;7Ox zIvD^X$yS{XVN?_~c5b2Jvy++&vxezVw={#!8D(A_={76Yx;1vv$idi#ZNwfSxgcK~ z0Mo)6{Fy`NjB-pJ=~gS&x;cKGQH}|dZndgfH^(n1SO6LB6dN`2Gs(yc7k|3lE|YBD zp}mo{a9TC3Slw^f@QivU$W@S{erP#gnfMLLS&T{YGYTYs#K}GfTohfYvnr{%3qPsb z?Hnt7+a#S4Y1{2~=@@mNJ|4(o?K$;!&h}ZBw`)pP%< zj7%>-uY7WJS6O|PHgj&yNq$4=6f=rDcZ{gbraY0Qwrt#hm=5?y zV-D^Z6VVUGgE67=Z8-bN&-p3(Zcn>$H*4;wP+6ntXfrOy-~5|1T7Qg~Ew2VoOOc{R zPtS^T0kgq)c{XhJ7oC^)X%OQ+oyNDg-mll|M74mIc5>QJEH;}-WvrPs4gp{AOI=;> zi;T@&`c0AZvkq@(?sI3ZU=#sS>g-JBeASx}=d0da=5k*ZQkfg&2@wk5v58tFGdJh= zt;5@@5EYGjxu~36G=DD}1)pq&6L;Li;R`AuhyH{fU&Xru=)`b8HOxqs%iP}Qt}=qbb<@lEX)WsE;seBamN2a1-g%edhWM8Qek& zKgi`?g6M(#Ie(p^$K}z_&3A(zUB{lyM(EoPc@9iZE3`8+&kP;y8+Y6=%5Xv=?I1pU ztN76w#F2YJ>}WTL19eq=$Ehac#2w9o_T<#0UX;3w7XvJECmol&iBsp%0JP=|T4bzj zKp8CMrlzeqE0n__Fhy`k_zES-yatug;zfvQfTN>J(0^)o6BO;CI5aeEL)9F*_E0w6 zw%vTkziGG)xAnNVm(yq7L(6nucq||vB#4j>+PbY`?!m(c4Pu9I5kEqc*d|Q)iASMR z>=Y}U#kXkTVvmhE8QGVW!Pr=j@iO#`UBk0)Lu<7)&K&J=;LvG1EvtD9te;Nbs?=M3 z!^BWP(0>wK>RMVa-fE7al$Few)|Q}bx=lcvySa@WpMBGC1K{@dz}DlS;-2KRfgZcS z4|f9c1g_CX@Z<>!Y^VrOzo5nf4O*Wef&~nWENm?&4IvAH6M()1E63togh5|HHAOiE z2-^n~9=Kq0^3>#M!BewM4kF96KV%8K2e0qiVqMn? znuCLXfi>L|L}Vwp3oPB@fM&7v2v#6aG36<$0*kw-KQP&%6XpV)iyUwyGH0VIt4ke48$H9Qe})b@e2@<@tZ7j`~a?g zm_K$H2IcHO?G1~V8D{-v2DXjxc)P=pKz~<9ea5m(zd+70Z=j4}*tAsO3UNcaY><&4UV z-9nb(atU?0WOogEh_zAm4pu3n*@E?v?zkf)t z=_N{^5!KTUkk3^XG@|Y>90$&P7~c>BcZUIO1G6}zq#<2MCalSv8UQF{;Ft56=fg?4 zW3DmHjgCeq+-3nlW7h~BX&-+>nQRY(5FmNKx8fj(HJOEo&&04$S#^hD=%r-Lh<8$+ z1q)Vp7+RibwrWE#Vuzs#*!A~4+kdDdbmq~9sAZv@b%(*M8Bk`b=zM|OLczlhL$)04 zCtYpEOuY>YD0di!vN6(_5#P*cc`9EB&%=a*;T>}8UZBLRf?>3orBxdVaCaC;ZQ!kE zlspnIB){#1f~On2^2`z#)rArjCKPb#g!>vZLkl^YL1EbBj1=|p^ zuE|W>fG^CvI+zv$-cCoReuhK+OvB^6(B*cAA<)m@y>_GL(sX3|!y|tGsttExW|$|M zg;2IT3;;C4q&Z{zXWV>wer!xx}x-OJo+F|HVlko&!m(nZQF~q64fLL{hq5d;WR%~>$?l2V149W>N zdTw_Z`fU(8-J~<9&VSgYZ+Mt6#a@?5{Fvb5HJQ;~nFU2oGO6s($C}I?*1TZjS+=(w zF)L0nzq3{M5SwIm*=C1<{Mwv?oWD#8*M-erV@E z6a9?N%=SVK$R<1gC2xERvm*+lywC%3lb!#nM*Kr4J3I)w0Uev6o&VmQDPOe_7{+&z z4m~E*$?mDUJbxxsJ99W|BUl*OMLJ9#ic)WMS7sUJnW6D!i?GnY@r-@?;;&i-jY%q%_=jU9Fv6?gtd!wYu=I)*|OY7aWi_GQA)UB9txp7`!ZK&o*r&l$ODr-`}oGZ<@OMdC1z+>xFh7ov`_=G zg+2RPDjx6KOk-*`Qr@95SO5dP3SY8koN#Hy4HexCm$i48YGw-^K=z(}xn_E>L&px0 zXO5}ez<&A?;?b|4$_p{r(8I^+vMz|5X~#ZnwFssS|^$TAxINY89IBp15C zCbVZCXY@>Gqhg^Cl`FtTZ#+%oD>GUoGYc~)3q4?wN2`R?Dz=Pnl;lw}0}~j9P=R-D zq#ioaDZwacFdI0o&+x37X?O%;Ap+4-gZ)6t5r1R7#y#i?sh<(q`9>IkweDVGIn_LH zBW$1&XLcEASl9r^>xj+#!#{#QM>`gBZUW^8_4#H-$ELGTAA|%hY!u13kPb4$`g{3H z2tAQM!ywHD;Rvxf(|9fyn!%05Ok=Gq)PfOfGnpK@&<9;CW@6duLL=O<%!K8Sh4!$t z{(s(l-ip9we?~jgjU(__e-90^S({xESSK5#?HL(O6D_2{!ivxVGRyNeQ3OKa;(Dgq z8J(NXLJp`{5jr1t1m1t4Kb8(V?sAR`VxfexDlCsSOhUwp&;{xsl9-x7yct5QUH}5# z$FzIa*lllhbH-AWVS$A$R)i)KD_`axZ+`~O8Rug&Z5$H|PYAXmbakD{5qmPTyW&P& zSXvP}FrCS9${SBBGf#%Q7BYcpMQCnyCP(yJO1qf()j(O80&goqQ`RLNamX_&H>6_W z6@*yKa7MB$phL?Qp^0MWKU||3Y(8=ZXmzGi^Rd7V8N!OtR&M+=Gnuh%=>|PkR)1E6 zhTTA!npts3Wg!okR)pqOCs@R91FM;l^JH3>1aB)sholoMZih2KD>Idtj|Fzfup+e0 zy2oRIFterH8|I*3Md%D^LYW+r`-Y*`nlazJVOX9q`$P*~u#V9TSS>FA;k!Wt8+bn~ zSi%gk3EoCQ8tBeUf2xfHA!2660Do;P)CL>7nMmMUC|2dCxQ-ltj*)g+&qFQznI}%o9SQ_YGD=vt_a;n+qB`$kc=&k zc}cEvhdYOTAt0Eo2wi+AWwZnosuyjt%y3De8FOhi2qHt+;m!+~e}79on0Yg{VHiLR zW*Uj3g+|b}!(B$K5XU_%#6dsN&p`=plKBJF8eB zZe6et$0BD0^)ME&lkHBtzB6`P2!ZZ!2lPfO4H0`^EKst>G-JtAblX&~I(N8>6k`}V z4z3;e22*loaRa)L2Y>f>xU-A>;Fb(d!BjIK$}@Go#VIXrOhSa5n{2%7b72!4!wz?- zfd-FC0z^=tO%_dlP;l! z5}o;TFBr!s7g4DzOb5!!*`UR?#MD#I5g3Wc1V$gWYbCV-d&gkKZ}U2VxNyUu#!{XA zVnyhHn=XXR(wSe|f)U_KJ1=m6iV2+-tKXF!U#5lPe1(;(h6f*}>tp2r&3Nv$aT}*G zD?+<(b+xjYF@N|(EpWh!J~TAfookR2p5b0~V>&Lb2<)XSidIcNctsiEuYQgl)u$?G>R%ierrF4a(@5en$Gj zEL4SG>eQv+bc7de054~habOEgz+pw`z~Xd-(nh;_rhlczW}yzTtq9!^ClUnT_z!1> zYqo$>E<}>*X%TW1>(1~n3NASEBq`sm; z9CQP}nUT_z#lj32E-ONZ+Nkc%$bUXBRDyX$=+NsDecLx)6*IpXs0(x8eMM->yF?$H z4UF!L#D6Dwp%;8sgbwd6(YLVisF-*JA-10C4-o(M!>ou%bZ5U z4|1C2;I9ZROayJ<&di6o(e(@|%|ZrXWjjCOd>H?DO1nAIShN|rI|mCfAR*G9S~o z&+^r2$Bj9$mzd1#d4!v=B6K&#T;ypKdkt?ib0rBY^q_dG_N^76!xqnCPB#&ZFeeEl zOMklHhe+LYV)HjUlll}ez%~MpRr%0axyh%e?nEvZGcO!eEldEQKCerd^SmU7d8Wc) zH5DzifQi-2!dG25LOYh3Sl6;}4P~s&j3~sy3hG#yS#qg`Gib#!6U#amu27Ek%$P@5 z*h8Hu(;FpsFN8zHyCQU}!hnM=+bWl*A%AXq1oq90hT5nN^A({(=Zy;42heYndyd(FcgROlGo&5)lh)WJ5|xVpMaB1QNV3{E#lHdDB~AOQ?f zGp@u2VQWHCm=#)#0o@GI+d?J0G4E=d0gT13fb$lpPPLgEoeMAEIXDC54Y!3H8-F#w zURy8tjoDN_BNd}yt<Pal?5^_01*u;h_=?8VTJup+y6W+|pcI>ucv_cNSte3_SU%$aoM)MaF z)(O&i$k_(`*RU6~#JIi|r_X!1uz$WZugvLg`^HVr6K1syV8l8>%ICa?$nCA9M&D-a z#GmUvkef@JM>t3zUypaYoNb5fb6KcvLv23m1W}9;{RHc?C6~7@@mX)O{yD<%TNi?~ zL7*^bPv;}R)`gVUPM;yW(G(FsEx@T*#h<7aje+@{54T3k%Tt`Y8a)UaDw1%it6Oh@LmmH3HlZ99R znY7Cd9an~!x0EbPWW(1?Q|cV@$}cPj+De>3j`|Bf(9V8{q=N(zKe|JUj15%8pw3O)?S4T!Q-A&2jW}sQXSNeY zRb#8|pw2ZfFVmAXrkYrZVwD*a@iXp_PtUj5{{if&ol(ThM702Cb+bTjhW0a9JLzr# zf$C=AvSxxGwUOkoSr|hP{rvzQ^}vTwwLbIkaKl2-)$KknGYtrD^c6EEe#-20(u&_; zydh;F5#@G&f$S${Z-3@F;6}8xgBz|N`a*v@wex8^Q^4N_V(*Ly@peJ3^UNRaFZfX1 zEW{hAq?rc{)I#{}jES&~cGa2Aj>?7Z?Pj6(2GVTi&4acOcy+VD+@Oxnw0XoAy02~) z;>@^?&$M~e7y4@B&w}kn>g|k)ZOn+)&FFKkyAV;06MnFHqklVhvkhc^FBJGTE~{pga^wq1Qa1}rGb460qrr4)A7SU7s7# z@V&lW$;qANgcemT%x0sVRyE95NQ?v(Ze|vRmAKtS%$?dU0FK6frBLxyscl|$_~i4p z#_l4n*?$Bjex8(P0nf>#<1v|@q<~Jw`R`;<3AI4<^bR} zuzyX4h8$LcIeDPYa4wLzdwsUaBp*g)#dlzd4z>6ED%Q$fmMD`x?D8CJ9p~|3_CCQz z1I}KxEuRZK?wPtew~#KK+Q)HB?P#j_-iy95Pn}M^wkn=Q*BXt5&`jD{b6wWPLY~IK zRu2l63OR4w(?AX|OGFC=W|!ZQ~fiURdz z&~MD>2Y);+e5_=K9@%@?EjH}vw)!&dnWp|%iKC?t^8MJ$IgVyV-Z8=(D!qAjx2T$i z>FWdngXV5wc5oSK`ETAq!xn}x7;bpr_6s)qYZ{IE2OAbLZBBRFJZhG&;VevNn165e z$dd;KlaT2w_O^>lv!;ehl6pNAcO3<(^6fwFS($XUZJw)H6qWW!GM`@CBYgt{)=(_C zS96lZ?KB5&`6TeYxpqlmQSBi~=F%tq8z_>Q<5=iImX0FLNm1gzG>I91gSplQR%D|$ zCX4wADhwYlc82;F3z4vB&M+4nr+-qnozF-Htbq}LSVYp?3#I=CN|LE`omngtgBQAF zhp`!UsOP)9e!|8}-TM*-D|T(z+0^ofF5@=B4^NH{=PEZ16eh8gW~;PRi9y*?{zp!5c0Maf(gn)L&7|Jums&F|7mm7?*?wLk*C(QSu$Q~o04WZwXF$sSo-ZuLixeI z{oDS8m|0kY9qxc$47)S+p^2E|#5TJK=I8H`a7f2&y~~5Iq9>raGF2m&A#53+^m};p zqwkL2Y{pGM>@iz|QSMCk+ke)K;2c-apQ7x`lVxzSADOIW%NCgUzcS_b9hlWq=k?&B zqt{}Am;p3u1np*L6zJ#`4xDvKPjW`DVHua^snZxZRIrG1;0yg@{cc(A$ASjUkJYp; zQVcbjH$^l~DP z@f`9QnU?S7@qaM!y)QzZ4d;m68%luUe*;r?IPc|ov-G57l?h;wnd6=&i`KuD;2Rw# zW`qmpAIYMXfuP5G)4#rE&9c>%(VK#|$+J&fOFT>@z1t-bt%KrByfcXSW)8N1&UP!8 zZIo}$n5@M80(R(Det+GK`^Aic4Q3(vb}KKlao(PhW&0*rh#uX_?YC#J${6YG8JSLl zg&uQ+6Nf0ZFa2Ny?fvfnYSx4=QZN`A=fVHg0d^P>c0z3RX))8pxpRdE7tYTH0H2M4 zTTX6f*eul<(}ZNZ-3Vz-wvnbcKMVkQhv4?s9%}L9YV=(;u7BF_T=)b9%_1T#ei}&u z#scI5$O1MsiKZf@{K&_-kqyZx$tRTK|8q1Els>2`7 zVe+*amCZ=C(R@6TY(q&$NPMW)eMUoERjG!Il8!hJUyaBAk0q{$+u^|S&kBYA|4p{f z_o6N=bYB$aRDW`hV=q+dF6Gk@nXQ7m>UP-?UaHJiurNit$j}{@(VxqrJr@4|7=wGv zzHSF&2eV`p?sCie(6(c-Ll8OKfjmWjE}OFI|I6rAPCLx1E{g_%yiL*nhZR9YVPQ-4 z|FAFCA{{HnI0r+cSDm%$aL~+L27x^0Dv79x*r@Dwn12V4IDx|UwbD|WZUM&p!~Vj`al`8)qV_Yg0w{BFZ zR56GDuyNc};}Wm9We$18Ex8qPU*G-P*o^4&|9L}&qVu_7XYp5IA z+#u2Tf1Vxje|&{_AW3Nh8~^L;>uU%0upK+TsfkEa6DrlT1JcCHnM2vjY;Hr7SKN~E ze}ll0AW+_+qyde0=SNeEIs6d>nB64xf;|%wzw6D5# zEzdMN&FMoMF_OTlhAz2!xK6dVESLL^jH^-(>-Nq*pkA}h)cc2s6a(oe%{=BLU=5(m zqd`*#K&)4vGK4m+VKYgoN%6zcli;2hSl?>`RY zJ2K0P_j6~)|Ihd`56|;ujG1$wt6~mC?w)@34+%Ay`G)_w!C9AC-i{8LeSbrp^j&6o zG5|PpLa9^vi8bbR3BnfczQaNptM|zMYe7?Jd^3)P(wL0plu-LP)4Cq_@HKComVOJ6k?R}gHwaG1G<9}=9rW+ z1>(lpxE^lDLjeFYS{38KW^-L(ZvS7_JAYK6ek)~M1#_V4@)m`y{(m3Ghg0UQ5XgEE z1o9Sjh4KH(uKc*mfoT8ns+0%+Uv_2Nc(6@aTYeRD`1k*^C*_eHaD3-s)QO0YcqG+o zJc^ErjBF_nULy+sfAcpVBgn)4W|zaSudlsjdj>Ky4-TEce*)uZ4yC%Vpliq!rYT>9 z4a`L931F-wHmTd;?tkm>+nrM1)Bnq2-s-Z-R;czhovMQ0B2Z5boN$-p-UG4^)N3m9 zAW%;^nXjGAMd^glvJahH%4t_3q>Lc~+mq9-sHfeK-jt1?7?6!2YFGI>)up7gpu22~2H7?4u*?2fn1U=UG-k2*+xlpv z5|G-yYuw>gM&l0Tu&=}H6?*l;-Rhn7lm~w<8w_$F+GAk^q!N((vbGs5cDwAdXnggm ze2vlG{#-V0;(s{-d7A3scs_tgB_JSD2?z+kzO3H1+^Qz0+=up`%ED-eg)+B-g=sG; zOJ=QjDum@$7QX20=dvna<5?DOgE6c2xaB@l2?zzYtPkka0cpzpkcuh-L@EJwm;JeY zHUlDskkm+_8YxtZfK&p4-}X&sNN5qnY74(tGcI#=mVXtb0;(X0j3E%T|KTpj9EQRF zKejw&-8JpKtzE$muID<$skCwD^xWeVn;aoJOODZ>%U*F=22Ah5UG<>=MBLak9fRRrX%Oua}QZKk@*@>KXCT#rpPxqBjg z|53m@YJ)KQY!K+J?tND66W%kC6AHb7Aldue`<%I+OV!ySkfCkCaRC-n&E!*30rRcf zWPkGY(?u5bNx>Co2=q-B=SjU3XQ`v8=r%?S6r2AKI)990*`k0IE#Lq+XstzNS-8F+ zVsqB8a|Vx(6v{(oUvG6&l1T7r(TYqB|KFq)nKF||@Da^gHk>0`ws&IM-iekC=ZHB> zxep|3fP{XKyR?w30m|}45@8Pig<8mcAb-@uh!=bi*;i9vZc0w{EJ{xJYAEy#Oj~S? zX^W}3HMs#rYgPuwoR!HjqS0nqauC>?Y3Slc4IMZ5Ff^or3s^TWqAbypfD03b!mz+I zCE&t@8yHcR)M&KXklh>Ff{7A3!aPkug9cMzxOu^ZiHSZrhrV=qX`xSi+`M37L4W_L zP5=MB39xXsnasRJMgy~sqfQJMYTDq%nB~^R%*{C7x|q2!4VV!|mM&&)OdGry$I(d; zTo1R~0;S%t687Z8^>90L_-_`;Su%@?im(VlbDJ`P@RqYQ!R}1QfGJgXw&!7d@M!n4ckMk!O`UVrao&W!(3^GJM$rf?z zP@;znL4pbf+sT{+_Txz-Y6gzZ*es?3u3i#c54YR0^Vtb!F|H4nlrUYq%wcBmGHdCn zV#`3IY6rkfLpV#>IDBMqZ84}8bIi&N`|(!lO=ezW^ZG(dLEGjcn*L{EdVgHj_%qx= zs`{0*dwQHW#x3Nr(8YQ$K+{BWrgA#F&e z;WPc)+$30ngq;t?91@vF0*R}rM3YF_Fz6UVBO_=40uvViK`1~DlkzaO&JGj+3>#ix zaEgE|CA)W3jyEPJg^DHSBV=*{oVO zPD|}sCbE@qJEM~U0HWogK|O#1j`f#P@9Dsx*zA#-F>jJoXCM2Ht=kgDb=g{rE;P6Q zrZD~Jp>>IDLe`j&d~S%n2`vYEL=leUj*uveN3SMYvZZ8>Rg&>r==u?QYq_IF7Hmar zI4I?>({&_iU%?g}%76b{Ip<3w=^cX@A@B=GhX^(+jL*MLhSf5&J_qQiak4Yn?tJ&V zFh2~rkNRS-cP)J)bKK**CEd>AI+rt`OX&ZYfSyo}_uuF|-Dc1pbhx0`xI9dpx1RCm znrG`=6i53$-WQma)M%09U?%+u=iaq;q5X_q0=I_UHnKT*JAYXpPS~Zrqs6D_`(Y6E zTX=%-o}J{%drkA#oTz5r3*I3q!MMqg*zB(-z1lms2QkuTNhYizl2uIoPV7#K*PR5Lq#iJ;9=f zZ!|vq)GV}ef0*orNkHK0YmZQff*VF6{AEdb>(mTi%8{zho>nVIphb@Uh z9D&|HCH=uCf;(l4dG~gYk!syEto{oFXOH^RE#RUr6n}7V=n6a1JC{z6Xa+`^vVlfH z*}Zxn<(0D6S^2AIi&iSo0fw!K4yTFTu5NPv%jM8IApsKAyU6UGA=2R}iT`0W^dg_e zWp*%H zRqu-0^M8WUMj2Nfj^BD7qVhHQS2=FlMqFd&-LErX?qE_!#SC)&LyXv|W6N}#;JFN% z`p($fzFkijZidH8Y!hqsye{ujp)L`!?df2!9GaWQf^GzN{8<;EuaN$nIh-{53K* zS&`eCbKmob$R_@m?gn4Xlohea8gj+AZlK!gdJb_mYY5?IX8Pv=`wpSS*&*|W>>C{4 zuHE`Z@0>AR&>3*@Z?H&Tm@AfD)}QO1EK*-T)9yKWLmriZ6P19Q+M~lGX4+^{5D|-1 ze195x(4AMQPj^5-_=E;Okz_#B7Mso!!`4D+xq=(d=P79YahW^Vtd4@C(S%&89}F>n z{Pa~=cERcds&O@A{m~eMlba2k^60OD zlf5|7JG@!b8VO$E;wu# zk$i`KK8d5uTB0f!8?vA+BNu^k^MNJkFC%w3qbEC)%iZHU)kbjb(98GNN z9hILzxF~%jI=1$jd3QS)mWfSNT{sXN)X>P<_Bek0SPrRZw@TXn`n&=@Zf`yd3)7>Z z_YeQ|(N6KR_dI4a;~?+E)Dgz!&Mbju`bG)9;@PM6J392a-|@FVznjh8<~iQ>&TjQ?jErK{Y#D50GTqZ^JR|_O; zd)$hUfc;zbOQ($=fw;yCME|8Z&r7!hQ@C*Vhg@VE40rCvqk3zVv~5<|X`IE1F)hdpCY)#^o(GZf_wAz&ij zz1`5z1M&8z@?Oj0UVn34FTXnb{L7w1>-r>ppYhpx8fkPn`Bhnb}L#mdb`Y?y2%F>`uoHM|Lr!=17nUg@c+cx z&X~6lC$}Sa5&l_prd?jTNt`%XyKxnbQQBqLG-CP?{o7=DAb(L#vHwM&ljKVh)Cc@* zJ6fHwU7SZ)=f^dW{{y5p(5`es>;Myb?%vkE84GkBKt9}-HAn z`9RoAbpiZoo_ZKIw`8Wu=ull@d<@4!`u)Ci_CCbSLpAeFG<(CWvcn-qef`|_D&)PO zPxf}kZHH#wLw{FLfJR@e$$@_BTHWQYSJ{ng-goWJBoA@pocAbjh(o zyX_a;B$)GJMcxoFw&Ql+o!AQ3TUT>RJ`<{r4>vKpi+>ssIwvo0Gtm4k)F$_t!@>oP z`!@eaJFz(ula`eh2=5cgR=9AYTb{T6JWuK3E#kKCDtn?>AGn`+XBjp>+qPG?Y*@Zo za%28_RQtlQUz>>Z%gpoQLeU)Gya93@8Tm7kfyb6_yPO@y>}7WqHtD_3J74#^nfY&z zaAG(G+kfi^D}3AVIQt$!tKED5dLnpu`kV^J>Q~zP@To0Cob~(YG0!1Q?u=2zQRu(L zx_jljTF&h)HX9hvynM0UhRsrN7ZVe-^?Bk8UdYoHos8Du^@l44 zH=wiYZmC5#Tcrrcedhj)Y(lyS5seg_)Z9&yDu2H&ZmX|fGmGmtb1aL0e-i#C$FH@< zuQm6bug-T)lm1Z_kER|g_BOj4IJM4Q7EFHc^AwNqQ=L|C#K@2wc2^s$zHO_^F-wPP zxpO?vaEHgt?WQ+N!Cj0@(BAinG3Z<;ckP%+=+TU~>mH!~w^7HjbZYbVRv`W@-kI@H4{qA2Ka<*HE7P)YHxYO=#AkVmc+lsx4c-|{0S-Qoo%M!o@pwPTa z9p1XmlM3{C{LTCnt=;}_tB;3aC=TC1YpfAksm=SXubNUbW*AVplg}RsCys_6R)6z# z54&T@U1d#Z>+^_j=DCx8Ymgt#j3vYEC9Z2;+?MyWKGOtL>Nwm4_B&{>)x6uPIYKido$Wl*;d$L*1tVJXU>QD2!CE#=)C#Pu=uX*CJ5;RfgZ1InlNyob>J?2t78qa~JMX+63)B zPkuptp6QzzyYa9041dmckZ$51e&ZhVZ26Qi7?7ptaAz;G ztFTFLec*X^&)e{C!>|+}RDYK3jZbTKZJRA{zr=!^U^Nn5VrCLwx>^hY~046MBP52H9zr}l>I^Ltzn5Z&zqITb#e9L8=cwPjWa(`;-b`q&Lskxi@ zi9q|j`1S5g&RZTw)ZWri7`Rtt87Z<~OWOW;&$ez#mTwOhglF9G#Qf-5t6%H1*@$am z-NNly);UU_^xpTKWA}l~U=z0w*guH0+$+@l%VOhwWB0u;x~;n3m`Hi&1Y_2-pX=?( zuFUloW{0v}1)ucR2Y;Tk`!g(mYv_c_ALQOJZ^3bu_uW*2&~643dM+~nqW1ErX=H~o z6O{LX_6(jp*k4#VaJZ#HVOQxR{?J?h_*jZffHW3tk=*#>^|YlHYX#T5OCDZ+S7nV) z#}nw@JYoreR||j^v2oeHa2Y9{ENzLF(+oiumqi?-Zvgp z4kAuFR7eZmndY-d9FBZ{bDQtarm@`3zMDK5dogFgw<^A6IlZlD++yW#+==@|a5pEi zdH=iC>dxo2iGP3eq8pfPT9zJ!(><27dt(fXen@wc|MZzD8gY7cZq283h^GzKRi(X6 z`LN^p{*}M)P5E>l?w9)Dfr&J! z&Pl8#J|>GEIhLjr-RNFoqHd31yWM`o(IJK9sW}cH)_<+Dp3JxH4#9josYO7DKXt*d z3f!raJnu}+<~S6&LUiYb#0)#I=o~4?C5<@dQp-VEp~l5s<^EC58z2*hwL&pM?w$8c zOo`jx*o*lM$*@?}B|X8GD;L;zeKX>8Jz{RiI(XN|vg}GzVKPlS?ExA$qn&deBLOdn z^=}GI!GC5vzS0K=LWZ4Ob zijnJ6yT`97kn?Nkj?}gjrR#~jL+Pgb4Hym4W*2HSnbB@8@vqsbC`~9?6QgmK;k6Us zo9tbf`5DoW+eO~0NpovPc4%pL?%WfQ*X-@?`X>l7qH0aJ+aH}IW_8=`@;~|LgKt$8 z;(vNosGNH`^NsL;a1yU;ig;RN^oDBg#Hgs9bKQ|LZRGX{WLKSlQe-VYT#*M{a~uA4np0O!{J%dBh&_qT!@**M>mD2hjJaY{vC zR&Bk^kK22lVxDsa7jYx|)x;=+pM|%a5q~J?U%xeASFCN3%W_Nytz9i1pY~a8t4q*b z`l6|zlkG?QBVG|8{3g`x%{8Jn>n!SP+>uu<-(gVXz)&(*6m5sc_t3YHcS&ZHv|9O< zy{CP&_brdcTz)q5Zor4I0}q-7(X;e^z0&`-7cLLmi=g|RuXtm_mJ|5IAlFk3<$vs1 z;|FxLkYDG(|0@DGv$ns=-J&f7#cEH`G&n^)-cow3=4#>xH@?k+|J4K4OmuVS;t~6H z7(CkzqhE@7e$QlmCx%)!3y^-%0R$1$7p@Q`huRw9(6M|xynVuG0UnJ|ZtW5L5GDP& zjz#p!KaYPXwJ-gk%zFg@OnCsBTYsDsL{O$q2h*#zLfP(mK=7=Aj_B)V=FF_|fqRb< z6fH?bLIiyxrQK-D6e|Hd0X+dob@`Lj zq>;)0OuT6u=t{c)|Meq|ln3np$EOAc@Ipm()N;Tt^b%^l@7Ws~nUp&{oquglHGtf) z7l&={MFixIy*RjN>z2+3#*4*bFiwk7Fiwk-ZqL_O|5w0&4Gr#mx_zv5@X#PP>HqsM z`i~>%_8;RP%C&wiJ7d4tFd+Xw|Np=cy8Z`Qh5A8Op?=P{l5*$MS7JXD1pmLq|4#|M zgj)DmcVkbsdLtu+)Nx0^>VJ()1*DEU0=ms=QQe-{1?EC8q1M@To7L)Kv6zR$$p0@u zaj@A$qczrD!o2C$s@X)Ni^byqfB1hNivE8CE#NT@f@q@A?f?Ik9Fm)V-9FKY@jpJ& zCE@)4uU{$a&zCSYCAB^nn2-e4<8*ykcQZ%1Q@Ew=d`q&WASBiY6>uv+Ji;u6I4n~kN0{&IOJS`-h92w zbN!ny@vsOGMr)e8xry*V2izMsyaO1Y^9{T!Y^upJ;uY>Cxv7-jUDn#FxMZyj6NkXU zcMx&;N}?(&zLtAbaX5>z(Yk*kxIr7GjoJD2^6G0q{171;6fLEk0Nn74OE2=vXM{%R z=BLB=5*vdXS@6Kua0nSxs6c$*=DACdp{O9r=+kP)n7ZvRtHz((F0zUasUhX3B$z$^ zK4cdd2bvmvuCjS7tM}Tw;NzOIJ#s~uV(SFXN-Y1598DSDcRGgBW`br+8Sj*TW#M)f zJZ&;Kx)uq9xfko02J&p1kue~@z&dS6TeZxl94a?Qr*NyN~O}nbKa|-uyF9L;bebL{im zm3?%OW>h{Zyr#G*>A>LmdNS0|Oco#OGpi2qHK(dNJv>hHj$=bKIL(}z;mL5AQAJr& zu=An%SKD}jt8Ol=e2(LPYnU|=q)J@*^S4*^g?Slkdsw|Cj4f$|Y5(G@=p1pCUb^(W z?5cF!y*FS z&s~oF1RW~FAA#fD-C5~k5N9YO;P(Peq{CfJ4*U26O#f|+k3bI#98U8+_cb1JUQG%IHJC`l%(U#^ znA&JsqFn-7iBHznjS6U2Vp5a;)I5ZXSD(CGYEPj@8+zd6A9h|*Q;eY+9OD6|jt+N> ze{jRwfNl%YBbWD_?M=zghG?%TX`db`-YGi;bK$u=i7D!k=i{gx9CEi>%c{wB`HZw@ zHvR6d2EE{Tk2070G1PJcb6hK)7E`;atC?SDb%2~cai=-TIiofLXTP1 z8@eMh1lX!t?3Q|Uoe(0%Vx9BQvv?S(ak(i>^q;UKE!&0F*3&sV+7JjxVzrDpV7GXb z0hy0$p}W6VE!$n@hwH!A66h>nSKRi)>l|r8nWLZdCcx8aJ}vbpgALiMh}UK1{{8hL z8!~{TG$T2$-x3Gsq({(q@!(^!=!$=q(Ik8v9+lPOAFiR=!~hDR>)(wIZu4JrEz_ocGY4Jg$UW))z=@>8WBMG zOXjhA9k#`s#;U3~m8gdh?%RVG1I$f}*Y-oYvVQtI_PL8Q@Ry_E_rHoy@T-lN4orni z@RyNb4?p}TNA?e{{wHHR4j+&nWR>;f*4B~U#?Yl&Gkjlts_EPU6dL(|+}j+Z1`O-J z(*@WJ=^J<2^j;fdR>!-18z;=MYst(l>l(t?T%I`)Jiey571w_xem|_ z5;v(~__Ec6O)k&iE{suv%*(zghIKA@)T~^y^terkFBxon`6{RCPtFz}cTk!W=+Cos zc(S#*s8zZ{2l#VI^z-Vs!Woa9=1fYKVF$-wJ?+59>rWJ<+YkF=K&;#7J`tjO2Y~Fb`89{5#{=bHHw71yi>=kJgd8gBIslA2x546e7!Heq^Ac< zize`h_UcQsuw~FjJ&AYO%$<(?Z<|E#Tda==lE-OQBQ+!7Hk$!IY*u9KH&^sN8E^#o zu0ZI|IWaDJAc@Qg1BRK0hCX^cmD9ct%1o2*UjRFFHrX_)0@>T@19?+On2)|Xn%PSH zzmRzc&QKh$Lh1V}H6x~zr5f)~aKI#RCDnZ7f)c!^v zkOKq8A!q#x7FU_XemrKVYOvw7uDGfe8ygT6?W^H3Zmw)F3!ZBTbB`#*&PU>1S?aw) zHiP0zgynURX4}$TFet9>jw#$L1^zXJe}G*|zECO69n}I}hmqx3*_BVNHE1Ei``OSF zbLiT>pMUzKBXNR59)5!3ZFdqEMJ?d4#Q+)JGtm$5a7n0(@*toff(>9u@N~0Fu$Mb= z0>|e%B(U>wjrnr5R;dC+dS<%~{X3+CYpJV(6lB>2SB%M zeglvE_9+m|)y2*>uw2TwW}iq1c7}7N6~W-U8`*;@ReB4ZHOR1UmE{gYpHis;k0hX3 zqaoYC?Qvk}=J+hj$-l)u2|Y>&S*yj%bV%5sb%eg2vC&&$J`(IpoGYlEF^q^px%IsA zL-nT@zt7qmLA;wmPT>(#K$}yTGa#sIcd5j#(jXc_NVKH|Kq?(w}nU70C9#88P+!ym>HL+e>t)$NrpUmw*kek5+&23rG zC7zJ;l6X9`k4{NWld*(wdX9EK0Qud$!|(Ol+AI6qzL>H{*cO$r_U|x7&=>z4>(tkp z{^%^s>xC1Lx9h|lve4zMk0GUPTtq*KNP{)mXNhOmZ%KY`MmbTU_GXRa|CmZ`R;}En zw*Bagq-6YP{>Yhs*w3nUdRUd8o^qOc?$I#^6s+`Tp;{#G35n5+XDXkR1K)o$M8v@DcgF%TSE;Eg?eVKhEq%YDQ zq9_P;r`dzyAUbhGHnCB!n?de91^o4#1X3rp;W6mo68m+a;}5Hco>F*_!Exfz2x=o3 zpuF0>c)VZ9v~x;=!uSc}`2|c|95V-t)|nXzc569XbJGS0GX=!wL;wr^70Ajp)&b@| zQ!K`Ix!-@UgpOwlSkBim+r)=UG*nA!fr{B|h29L!-diY`at9eNF!-P5ZuJRMX?%(9 zegPG2NWsJOW|^No9!_bt6B7OT`)+h_NZFbaSUKbewPY*=R6>fF*YECOhiS={@A|b>+ zt>M`rK1}xnel28)EX|?qqH9HNMW)+d;8*+Ziy;luNVt{Lkti7z9B=0|#0?@mmX7Xx z7T|Vvql5NQ5s2M?H_c@jqDKC$OkylYRXWM7{hFrd++7lsn*?I>6kY7Kp>MNEv2V`c z4^C&H*qD?M>@G;vPwv4A9b`>l6qhUH%m%-S{#v)sDEgICeW)xIJ}u0$X5jA9N<6FN zp38#6_XNUAKQDs{)sOf21mQM%=4m=i_EIURdXn|ScZc{8HThDD2Q0u5cmyRld@(_;tgJv&gpY6t`AWI`IRJ19UsF;?Ms z?G63g-}WDUf&K9}uBspNz*RW;L7ykuc~*uNX%6Dh8>&E*pe#oVrR_SymzwzGEma=@CIwdN^i-%-(~jT zm>HmAo(p^@iN(o2qNr^YQkVlUIB)E%@oNyn0(}o*y+GjwV?#4bY(b_tzOR*(KazBe zj}%UP{Fs0LN#D3+5fk!9Q2XT+8euzDU>Qww8NEwZ19BLV@_b6=SWzhBj3`k2Z7GH2 zrzgp7k*(V;*E_;MajgNgZJa;tl|RjlzdMA=a5^x{GZ9X<|C4H?AVKpug+QF&(|K;w zg$KVTjguqM*daTSaSXHeCqcu73BSok38|3Fyd{hYzevA=)UiV zWd~-q?pZfTmuls9;eR64N2y4Oh_6?*6)&3#cJd%~8HLmwM>SN@eh-->pdc3?3rDnV zuGs>%5N-zLZ_DaYZw1Ep$>z0-u!Y5JX?z4%t4mnt{`P9agR~9;-&3Z2l0%l~+8KlU z@rw81r9~%<(8}I6JA+VlWh(N~T7w6}E3lB9hCmHyOxRo*vN(u56|slu}3sDM`J@e~1BAnvzFUx!!7xy=cOnhG9FW&|zt#Y&%jn zk64GU1yYas+o%phWd`b!FR$^JL(4_58e<*<(u$8~zB121^iP&I;rz zgJ@XCcS)Pqm2{{LQxo@=Ka5jmmYeG*sqMkFS8*Su^Tu6Nq(Jo>{)|dEX0thn%0H$( z^jy4E?a_KW&ER?Lq3W-^TwcXJm*4H}kP5wyZn`$I zbIxuW*7A*F=fFV1GV-9k^rV^gOaYbz#&`cD9`mO|KY9><9Z6~ZEz~EoF)=Oljd?pWdSvcz>eJloQQ4HNLIORj z1UKX41Ex3)0g|IbQ?;V{4_n)JQe^YKm-O; zth%h^3uheEe~3i-zo#~6P*D*S1c)Gi5s@!+BQQ`=lpy~fFyD-Dh*;YMiZM5Knl|$~ zjb&|kRF?UT@V7$~32A28t#0Ewo%b^^xATeKLkHatudn`I0Jrm;X*cm)vM2uW(Zk81 zbo?b1?~?s_zSMNHWHfs#=YXR$Ne*+Ou0!l(-rxEKf4XQILJykM=V%w_6#kvY&N_7a zF9egLvfqy8RVnUAU%i@!7GWH=a}!9!rDWuAewF1{c48=-ZBp&C3DF-)>@7H=64|b~ z9@_9h&7G~#B%N=sf?k^^rA+5OgWy~5P20(M)m%tv{6DIGB^QYwA_1ypl8M5Mna8(! z)bHrEJ8DlSB5C5gF^nr^hr4l(()&c_-HsNQVR*I`3;2KB|0EahP#_-@YL;PXbc@f$ zFthgeKEyd5HeUGZ3N*OumZqUrhMZ-U-&euJEc9^Ge9|Al*9T&-LJnxxUHpAAA!NJI zJwKD4Ie;~7fC;0fKLj3JmcD)Zjg5tEMNIO6u+Qm66wB#1+A+X>iICVH$h`rlt(LTN8xRUaS zM!cGGZhb~>TNAw%K6ps+YZt1bvfJ3NKI`zE`+O?;L|GH1JO|9PV?*Ve!wx-=*>x32 zKX$EIbsOQLIXbdoM2bTE(FCkmv`Y924a3C82$QXe`&$J-XNNV1g)p5zuK_FX&4pEmW~N1B z+G;_15CA;01hVy6`#1Q-Phv_7fBl{HC~;wD&)*qc)gDJfidFx2^f>a>t|DyPX)%c4 z_}AkcB?j0L$?l`skd!+q#s86zrY_7D422w~4e`cvX(}Gkeei!=i0ES#UD{mlDC6P< zRSj#Th%YM4TXhez2pBI$D%}WRtVe1DG0yp0`2bMAuwE!u{pE?st z1hd6btPMJ-`$-%3RdF4AIKz(iZ#X>{0%H+gl8yASz^-6GC{6LR3XhhMIXNygC+&V&A+7K$%U#}~ zg*?R2+>dJBl6skAozmMmhBX9Yp4_Mja9sFo|3b1uUg6g`CGZRRuNl?|ldu%i9CHvA zD^y!#CS6&gG6Bme;t^$c1EV^mB_>e}ulZMo~S70}x_ zN^J`LBTJN!G9V^w8k7qJEW;&79U#cLZ1?6Pjx{ESoThVL&@>b%p4#0by@F_5!3hoy zrL&`Br^#kei=^+}wyZ^TM^2Eowg#H<$S!ghvuhPTn?eU-Xnt55MlL~F@2xNdI&&gK z1a|c$C;42rWa?m0?n(0Vq3&#Sn2zfMI0aDftqEopTBmjk^;696k`| zBd(8vV~F?#V~Qm;U2LJ@>>{qjt9Bbig5df@!se-BW?9N!qCz)<4jLv;@+p-X>{yN# zpP*1bAU-Q_by8*?2-RzBuFtIJe#eDZ3vP>U<5r_q-fDclWq~kgiMgZUjKx|gV}uYWQQnm>{BkR{X9#rJ$69JCT65yk zW6y(bj!{Hx7ac=L(A>!9gc{Bd;)QwMhjc5rB_0-+Ps--O4Awj5OrkF~WadZR-vrJH zVmPz+5Gmd3fTMT$_4g(!4rQRM{v_Sk>Sk18gYeC9aUbti59(A+dHK)=%&-$zdD)DuLSxkWEo z5r%HF4S^?VuG^J-|5Yc0%;as#?5rrf#GZ5XTuk3@Zi3f&FW&sy`6+tnnqFzDSx4IK z%Eb2HEFer=V{UT9S{3~-aJc;n{?UOLbq%XffP=ouv@t!TuVGS4m(`@aog4$n}}jye(9JuJ*sj9aU}IlQ223OmfzBihNk2_IwYpg#x3 zV}bqnCN^3*)zt6P$F&0WA%E1*-wS+NVCXRZ;-x(8WoX|^H)Nb7C8<5trf(W8TS^bm z@rv6uk8^RRGzn|b1`t&>-f6cBn7HcI4{{&=c$C&m?&s^zU=OIk z)sngbu5a;T&}@h>q(LZE^64v0plG=yN-&tBC=mWAP@?~B5MLXq$X9@aMhXPcLLfOp zKh3nMsI^#euwq=K?nK=JNR)0BGu&oC$e997O6kB@-oRAE^&svPd+hj_!`LfI2f6Io zhXt?1g)VLms3Q9;>9o-)V?-L7jEC$J{Y+2I_xhSIye|<9v?#Kh)M(KwhO3*yq4oz- zlj6j7eG3bk^)w?LiQPipcwiHP8bXzeoG3QDQn2T_uUuNz^s2zw!CB+sW9DC}sU~L~ zP5{5H+VHV?h!elcSu|%(o*OjAnCeXL8NzrlFUMtSpG`~j)J;M3CNt~mq)-q8e@0f~ z5CU9}=GWMx`kp!}yTkguA`eO!`45vC3`D$1kOv{V-q`U4^SAr!7J&O()_Y#7%6Lsq zz*s-Ly$pMv$)Fo5tG;Ci2GZ^c`{;Bb;|~cF_u`^m&9Ds6P}3&2Fza$6)nEpqMTGC} z>SwR74IVz*h_rKj>U#_Usb@@K80PWVoK5#;L|8XkoF?Y<$}B|?UUpx(r*Beg&dIZb z#v0?9oknSQ-tVey0@&s+L~7+B&Av)py@PqmH)NSmDF7jqJv1z<{PNXyJZ>G<)C4M% zKQkX>zvegt?Vtf!P>miwO>L z;}=FlShOq4CQZ4Tv`>b|^MboLw;Of-#C44sdJO^bJDRunvW<@kl@U@v1`q@Y8On#S)7j z$Iv!7u3p9gwdnh8wJk>f)rbtZaU@PRr4A+}03naR2m*h~EHo;sr25q{lC;fvY#AZs zz_Vu3S8@dh9i~6PP&0_R<$K>Xd=at$JtyZScO>#4zq}##^)fk9ueZ)nZQP9AVN8(d z>i2c_J+zi1vcMq0Otwv1vtVgZ^AIBa%@j%PT| zl$N{*1{lL-KfS75?4sne7dlNh&6|)#-Oof!d{C8)-8;v#pTi+s@Jw~N5%ubVo0qUO zXRk=)pru0POl1kLqu{Y{5hPqEHw%&H494;9xH;Uc1gp}8LTa+qvmHN@#8;*;UWYW@ zN>+egqb%7w-o%U4zK)hG+&cbRAzY+M93%ebu1EX;LeHX3EAxtGQl0||EpyDcPKVb& z0Y79Qn9KY;*m|Ebi7(v>k; z^e?5kJcx`6V$cRG%eT~vVa%FT{r>!Go53|PYOUPU4<`lHS&{%}ta!YL1Lh{L_pr&U zls$e88~aki@JiNDt4#k5)iKHYXXr;IMeenHsek%TD}6=%cI(YoZ7AaliO7Ng@%#xu zG*sWAVeatX{D_qjJt}7={EQx;N5}0qp}Z6swX(*#R*2o(+IsH+X|#*SYuOH<1t01~ z^4KxlzgSY(735$viPEdM!f5b1$ix+{;Ku!Tm1j-#q} z__M1R4{Gs{fh<_iKk$u|l&OEyZi4xoUe{BpG}2bYf3338=Z5Py#gAHWRNaFHqWtSA zpl)>BvnJH#s@I|q+2L2uRC~q!`n$2#crxru+QEa{Sl^7pE;5}mWXu1n>_F82x3+T; z8lB}3E9YVB66?1}3uMzQtp2(J9OO57p7A;3`J8opkmiKRj>yptg?PNF70wx34-#^od8Haw006T}1atFZkF&ejlS-E#lJ zn;w_V9R|!F{k|YJmk0D=0066TFL5}H>#;S8=iB&WYRMpiFp0xHbLh{iVJ>D{v0oz; zt3|HYa=Xvj>M1{okuKgbC~Q+XKPx52_rfK`#)$91CT6m5EBR`c@U6g z5D<`~5xfO^P!JHguVYXUC3z)78&ek-QxGta5DX9)0-t4k2~j{*ltlJx-KNmPor}=o zysD6&@X&yS@YfX}Xdq91v?!?&AS5*y{*^F(aeh6@V9p7bO8H;Y5Uj4|b^Esna)+R( z(ZIg{PrD2lA~Z+=l(aGkh|-tVumiNg|FrA;PrJ0Tn2o8OiK&y=x9=cqtRN&H5f~sP z$fQ8=5d_HRR}=|RRZ$#G8d4Z!lQ|0{nEyU{3cWI9FzO@dFisXkFxKcWCg{j8SjZNN zFi!jP|0T^svPJg0!WJH_N16nzA0mp`euXIZX?4VAZzCLcIV<(3MW&BOE((@~+3{K| z>NgIWf%eV~Jgcmch@Vz?By$f7R|{2) z?U18|rKliAyQF|ADnB@A!VwzV|GQZdO+i+WqKi8D++^3GFzN$&V76h{OESi80t5W@ z)`e+Jj2+&jukdL=lFG7k1F@~i@cIcNl=KJTfG)Q5;pjRn+K-kE^+FIJw>Yc4cPKW& z83u`r_BY5MkOB}fnFq>@HdwMo17NOHJI%Z#AUqWaR`!_PueKdZfWq`Gw zo(yoDf0t6bkcdUAG#|dl>X2-!`jY=mHw%SOOg*lD)+x#L{pK@1xn15>!Pd9r6#RA5eJ&`e6<{>oKnYT}cj<I95LVq9( zY0cB7Nr3DJjT2SEps!sWck%&5n}d>@zY#8Vi}NoRE)-%bQ{Mk|uNzN~i|=J2L@ejxsUbuheeL^G z@@9tUKWf07{(%c9+POFNbHk$l`rCZZ%O?}xhnFOe6kjkSMVT-IyAy$#^mhBf0*1{n z0vL5oo7BA;WcfSekpFWG1@m7jAuS>&V~?jOMS%VRWgG%gI0uRb@`cYO_X8o=0Yd_Y zGz5i$BnX9!MM4G!6~!1s)Xl<<$<|u`;ne3cx2ToR7^m002;YGfmJ4==YML;y8T%$2 zX{uXlir%uZlzmOD$#k-Z^xu@p=9tOC^hTMRz-t^ ziskxFS5ZkVIngInho^{IwfkA0)LPn6`D3>FwlNR|FKzid9r**{9%4%-1YfOORKH?W z)-t7=Q=k6Uz}=x$F+oV(Hm~-j4@GUDShx`R(7~S?j+Enns=uuD@BWw9LN;UIzsz#y z8lky3r3j#-SIy}a5Py%u%Hm1-ImZ~9XCoG~$WIJ=noCa3CKWu%di*}&D%;_#@u-tu zciFl)C4;|I^u>VD+zyJJ05hDDm5Vo3*knz9!}B+E@j65t3SuL(o#*lpi+rII?lSNpvxk=Z#D zF&GUG?jmTmty%L&a?G@?&y=i&$`_r++J1DRjEo90_UAv(GVe7EJDz;h_|}?PF+NTG z3wh236x>M7&)yKC^Rx1IS4DrR?Q)fUY>GEBskq-QZ^|!{houi|D44*0*-ruIIs);$ zAc9XxdRo?{ack%JV!@7A0gnNdlb04n$9;$_0aM4T>_#aq%@SMkJ{e zpH|$6!5|p9+KKIHx|>`Z)_x2jXglMKyK-cv$m935gq~KNiacw*-KhBz-JIGBP(QtM zrAa5_+o{?CC-}b};U{`Jus`ERkuH4^{{FPA5}B=_Xwb9R$dm@CQwVEDtH6c{l&DVS zXPwo(D2?rkf9Zw3|Na#*ibr)NZH<|>t@gu*#joi}D~3B1BH71fMO!Sh;S-YUb*W=! zg1mV@)kL9r;tKinYI+}TGgB6)$tAP#+OgC0D$d~Y80-MnojN%7I(h3HveW8+p0WgV z5F8{3Qd|@SgfI>a1O#R$w)a1OruIKqDK08*Xlv?Z2%?FbGK~c)1(1_Kit>{~^o!tu z6p=%u|1SxYF3Nro*}ritvM3@}rL0P2$(DHdT7D$z;>OVTVX8d2j$@Fbh!A!krev(D zktz4!pd(h1*h{VTf9g5@AZ~bVe<4)6!I}~wkRo_W;@5~l&A1g`gPnqHgK@lJem-g! zN)mNQ5m$QFoOe}Hi5UGcbCU+*OAM)QC8rs(F zn!lKUPGc^A965|{ksx}rW*)b(Ibc^2zyU?1R1Iw|pj!Ci?(P4JH@5wz>)}8{L`X>3 zsVOdu6tkQR{VN}gJJ{rMo5pJ(T3f>KjSAxZawVJ)_~vJ42zJJ5M z@^Z!)_zHvxSSqqg*Uq9k&6d6p;1MesCZ73Rk#fww&RI7y;kx4@iAfKh(z@V^NZFUovC_oTp^0Y1WTx9UYhGY{ zgj<(A#BtWJ*l;bA{JP#{wiN3dx%Qw{sY`tmUS(u^l+I~pv{B=tg&TZlx$0yLfvnl|{R0Rv%9=@ZoTw85~b7eKYnV$|&GSo|P3OBNBNFAj9Y zEAc7J;b-_IwiyAzWMKs4+wJH3C$|*ad;h2RyVD>-Cc;x$@9)3c)ANrN74&<$NoJ)+ z#umUQ_X$w_lV_x_8|gQIz-S+?A(!?B6u!k`f(-yApWRD}_rMAEwf+g9^?41<>!W}E z7DkD}FbTTrJ~~t&O7{Es#9%}XPyNU#9xZ+%4u!dRzPyEg$9{?apnjKiOY{nI-=2=)wg z#2|^o-4$dt^1I{X_T3ZkN%1#WaNpP{p7NZ)qQZfa@B&8%;nRIMIgE=q5wdK?#>NI( zREO2qhJfUW*AmpAoCdvq$jlfwIBnIrUWLN;S=cnduDp<#Ultar{W}O}NBUbIFRzw=E9E4Cw7NUJ6}+E0+NrHxYVGI+4U~ z^#K)&Bem47Fc%jd1iV>!X5vOFmQrU7`VA7&>z}gF7Pe)^7%feSnF=ptu~Sl4Z`M6} zbL20Dpy{400@gjn0Udm|<7H*Z-apj7_Ie&vgOiEx#S2v1>NdoGFtFjg2r&CNW1x< zP>Aim*`e6s?iZ<-$BbL~i<-cZy33N{A+{EYC1}h0-{UX>?%%2G5Jgc-Fyj>op<E z=t&&O69|Vypf!3fN<>C5JkDOpV5H@vZfv<2tc_u zx*XXbyf)4U${TF=`>A4xH3UIdg!B}?lKw_NsetuTa+O=5e^!z=%HAhzvjt=wAgP{n zSTPB{p>k&|;Tqo2JquTXqgJK+u3%WzE-@s>e6{@6l}fBJd1K=~(0e#dG_JU0Y|1{R z8cReNJm;rw72RA>sp0Mk(a zR#KZCyKqMRsjq7a6w&5+%lIezMi@JmGF4ZAHY`Wyg0=jF59}uJ$X1hUYFG*3>cga< z!~xA;v-tIHMxSmPgZw&Hk6|^&P%G#;1-Ta#6mP_61iGZf2skkoOlQJulv|DNuDfeuR~at<(fw&7D!VxW4ESB?rn22xIRq^s{PTx-7Ngf1xC1k zJgM_>?+2GVk4a)bPe-&r({K71#hg=Jqx zw)AeH=+9ZuDz26@ty$Aft68!b5R8WlcaW-?#$G|&FDNec7#4oZgqs$J}UPy#K5`>t;XyTwMcrYCgy7F+UZ%UE?~Weks4T36av#*4L9SJ^<=OQaudwfJ!FIhqnXkbaQ-7 z`f&%-%PY>u&nJ;XNr?=6la>N}CDBA3&F!h$ueMfd3$@vD35?~VTr`b_gJnhGEqh%=oq{ow>oIi5OR zCsF>A&}$R7&D@VU?u4?oSrGL@NLG0ln8iQ+orjEEKZVhq$`*y|THpYW#UK_x<4xOR zU@C+HQs2jJ)E@+A(h3fP!V#zaGaAG%;)ov6;;7p)7`Cg-IIN}AgX1pYwqG0;e$k%{ zu9uu+ATUv4o)tLhVV8iQ#{4DpG$1vYRs1KbfFv&)`?o{U26rUf?WoPqT5)k!-FO;} zaHBqbmmpLl4v8}*h;Bh48KR$s1&{YvT~gJvGxT>|qC$cKS5q-ln~yw@hwq4%8b(mw zY!U9T8%U^zOU*`9N-A^mSHA)c6CES z8f1ir(a8xnF#Gv4qoJ2V`yk zPloZ8-NJ-R1MxGqeB=bzU5e|FqP+POlX#ox@dCCr7@zzB_fDN}zNo+LzYOaeKr3$3QVQQ0vg}Y_a6d4wu+*1cJq^1Z&-i6Gty&lj zXP)^UUr$6kubA^4B|$@2OVC4HV*=&NQSoVI;yIw|vA6t02;_`OFe#Fd(M2SJ^Em@( zfCN?)NHT;z5(MM_p8daeK`15&MidL+qz3pcfX4H`oe{g^2HXZ$yX09nf4<_Tw>`+a zv{&~HpUm17Spjz!Jjo;3SM_NeewVQI#e(G5Od6;m)tC}3ZYGnD0_VGDzzd1+-$$(Z zV}hB_KV_U}fOC+@;~TU5DBrzKEEBMLyv1zt0c&CQk*blLQ+<8<8u<5q(C1*U@E*^z z!N=vX_n7#v;EwdQ?qW>LFSt?UrHs3njfWo#7qGwjx@?!)-Pm&aGVZ;dq&&|_KO%+J zmL=h^{ZgbCYQfjLObCBpYLo*nf*QZ4rgzIebyQ4%%uMD5ODny{YBnwB0zKd#9Xs>Q z;9GdhsMK4ys$0e>d9|>N199MCZqVq2R+O74^W2S71*wTA+|u_A3uv<|gVx_^E?~;o zCK>QN0^jLc!bODSxU22^_a6fk=~tO=-7h|A<@CS-A^VVZ|J%DS>>T^v9Fb{T+}_E$ zY0tGGb7ECOPpD|!(}u*A4|QN@l%}eNovY^Iab(lA=|_|&x9XdQGmoyS(Q-i?yHt<(tZRXpY3|J?@W+(+69&edwpWn_|I%&O=`Z&)n zBhn^ard*~ZH|aIcTLCdhFS!fq0L%~<1~1boML30Q&xDdxk*-jvrSMLleO#UpdA2l1 zqmIt~8_B*y|Fc)x)*=O~LMEFK8UxqQ37)Vd6^ewod|lYNXKdPZ!aD zDz~G)y}^>dH~>3rkNsWn_(QyWhY^we4(aFLe+;CiJ2pJ-jR397C|@AD{|g;VJUX^p zs@^=A6deNa_N>lN>{^-#_U>J}HQ4vo+84^`>bfPvyGBbTgtTH7rhQ54eHNeTsCp1+ zkUF$`SIK3re$=wBB5zJHoZ0bCe)qQ#7r<|Buba+qqEoD3mKN2y@QfUD2k*6s$KWKO+)g#|sYSY&B7r6H;+ozpGCAzkaWPvgw+1=NaI zL@-Q6RDcUs@A7^)FyTVG9b!3Vx%5K{Frr90K(W{q26`^uA9vm3J88u>3fXLmNHcyP z`q*ZeGrH93OkCJMX+`l1nQMMHTUR#4w*5gtZ(Cp|Q+Olv24;O+P{23*1qag2tjVP$ zh;LCPbN`{-hG%tYaM9Q+tvaG}W+&*K2G%b_+0lQ^~#1w~} z9;V~m0+2yt8zz&frDXegV{h}kwS25du(6J6?j}fFuH=C+_sXaGb^o|hJFe?EWfh^- zT)$hl7l-4p%pL#rS70i6hp;h%zj>Y|K#yu!?KzCnA=LW>eWb~;1mhHWsWrgvd#Kqb z&Ei>g(SUSC`cw|gZT3*OxSs+P{dJ`X-%or_E#Qn7RUmRnuFR86o9BUI?Hu+1NtnX< zfbd?JWyOObhA;;v`vPeTt;;}bpVzq$_%KbenerzmDSE>G+>*Ut->6?pqwXWXkLC+m zQ#HO}YREBM5+VOAV1Zs51z{3*Q?{oPTjs?Tm9<;1Bt_UYCceu$B6+>C_psa@RGc~M z2l~0BhhJa7RL0hbFT+W+VAzn2{ke%RfjLxdg`FH^JOCpLMw zZn#E;Q9XYrE_W{An8g}9JGL_zK&`g^o{QD!)>T>2*K40qgdgYf-;jse{#o9<2+ga!Cm2@g>Zj}ztTskVU0bnv2vUo z>>gt%6#k@DHN2qr*1$jbmpJ~7>%cLUd}SUkhDVzH2WCO|*1MX(<4ZKC|vf4{OYYK$x`X{2wP-x6%wz(C337B(-G4@ z7L8F+XzKJeUFc+_*f1JP&7TA6F7^xvdK+DLghZ_9^Jb?~srU-5U0KQ5_)3=)aIp^L z%lB0$5aK*V=knfQ`=cotoPT!U5dq3}Sd^uI`q_6S)a`$4I61FpVaPgV-gu*Ex)%OA ziKG-`ze-IEPiNoLgZU&T*?BxK+xR5>(hbqHc%vZg+8i{w8RufS^MyGsn&nD<0JBGX zwjQ_?^o1lw*4Dc$zOd;#{i$OOS;^1Hs$m|NX_-olX3p&GdIC-Cvxas!RT#8HrNwIv#R`O*^c(r zE*g?<_md^Z(Zsjz)eG3SlHbq^6|61YdX@yg`0z7&!{^Ntq`X(&*bY26gPL9i%6J4n zp@%p4_5zN`LvX&xU_r}zvw@wheuDANO1Fj5-H;c{(c&5#?eIsHenI&VVLkBtenYe< zJh1IKq-ka?r+Sb3HkjT}wMorGSW~=V0R=R$^F{c`I@DpUh(`ElyMGNLL^reBNJOz8 zZ+ia+;y@k0lO-&S=WC(CbSHKZB~RVa%z!~p zzbI2%YY>-@VXQLs;aL92)6Bbd4PX>LheBlAP5mgaGCutJg1bFv@IRbKjx`S)*mLoA zoS(g>-W((!g5SQrmtDcJfGTY-N#=9|cmvS-8F0!9>0s~{$$1g@ut}`1gz3oce%yc{ z&qv63b&<@Zj@%3^d4AZPT%{9#LZ_h5lqQ25TOrn%s!Tf{n|N`s+Y=b=)31~8DGigc z#Sbnx;l~YMZQ^!Pb@LnEHyarrTZs7L8jquPG5)^dvUVI!-T*?gfupoccMh6B$2{qX zIM7*~Bf!KI^yV_mGIwR!U{lH&9I%}~6OVkf+#5eSf0|eed5c?ZT?!+A@Vbe)0i4-G z-61K=qp7@UZ(C1h@g32fx{iMqxHsZ$?(QKompUDjnUZ(^I ze1}_+`=gF`&X0??ps`g@V6$EB=E3M9foog)mHcc2(m`#R!!2lNmBT&}O;kgto2BpY z72v*s`+v`y*4+YEXk?=(9E%}NI%R#xEv!~(PL+CRo9nRuZ1~`R!EoWF0c8TZ_j;!= zKXk*QMt>=gTJCN=?KwiH-jf5VhB5`+{7Pb_!Y&Zo(|JU+`QXcZLAN*^+M1)BJG5$h zx`j_mEOx?2b9N3z*-^xDi8CCDA^uP7kpQaio_S3T*POZ^no-U1^^MY zBUF~}Km844hwRE7BaC-@!+Wn^;?CQyyzHC|EJ!%2pwNfj@OPp4agW#bV)y7j{nb08 z9?C08Ai-CwNvW(d55SvNlwTIbxay(vSmCq^DH+zT83Yo4`sqP3*y_UDlG|$yHf|*- z*brQicXh9vRm83jv~USDR|KS?Xd}ibJV6}RCxp@t%)&LR!k<$e>7ClFnCg6s2$%Lz zsA0NXm`T^}zSt;!7fszdozsAKvY@784O2J3cvG>gF$czRQ3aNiwmOLMwV%KeZgWz; zac`GpD^o~+QwX&Rb%6R&A^(3=?0YB&9d_E~IBqr%-FqG5Kwqd{lJI@n59$z2tmG`(a10@(ik}|V3G*13ka?YAWwC4aCLNI zCvPf400Gb?Do^%*004cKLkvRz0LVh)r5isOGSHDzb#i85V*>z00096200{PuQ*UEy zWpvmPG}5kCZ)|mK00RI(m=Fl82&kq)VPk7&a&L8R7QrHaCKGV#DS|7kszYyVZ*l^N z_~`%k)L0J?nsU>vJayBpJb=@!JkYABbaG{GXLM))NEDeyY;R$7NZ%L^mn3vas8?la zXJ|<1%h(J60RR7g|NsAgf2RKr0+)EQfN1b!BPogwMyGPzRY@myUBfbuQu4gkLL% z2>YvQuu6Hi_7H9wiIc4coOxZ>QyXhXucq1Ngjeo=IosF(d584@ChL`*h$R6ajw^p9%k>OQ#&P86~f zZDrzr(1z8r*2&{=Ss7TAqPdQXJK)mMAiX$XlVcn>VU{5*X#Vl8ZH2Sq4$u@Jsep1y zpE*`}Rm-S&GC^>U_TEGrzEMTL=xA)-j#8^f3yyfZ>fnl#^z~W9|6cWd7^#@J+q0XiC>NeDCnD77#BpqzXG0By4XN{Iv@Q!voFY7FYN zTZ4d@2h2ixTBp;Xac70g>cN5Jh=SGwDn&m%(bn)h{bK+WjGO6wS0K8dWpzH0c|3Hu zUt@o7AI+GLej$23lh1VvDE~smAZj}WumSJ^0Rn$m=h4~enb1PQV>&~-^&9{l9i8{; z=bfFQvCrQ(;<-nB_y461;*=0MB_+qjWPFqo5@n|Fc#Mrv$$05R%t1pa z)r9A%8A9evj4@EkPeP@o0e0SxVBF%yf_hz9C>w46R~g=|9Toji@Ze&%Gm4o*DWl_1 zj+1|}4x<HXfmKl}VyrZY5UmjIIVk7CVZDy2L}2{C8o>o$G;*P?$_Zc##I|LgL1n*u$| zw^?z7QzPR_N|GeP5qbXWlq^|ZR;$G!kp&UhjZNeP|0sHR(SuYd6h3)8o=_-kbGclb z%jKRt9#1M13aeLFS5l!+*yeIM8J2(4>{aJrc#vG6`&PhI1gQr@@w!c&)HeuLw2fi$ z4#5NvGq7vG$6=TO1;O6I-AGjbUWaK5fZ!Hv)G-xP@S`yk@jywaZ=7``V|o6mk?=v# z^E#l3M}*1+NP0d@QP8!~?{7!t(i7CtmLLb-Evpbh68OS(YmRj#lgcS3a|(a?0Ml2ahOAHMg_B0wItmCvjr@v!B_uF zBmN~D5P)ATGpyiz@IZe%S zyj03h$KjM5&%>rB8ovKLu{`65i^}AG9tm`@tR(Je9-ru<(m2OR9CLp%M#jY9amk!2 z{$HVt64X0R)E%W`iGfjz9T6$-h>d1uEGu)YFajvhX*QLbCJmS`9^jDBY}R}bED~+A zh7AZ%H*DGnneH~*4T&|bn=oI%@Y2kgdrOu-BH%pOIRNFb!GsASD*6&8L=aK9x%lVMQbbkXZwy`0fL%d6o5d4d^{4^fr}ew`!<*hF7|(UWU58KRgy{XhY;Mn zGptyUA@zcOcNsRHTSOPtW7v?GA#)Pq8MKdv#T|^J97r&TPjsskV^nPGgw^orA}|o{ z1$kf!>jOiHH)e$RfAvkF{y`sF>~==Q;?T&*jFD!XPN(z#rBdnB>2$Vj+diF6=hNwQ zR;5y@v~AnAU0Z+KE7B?e7*E^2?buOp(OtD_z?-YuzJfboFeny$g%vi%+E*Kh;pn}y z!Db+h&)1Ht&11)z5|mQEJ}OWUXy3auHicgqD|E|%Nu=l^<>TA%1`%iT0HmvT8_ff~ zlqF2-m9pT-9HyE{x7Xcd+=+nxMGt4mRm-ZUwOajJivfRkh6ueRGJ_hcr*_`CGS%EO zzm0rjh#DCejq5?=xlBUB5%;NO?rLOVIWYt6k^L(-K?_LCgo)b;6edixy{QnRPY+d< zC;ijoLsjPUqhF`{@DNQmD*=II1g9F!)5PW{C}%^_uVi zj~kSW5>S6|`^1SI1547gH)bpa>#WM5!ZKZ15JbW2bjeJx)rDHcMUf;%S83tU zEKJl=HkGZD8XmnE4tGaLQhWc10-*wdf9xQ%7TlzJES$=)J03K!&%XoRAEe^e;xjQm z#>}KKdTnjrm|mpop`kj)5R({9TEI2YA*o8l=wW{`YZ9buD`ifgD^RbLS$Q(Ga-|D* zrAEqSZe5#Ufif1&g0#A2$+EH3?hrjxo7Gu*wy0ai7NRX|CUp~-Zh~)c62?CNUQrq= zO{jkmi3YMD)$H58Ppg(;IlI{End^KD7dZWl$NHZmZk;mE9j&4 z!UcZ}ngy?M@e($jdRY_0txaoinWClLNCBsywWO&D;1zwM<1#*}ozPv|2$Iw8ivB?X zyii-$eS80F$snN-gVdv80}gCa(}5{LEnOI@5@EvZEmXwxAjhUcqGaTo7&5yD6lyfX z=3|OQpJ6le1Bb@U86d$kXsp;an%%|Ax`}__Ene0}lt6_-_0qXOLxH_&>QnuK@edN= zVofTQ{@F^UZQE8`AJD$-4!3ED+)#HAD7B}9X@`}lgJ|qb(acDaB!xBuQy73a2&93c zM=8|00TTeiK|^Kca5x+YjK(1d!XONVAqavY2m&Dp!ypVpfux3za}EIj`rOhjd>enm zEZix6RWF?WRyA`Ct_^qcv;V4Y79S@Eb6q!)s1L6y#&qp-kkeUJ+XK9Oz5yVUHKj_Z zd(|XM<9c$qT|XeT*{ZDh`W+dMRogC-CEFvgIG_W&?fC1O9K*|4=~&H;9DW7;M_hXu z*d2?y7!PqdS2^(NW(dr!N$-RaRMvlLJ-X}2o^D)q&bxT&Mb%zthxtsrdvq-euD?c3vXpFkwPh`VbjXk6DqxWZRL@PQ>lzn+X1`I1{2j@zUL>(+57sFw zoc_$e>{oT&8r;j|j8d7poQ%&*fxS#q0mu3a=G=*mcS0J)Bb8>$DFA=gO|63x_E+KH zSEUp$5(g9e3fse*$o}n069J3=m65&_k#Y8gs3sr5d?$435LyJce#>aO-JjR82ygdd z<5gAF1ai}2^y!H3r+lvgeR0q_&?tvs&mPD^1xs#_DiG*ebrT!xO||3mdgRvDOSAqp zy{i#2ss*oW+I@BqsP=z($*SGFe$gSkndjf9;kS{*$^s8J1eJht#nT&q4koYk_`Cm% z*Xh=;rm;TiS9P{E+ndo0SDCN?kI!V``v5ug3qIu|pJI<9fH=?YgL3cHS?+%VN^x7c_etKVp{$XVjeq4xNjFE6c~9X!I1xVOc3lESMB z)fazzKpFdxIoJb>S0(mqpCH1%wH?SG{>1<29s9gKkGZe0sKT+18{{))pHt6>;qs3M z+0f9>vw=x_AyXU!v+>XxXDFUZE||vK#hR61*2aHN&BS+{A_qw1mai70CT zdgR8Z`}Zr^`a49s7qac`7z*yzfp^J%NvZDuPTej4wRMB*U~SvC$>-{C&XDf?5+8qb z7~1ZZ+oUlUOc(beo^h|-dnGMPKdDpZ4vh{SVO#bF-Y;oUmSdm7t*29;*7wozN;n#M zeqN!9uWvU8zuwQ!A{gQxP44hz-b%e^m*IYVeX=_N{)$h@bK*eruXVX<-g{-V33f7$ zCwi*u-a>N8hE&X8Cu-|OU-zEHguQ=o%wYMKo}g(NT%MyVEMSG%+KjyB(xWZL+eXgX z)*myxu5~EouAa6*5l$Lq~h>#-h731dB`t18hP+b!R7I;UNA5t>Yz4^}lB z3%_AD?85K}608aQy-IHaP1btK3FxML^^FzQ8lKQqL0l(*nyTH?3GuNGru1xbJh;BW z3H#OQWVlerYd~Bav<@`VhFI-G&U-pEjjhI`p40iKRpiYJb%tIqI&*&wW^JZ6#J(WL z%|$oYS|#Qi?w;z$X7>24ElGLZYdTAx&OAd0gL^gwZfA7{h)<`x`*oAyxMq76VF`OdJ2L!lR%x$G8{zyzbP8d$5x|En7;(9Z+C|D#O{7N?_1+{ zO?9SNAz67kMzQGL)@6S=%|O&oCv?ty7_vsu=$E;^xPS5O)1C~@va)f#W-E?b(d!HN@kE4e(GyW3#@-W^uuYqNt^SzU0-|tI8 z**AL!HI(V~r0`_u;i;Ls5m0_)rn9`7@#?RuQ`wq3yK|Xy7_on#tc(KjPp3rTUvy@V znN;}FdNC(&?=|VcrPc%9lG91mN`4<}90(QkjJy|9aA!Y?n4QPa_nN1$~f+O}_9F3WKT-DPxNLml#3l%73vJaSP@q(D7h7>h?yNeN5vj zcbIi(6h3#=<4S)kr!`ry<#`Y1KShH%=OKv%_~BD0H)Vbs+9Xk<|Fi2fFipgVyU+(A z{)(Qy1L~eWv5oFEvA%3M#r7Jki~%g($CaukA7Mgi+D#(Q4IE(ycRiWbQ%@U~*JNOh zRXTO(O0rr!)>J6v<|PBz2ZrEP606AoirI+IBc&6Fi5Gu{wh@AhmE0?}(;bD{gD?E>(}22@@zysbh1!(x3Ta zlW~8}mP-WAgeK9C-nm?ULop4)M@&=Z2o`;Wb+w!3+@PBaN!BbRK3JNxr#Bf)87usg zk+0GpFw2~Wp0RF;!Wi)~Op;gWT7h*92ywRBf4rY$4f=mbOw+6WgsLF^F~w^93PaIM zuTq3)+P7^`jl4Wnxn?}w?pUGzq#{(X3d+ZKfQQ7T=$e6pO8P&iR^Vp<*GQVt zpLNm$unrRFht)MGLYeN*gXHYir!Z|l@A36EhLzlUb`^-I19FRwgiRkG>ml@K5c?$Y z-6H=Idi&Ppt8O0M;jPTU+LQBOBmRGASMQmqh2AOeiS5aPZ1&}_H;lFU2ed=5^Po72 zjsHQ@1MFr#AD+34v-kVGp#;MWp42!0L=lgo|KHzTBp~9R=n+#f;DL#ld7vcaSM>b! z7CxskMhDNaIlzvRuuuM5M@sMt(&+3Ky;pT!#CpZUhD^r~oXCkItK&`^;kQ&`aQHXRs6VXIs5}S&00jU9|9}5~ z000OCfIn!1Le&V?IMBq^C`3V2K~MzKL;{Ea*XaXT)#wEP002{LZ*(9rXg4zG3p2m;$T8pQN4`?_*RcBPns z6n{;ETJ2-gj7Y!{e@R)XsT8TB7QihPnU(>h1)l__1Tajy9CV`chOFG`7U5QhVd6>K ze>{&&(Sqzms-VnHtQ^Gd^vY5|lVoL*ZibahT-j(L$?C-oC{5y8C5d%1DrzBS5i6IQ z+ya4@VV>4Lp7xH!G)XfSiwb0&eq}4Dn3bK_5?6cW0=8Y-_S&c(D^OI13?%}I%9e{G zD5?d+3ScN$3^b*^fTcXGOpzHqw8d^0j8DKTB z0l-L_gGP#A$jB0g)}kb=)4Uj-%DaIiStlqcRV*1GpnA2qkaf;d(s44Ec%ozlfS4Cm z;_9IVnn+2E{x|}KSW=G&QA$Qc2{Qwh)>0zo5dqU;IDtrNEl{t9j%2}L1S?~`e<;9f z264%fEL+mK2mwo6fi`W)iqm(_$tmd)m$xLQ0|uP|s0ss!jHvJoP>QtH$^ft#G_L{& z@NmE)S(%IF9pDAy(qv*VqFByAbhzh4FBaFR>MLNXet~;mV<{ z$_{3wBLp36_3Czz!DJch<>eq-e^`L#VDUhR4KuJD9t#JIg=u2Wxs@<66=Z0l8oW|R zYX))$t8`Y00|8#5)((#a%Y(UkXs?WQLjtfHuWW{wYy#q{6J20{zKAT@N`?r$xKunI zV%LI+<_mMq9V2MrC}|K`VBN4vL6$6#L5QVbksyY`)$)RgE(5F+lm!?ce_$b&d9lnB z0af8m?F3AP3NIb86+}Q-lrFTSFz19hB4feRAzRU%cq}Mg5et&S%S53Yuw1}qw|b$0 zbkL$({eS=zUW=6u6p$~lL@mSvL_u7Uog_ez)VC0uvRZT6)YJZi_(*=5Cd?; z2bQ9R)z3Ly&=f1cJYEVdf5q#CmqG=K%)eL$dpUi%U?GYjQlZsQwve?l3IHUq7@3u& z3bF-EB}1{2DP0iN@K$KKFzLz_sEO6)!o-%bpm{&M=88qiXr$-;;N3vBe$Zf>64qjg zS|v(-`A~Z1gJ`yVpyevY!V9@vTHQ*_p$mzh^3_c-l*L%NyktDqe+!ojxx#~aE~1N; z^#JpFXvMgo^-#hvBG!ZG)dPK@gKQOpfn1GIvRWNfVPUcK-dm0PPy`&h%&TSCqubIW`n20ONLeI zz?y;7fz)$O0I*;lf7LTrD)#$yPC!j81f|Hm_T; zlr}^ZPndJsh`~lDvTS5899HBj^H}5#UJcTQ8lHcwhDJXyTDD3QO_+0PqEC4O$ei_j`@MJGf)_HA6FqWouf5;tR9q)t&Sx4J=CCmj0 z%9hAdZe@%`1OU>-LSw6#izT{xAiI@TdU0a;>M|~SY2AxegUBN1irlPLJl2Z#k)a44 z;J{F{a1dFPp!8(0gz&0?LWQW{$sluZl{GxrCMJX!O6kc^TA7LlLk?J*l}2MNjKIr5 zB%8tp zbXDTe@$gFVc9b$+bFQ|Q3-N}Piw=|-%LsA4vK9*{v(5%lS3@bTOgMqHf|29|9yQ@= znTSmuIM7ki36TpgfSo8^Xh5l*XuVFrCJ3f^NLI8wfAR$dC<)6{V6kw4*s1W!h7c38 zZq~d9; zOP{_Nf3#oz@cuXw6`3aHJb}cVCNK|fgvvQhWOIs&1YE~C8zrlW{&+&|d1FbIL4k`K~tLbynhjvbrX=0*5u0Mj` zj6wf1iQC>}8f_cZ34`3mY51G!gSV_(?jp*j|33H-;8Sv&t zf0&B;O`K^oXKb|QFBfvtNb_s`PpZw0uN&Iqx%-vruSx4uDwA;gV-3Y$K2 z`s=PCr#g+?-6uzva#bOJI*o~_-?Y)sgfr<=oiI3EKwJKO|20kiVjv!JQNL-%7-0`N zM;c$d`-}nFM%X!|@iqOvZLj@4Cw=Jde=g2BW6*3HQNL;9oXrM*h!NgU5Bc}$jYs`` za|VmUc>CuUU4Q9T5%m1x#;zJqr|PO|a?bBMqKde?PaE#;GZXdyu(^n9T}N=X7^lfg z+n6;zG<=)!#MJP_d{Wd^e4FXSd{VyRGo2Vuiu%o{{n_1p7O9bP&L`y@Pl|q0e;@hz z!oMY}Kb!YgKUXJx=rYY|a+jodM0ET}aZZYkAch#pkwS!rT!#-FJ&L>t`4J??=MmBI z<0GO&$dMu+ks>*C0D&XOv~e@=qDT(f{P%gx6YT+0bsG83_++wE#mYuu*S}9TgW6Fh z=gw);`HwstQCQS|vDNoC`ACrLe;RT~kob!m$b60RvF5*D`tbg~)_2O))Th8bhf$MI!$l89b#@EG#(fF=jqT|qqhc0@$|$I`7fZwHBB zeb+jGCQV|Z%KJ_DOZu-Redu-9kc3^_rTe3ouD!OJK6CPK(#sT*gyh24f2fOc)wu8H zi~{we#+ve->n1X1Bq>WD+FbJSNqh3n#=dX5B|BCR>&W+)zQ(bp(`A0?*6b*fzqtK1 z%6H1eq3f#PJD9ApDD-8u*ff07_Mf}YJUOTedt844pibbZ2c7;^zYRY(rUkvt`Dt?Bt4OjNcicc3A)M=xz zudFx=3k&BLi(7SCS@H0qa4yk+b+oeL+>e&@T?|^Ep^RTU;#fF$f1f802(n=y&|f=x zc&o{TbG&e{V@{J$)?;OUscIws9ka#UY&Mw?B0fzz+-K!Qu%2EVl;4uR}llt^GVem)3#ga9>xbeOggZ|(RGQDlvI?n0PBIXh2h&HN!t44Ij@SG#= z&6vxeE*B9_V9K63|{L$3jePVN137-5vQf)vl>TL z+t5*5bIuqQa1{ZBx#2*yg45FS@r-@jHsprxFL5Kh!bZqvj2ZEjSl7oxD*j6B$5li! z{FPWe{gqfvPpI$53hM8bSUqQyu08$JIOkT-zowMyf9SgU(^QkA6rscfb(~~(K!B~& z@wkf5bYkkRA>G$HsO}na`NNFegu`32YyG2V?4Pm5+jahpI+-x&yL7EaRnSppk&JVG z3w}Pi31^b)2k+-6k!C2y*{;{@>b4b^!ILSj!nloCsj;r|A;XF>mNz_A5;<%3c zu;Lz$^Q;h{rRC!x7oRh>Pg}A&heUs?MxU-9>BC8pjIeV=5>=f(yg$;1ERY1DJ}MXS zkY{tw7!%kqz;XB4c~b;jFNECm3fptL;U6_+e@xQ1=FNdfZ*pCI8(}JLtMbCgx4BU+ zTRY5D28S{ z;vC$llywU$mdqIrJy|8r0Y|RlV2p=+dMzy>v3C ze^DXMr?Fm3@)wJw7)gGuhrhu;kw0&M9cpr0OUq}a6W;pb9^&FWOwdO9aC+eq;SwL~ zA@|Ia*O(l~ew(SEJJ;NUUD zQ8?Q?`M5kEX9g6bA~_6l9VFD<{RBrueYJpHJ!Wq}<&nXNLUF z7}H5{zWhuZ^W^g>Jsua=dGX?x_+b?a|*cb`sj%@#8;f3NF^ z-XGn?VK{ln$q%nBUHci6e&k!DhVbxdz!yQ+)^UC%ETwC~N}>Vl$T{JU;jJR)HwNM; zQ|4MfdB!9ow3oJdySvYmlB^}9<)1uYUfXV&%Mb*u1^?`f8U!-pWfPzU)?qQMExchGEsBT2zw1jraFdHPeXUc znwuP|xpAzY2LTeyZG^X(80XOanwv1-44s6x{%FOT6O!dN#(6&vM{##Ig1evV=^J6t z2)p~#i13i#&oc%+Rnr%aRs=)_T2lM7#oy|t9FkK@<)f9ap5h^zG2 z!un$V6n0gvT0i*rqB!A;Ub5YyD1E-hgXlb?hiMo@x_h*Yv+U>jutiAF@1ClKxGV86AOvD)`#C9KzLK@ z2XPkS52)g4tU{a;y%4;g7MzDo?gGWecmWto2#f@HCkQYYw$Q$$9v8YHGh%5^a*bqRQgOi-mZgqbIy+I^M_Vne+;@fHygKZa+Pdn z?5gnwaTOqtSed13bxajVbSI#|!sIqfhUkC+qQeIcB4%td-r6_nv{6B(OXhLB-LrCp zBXX5YdT{Az4`vRtm%*FAoZr zn7JV9T4HSFfBIxph-<|Y5~EZk3P7Y%mM;OcCJ-wDz%nd5HH0L5{Xzggw+js zt+Fm7(q-aGBeL2uO2kD)L}Jtg89kw*(kn$;ODqD@NG*pDqDRgj%sGwt00xl4NBbpyKKUf3Vexy0Rc*lto1?QRxz*oHK_J z5(rmo1sa>&oQ@wbFFJ;}ctVJH60Zr`eBZUz^nDu-h5Y;8RPXmW$qGRv2|CVggjpbx zQbsi?&Y|~DIK{TvHFVCkcnD71^~C8P?YyCR#-!;*l-Q<=ktAk1G1WoUn{!ellWIP< z&8G3Cf1A_E(h%89mn06@_->nxbLy@k&3o60#AIr8+ma2n5;csfB>)Nfk3`1;Ax5OI|0LMU-W z2$6F_;ZTQMZ)AiQg-J`Y3?gQy?Tqo`h(Q;pe@nSK=|sfkSJm;Wd7I)k`TJr}Jk?y% zrw?5?5v5AGQeDdR;BgwhZB|w`l#2;@s+6k>sZy?-R&7>RHcqly zrDqE~ThME($w?o&;D{1OTqy8ytgmeiCExM(6AEV@(?`g~CubwXNRS~sW{e{?o6re` ze{;!*lZ*#2GrV1u@diIzm`&(3z8DHWTU3(IoXwCPFq=@Wsk&v5w+{VDwKcHeHlc45 z+M2W3#Hhwe>lcQVn=xMJDrDa`p-TCM3wbU9eVyy6l#VIDB< zxa{H1(Y-i1xG&VNIB8M6O#p-|YP#6Y)-5mo*TJ%w8U5gRWj=-v9(wlQLp(m|_=XJ4 z_$jPR6j$MAc5qm3!_KHiA#^s*!sMBA(U`x5 zn^bd;jfqpZEFVw_8ySov6JA$>$2~fJgvbE`exv78;in^vi$0*{;dKeFe`klpd?2gF z)DZa8-{k3Aw_ywfZ412(6aDd8^c8f0#bqA{jXLRCq`GcgoACiCaj$HYt#wWihnOE# zjHQ08B%2=mlhqznH^H&ee=*5Lso!X)&Zq4= zAgdvuRi~-Z55xTzPq@<`bRcb{oiv?s4q(Wb&)&It$$?&y5)a-HG`ZJKF*&xG;$7S7D(UC<2uD85P(>`GswIsP&M z#Ej$YU6*NQj8jNvI~b^?!sw5$pY+**qI}^HHw1cu?=;@v22Yo)MuS)sBM?S z!Hua*amct$F*XAs!w|+KqT%ZAHlW+yiE(tC;%SaLaDPy}m%bMC6`^7=-q}@PNHX zjXDOnblxfl`OQfGsj?0m#u!g3x&h`jUpfO!*htxdv@W>R1Ivv>p?O>bZ9Q3M&V8_K z3vkUG>INAIe==xgPIPb#7>Ke#X+QI(1`^xa!SE+q|IXFVw}$ri{_XHVrTk+`lZIye z{?@VmAPl|Dgz&k{GAP@=63-VLBsK=UC(G;|U(S|Dqe{|;?nXWFoLP1du*F9gJ7s76EZt+H{v6He}3Gz+*AyKB+Wy6fV15tHlYS+ zb?`0C)QqlSH3H`{sBze6t2iK?sZpl;S3WVT800pCtFTlnw>iK;-(IEJLntTT`H*NU z1v_WS4CGxrhcw8*jQH?xvb}Gfm*2OlZq2aT1f|K<1n-_EbXP4K-PGR{Nt!{FY8KP& z)nI~Te|JNy1s^%eUAI0cN<;UJn0_#Y?z2vFeS`h^yp6(w29F!v#1F#W#*R;*9;9Ul z(a!~Vr|P%~QFC}gBmiPCB-Yx2+FnpTxI6R}{to-yOCP&zB+qN=|I56&AM6(=IqAwg zP8h*A>FW27-kJr7)G9{dq^qp|8=UrPR`2!^e=?LSg8e;l?t?p9_-47UMWt=!VL)Q! zDa4O+ze9vRe{>k&H5~BB0Q1ZKzu+J=$2pEV)P5J1l|os~M*lZr^BBs1lTtcf}n?IynTw$z67VP|F{QqU6)Q$6)~2dW-xz81q7Ru6xJpismY&Q1dS zI=}Nb9-?nxmNBOa>1%AJf&REuiGn3$e`T3#k0T~&+Jt070AKgrWz&zwCe=h}I?9FX z>=>ed{x3r|uZa?X$=@|DG7C-L4HJOQ8o%8(vkRr?se_k8b zw-hq-q)N7#0-$*b2lBa;p9^rxss(k&2|4JfVU2EBEcV6~cs=)RRnIC|_@R#)YE;N1f^fLjKA13>!Ydxb(28)8i z-#M7NJ`%H7RDn!hOoX^*+LR0p(YnH6Pk^3bC?~#vZBvh@!OkO*ff2igrcONgn+KnYvE_`ls?PX|YfdQN3se@$Sars8WmlN7X zyE}E%g~zP(_cY;16r$3Jpme^whBI%IFTs-q_Ukm=O?A-!B*&O>D(UHgp8pThSItHR z&L7JCE_aeo{!2=vUtq-S;w+J>g0Hj81F*OK@Ow1QX@0^!?Kx{rf3>p1DD9UP^9&a- zU(;QMRqF(03U_+`LWf0=({B3h{ZFFd0BHAKbmIzHZiNZ>D$PaWAoI`tdg>Ul5!EAS zANswYcMHMs1lMB+<(b`A$HSJo7f?=0CCAegmW8N1{ijH0RT-a+H&M7UPkcJHJuXjl zAKOJvvt2Rm`&e~W_0)S7dHj?1 zZ2mtq0u>A_#ogKH8Jq8U@Hd({Li8yJ(%e$8U|9GG>3hOep!1buotsTXEvw_TXy=~l z)Hgs5NaCwgf4TB>>VF4AJ8tcc&szI|$}1Cp4RS7U<)ErR@g}1V%FTcJo8D6w{TYa3 z!=9zm+`p-Wj>fJqa4`ny63#fOoK9_p(KK@X8CNinOT}-RxZ8c|tbQAggC1LmW+Cn@ zs54JfziT@p@4R^b=9wm-<|4 zzJv2uf3^Mm!`bn2fN7BC8p2=OXCDWS0~4RX!<8mp(OMI5htTG9Rl)F0cz_*zl>2rwyhBjeh91Mr-X(isaqTqw z60+jw3OYfv$j677xm}o>Y*=NwPRXWlD;zpFf3b2EnGxzzXvn&0SnS1e|L}lY6?AGd zUk;hVbG%~pJy~aUNcH`K+w-M>H%;Z+u~ye{DGO`RX-x-ODoz*^kZNs$_KOVa%-uD` z`9D@;@T2Babeh9Y)|xG0;xODFJhb}a<)J_0IGlL~<%<*QPx=qeS^e;iP)#>$b971` ze|YM3R7dQQQw<>3Isb)m!E1k54YD2ouhtp*=i6aJK3I_)JoiY6X9pQIGqESRxkmK&>6*|B(bgOf=o4WIcl zOI)Asx+^q~v4&WswC=hysw(GTT>D=me-LYNUVWj-F@@-v4fG7!IR3;MQ2VDRLu6bC z5%qzBEDWhQb@joGwUl}0$`V$)%_@kActj;T4XqyAXaK)(&_+HdXm( z2{5b!qc{E2k6I98_;!|Et2KQ`?9s8mKF@epEl&V@K!m^N#u?{I&AGs0p={ED$5o2*FSWa3Gr>sE`MB8V3G$%^swO}s>TO?n8dr&VazD#^NQb> zRDa%r`JP>~4z3brbMsX{4``Ux`K_*a2j$Nw$*9^0P=_+0920b}`_8Dg2!!X$;wa=?_I%1GBSv}(j z+9jVCe17lccYnpBiH_&wJ|H&(o4i~?zqsB7U*=n2d}Fz*TBmI}CZh(%9K8q=zzYTp z6Y=?z&HTMg9`E2M^|-Gu{{u#Hh*9FSZ6zw+g9Edwff-x(r|< zSKPQi*%#o-tz*1kFb(Wh-LRf*dfp5Gc90-(c*Z)C&O{p z6EDmKxClpW`Yd=_#InCYME3RsZ9xs?5VO(-x!@BXMV8|qNF89UXB~e5ZwGufQs>BU zygRcoOguZCuk>*oIL{I+1b_0gT=4jWfUZYn(NbY(R&{WE>zE?GE|tI)290lE+C&qu z#k!KP`>V>82KNm^?AMS1{sR(kN3Y}mVFKzoak#RA?Ji=+4};GFE6497CfImna?nS4 zwvBM7aCwg9=3MIS1YHjhTC?fV^&HFEK@;Nmjxwsa_-qj=!v*&YK7V7j^G!Ex0C23g zh=_{IpK7$y;;RIF-S1{Pe%;D7P9_N+=An~m&N7K=^D z&tR5`CixC46A}7+Qw8>4P53^h@g5S2y~-i*gSJu!8DyG1;sVGSe;P!75!KNxpNR}) z&OZ^jOdu#x7bdd5U(!o1rbYUd8tEeQ&9-KW0P~wZOpZ_6&6XGfdApPykG)8eb`m+1 zsf>O5C*60kD1S&|-MdE{%p857EHUV`wLiT6MnAtT4AYZ*tvc2GUQ}XXX;;nVF$}l)YHbelqy1c=vfIQZM+=BI2eOFF&+0 zzdJ*b@kX=Y9BamA(#p`ze`zu^P}+a-EO;YTQCg zMHO(!{pEOz%Zaz6-tFy}t?*6bnR(xeEPskeFMp$SzTZ|}`GQQza{N8O)rIxC!#wqU zvb^DpInUZHZkD=t&$g#SWa7Yc_J~X0oY5at#JzDGBGciurMBHD2eq+V;+U&irtM?% ztac_}YGbq9F)|I`bb0|o`apX3A7ZdsciefuXb*sU8FwslfY@*PU4lx&Q@G(V*XhGa zmw$DRDEKihhb$3!Z*;`h3-kHPhy1A5S|G-{4GiJ7(wK*w8@<7F-YTD6bmf8?IM#y`$lxgh#3hCL)l7%o{bQLMrPL(c5ogQ(7L(>VN!e8KyR~y{3Q-vbG1fW(;A#?v|k8G>;gbY^4y* z?++D$p-i``!6t5hn0q^B`8E-sd&&x3wut5?qm}h7(pI!RbfKWJu)w#d`V=)MJ zP|QD|Hy`@P_j}M}Qvhg2bB9I?cyeYVt1!e9(#wPfV2v#s$7yp9!rA!to`16PbjZwg zisBG&*8@-3k_Ve@n7?V0I^5d!B;4FY4I z9wZlZ+y`YFRWD4Nlm=egtAkbNS_#a|#58lz)@M`z+-tL_*QztWo7#Jipfwf~=3>67(*~Q;o=sD&b5g!|I18+y{ zOvd8F0j~3|!?a?kxvk4PQz(bbt&8KS5arO{bx`P=98q+RVU3x2k)m z&N!5}U$4g8GYu@vqw)Z}zD*f1Tls_btM-|ThabzqysbxElUeK_fVE4;^MKoq@ti_X z%+Q`9d1l9eYO~{eVhJ9QyZQJ(g`Hs*+XjEL*D%o>0M{n+#}usro&!V1a{|MvJixbx zZFW5Y8(IQG!5jB&G29quIk@tnnQMKO53)f7UAZ2x z^i~H9YknaeV7@{lTX3`2IjiTp8xQwRR$g7CaPnBAb*M28WXZU*5#%whWuXLgg_ ze-PfL@~Pzn>A`^?CN}SZ*)xTQ%I(dd^|{Z08S1uw%zq|M^V>l9q1f;vpWh6&%y%HH z?GQ(ufFE{KhW%zD*t}60MBOU5p5X^;6c~IqSqbK=!5{}^*cOh%l*?cy4C9jcM{pn& zTMndAro)%yp`kk6^UM4R;P_ww-WlGp#)XOmXYccmga9 z_iZM>X@B6M$qn(_WSq0BhUJiX3xH@E8<27s`_iCcn?(}CkKZ7`o@Wg)vxnY|2celJ zcVMvHMm{G-7`z*r7c-QBjp?ctaI!rI6}z}LA{;z6*(_$fVaRGoyc?8$Q`!I>5C10S z$Xr1lhM{kBK+Hq~3Lkz1bO{dTEq{RtbhtG)5Px(-aj>+^HvJ*QZg}L+vv;s=l?YGp zLqqYQ*~Gk@brLyZnmD+Hl==i?IpAFpVE9{QOPD0V;UV zcEKBCQ?+0PVJ|zzP1a z1?(_`)F!auP_kQ!_cK`>V5S201Nwop5nnXF4bpDlb0>BFW9wjT!yim-tAWb49pU7( zd;>hgfjTqM;k=+hv<1%b0DpBW zm1~L{Bxwk{oq#&i2bKlMh<0xFz}~D7p2-9bx4I6|o&Xxs4I1LNBRpn@3=}>T-_{12 zlnn&^&W>c? zFon%XzbWiNZH9TGI8lap6SrCiol-NiaUe4=*q-H^Qiqtsznd0OGZp^O;dT`K%xGZe z0dBi*cw!5OSU^XD*am8I%71RY*_MICrhGn!KSUMPC%&%njKgid*=uDYQd=TbFmLL<|ih(t4A=rg&LE1Ak(>9R0v4FaXsI zFo(_m9YQq+;0#~bPUD*rHNb=1n&vlxpk*AQjtEY1teZ4K5oYRx>SYh4cn1AM~wAlWF8Vtbb=)4|w8M4)xop{?ptHtj)RdIWcPR+)!Gap&ZWJ&tj9jw4qj- zluw7k?J|JLYzM)5$e`+L^hTS&A~1@tt;_njZdz{#Vy<5l2jZ(wsfK<7 zZJFoyK&ZpGU5Md{2jw=fN#QbXGOcN>2ku6F@%#*hX6%u-^eY=0-AoLddEy8DO_kz@ z2elw8=y8$E{%rlhTQ20o1L<7q#b!f1q zUU^Wbg!ZVOe)AsST{a*T4b;uW_RN5x8T}eMPE!8C<6Vjmy^;yN7C?H_6w|-p##uDn zVgA8-e1G5o&hI6C4E_NqwJ-gk0>}XX1tI||+ITZiAb*fb&H)#|JJmM`lB0)(RcbOs z4=$Xdq|^Xz$K{x9>VSXurR(9ya;Nu<;@E4%W~Ub=0=Wt+hV>2@Om zIvO7&ugn#CKh@8Jl&VfqmP|A$qjW$UkEGKWjtp}VBsl_^8ZVPf4LSwH$jq%6X314} zDWVl=aQ}1`17HE}l8Gj0lr)$#RXU(8*?VW&^nVmF%1l}}P+^GVQY$8RJYn)8(8itH z>rZoGia>Mvf;rx-ZN}jd7lVjsNcLjZOdLFs4%7@Bcoxpj+uz^cUu(qyj~{=$>)qIU zf5V8&_sfa~L^>=vAw+8E2Q%x+ibJI_M)9HItbuf5E-Ne z*qc0seLko_GfkmPD&kB(ZDu{SnM$HOh2f(72wxNf+ZZ@(?IXHsfpC&ZIf(589}WZ=Ig~lI>nD{9u<`Hj>Z&=*Hkf>M^*Tl_pA*KF&dY`M-sjfl#D8(< zouxCddvCV40|ZcI+tcXWM2t@98i&sRgK$g1YOBtO^{TD#ufM(BITCwMdccQXsuE?= zd;dVe5w7QK$}`tfIwN2+X($t0h&S>qg|!Wl@-Hd_+wu=BS}8Z_sNPw+3H8n0+0OR2 zw`c6#)$P6aB@<1`Ag{eAd3u)vA%7fNx3J;Mpm!o}a%E82Ww~C;O**QUn@p#&qj1sN zKGRQIORj4=Nvvroom@tBws&@d-dS1>Ddg^*ed~Q06?M0pkPFOY$*`{KWPb@05J;{l zJQF89AO_&7+Y%>hX=)+JRDa?zUsbiiPy~+GhupDagC|v<>bQ)^ zzYF}+<0tRI(fYzu&6~mq0>?L@vg!u!!K>XHSl4~4Awb?viMY$da8Nt|T}!y?M1caw zf|&rb(t&VMP`K2O5(gt6cz@&G_y-J55`R&xG|Dd-8uemI<*7F)AGh`?;wiu(0JxT; zDO89#nCpuaQc>YvalWr`1f&2l68Yw^HeIMCp==NVi!ZE%Q{JcGX2S}?nFh$y{$Z*% zV=3Mz@3(Oup;RG7%z0)?)NotBpNn4T^c?`q7tD4pj3)D$y0|rRhmY!1z~FkLSELh-J3-i_&lMT(5Qk7)j1^$kK%q~j zCNyi#eAUw=5q}DOGJyqYvLu5)B7c8uE{A*$W^1pkOeLfP^=?~VYVD{#%vqnikkzds*gyaFt1%}iVRd_CN~OQ+8!bAM{a{bOzK#NrSyBD>CX3Z10n89s|W4ovUKM5zEPeSH%`g_!fAm#S7uc$Mp3pBB7xsmxY@x8hWB+ z1;BTTk)CUQ*0z#51BWOXL|=3OE~n3^NXAo62FoyN!HNMQM7?I(I9IVEZ*ooBAeJD> z%6iteeSai2WiMtFQLbrQNkH+9UM$Kz$`Ri%j*@!VSbIR3xY0x6uc%{h?C6tT?4@e3 zI`W{LH%hN`pU%3B(X3Ag=Xho{@m|3Wr~)Eo%SxUpTQShImy$@dWn~Q|x`*IK0LMa= zlU=V4c#x#@ni2T}(l8)8)#3#>sT|}9Wy(`nu75vvi?}~5kJU!H8$$%?mF9j=IfaIom!*D&yLRR*!Zn6D&X=}o6RRw zn>B1m2&-edE9-{Mw_)24Qv9Z?_C7bUb$@uBHg48jnkQMMuh_tuXnovr(yEVoWX!yq zr%F&}zxi_W;5b&AgkqMm2*vbZ2U;LL&;@Mm{Vy|XkP z5)Ic0ro3&a7z9W)VrUnV4cyHJ=p%!iHj;dMe#EJs=NR1OLLW&fpItfJ?thND)|~I7 zHJ?l8ie35Yw_PD}h&zykQnHr7nk}O_`mU|x$`=+f6^dXZkSEl%$$=qZf@R@i&KKD0 zxJwA)qBtgbp#_~!RRNkvN7D^LrCh>UTr;o`E%BJ5-WFWX9fGXO_r3)3UpGk12?}#^ zQf26>$s9}-u8@C!NmYRB{C`#qf~yqO$Hi#vDgEQ!7jmNzJQoHR@7TUNK9+yi|1f-{ zAF=WBFEWNa=L;q2i<|sl7DZ4;CX#cPjoz1BzWjRa>nT?>$$*i^15d_qtIiN92bQ?qm(-*-ha}^_AWI=1AYab zT3(aBxN~rELtemu!5u&&rSl>IvZ!Ca)-7YPy={Tw;JGzuc`7^>$78Fg;x^}U+t8_0 zo{GO}iAWnMK=%lof)k0fYC99W7T>h}cy+|G@}YyD@L4{vv~b9^u*YK)E31QhLJ^7F z%4+V!*FPSe&8;P&2Y-BpY72LE%gK}H-x|B~yG-a|Ak3;nC{DG_(nJbJ2YW*GD1jvn z*b|DX%Idpb{;eLD>gG2f(AbaFlA1m-3?sOLjGziV4LM}&aQk^9Jf#k#M~ zw~nA?mpp1g2!a>1_9j!&m4#0=dHw^4@nF zja(oR+#MpI6G3luKb({T{yT|V8CjVHPenmlSs9XoxDP_5Qio8f)FNP1HK*T-AHJP< z@NL$^ZoI&)-+z}f3I4u&Yt7K$8@l8S?d+`A-?6ma4}VF)?GX#NjisTb*`=kWQHfKy zeHFY)^}C10{y_y14`_s3PF#?RBmOFa%*2=x;|OU<{Gr8!Sx_16hw@)nV2{*AZYnG4ub(;fG7|I0RRF(005v606-WJ3Wy9h9r7I`lcvsL7^6>d zt8M;2rC27#8`jXsS?`GKRKpo2IyR*jb4ghu1`jZtK11G4= z?*WTomaPTk9Ru(R0Y7_NH@wRUIA>3=7fJ8K}0`yltVsaqI_*^U$Uj%V#crF`%< zzy?;qcT%^RQ!W6Q1{b-s7Gf%v3dsd91m_(0!Zst!nDcw5@>Z*dI%wIJ^3qhedkZKzGX2 z$o0S)0?=lcSSoc}5u|N=?fvEKj8wgB_fKxEb)y>Gi|hVu}u- z>$-zRTdqdS44Zpd%bLV?w@zNvJPrBx7y83~N13AiV4`!&F^d|A_R5lxvW!0K6`_Yuav=7Y$k3lOn zrWWgMjR2a`Wcm0>%p4GM9e~)gr?fq`U`0Dq1w)R5 zHszY)N**_p@;RQGIvYdRZJmSL8%nn3ij6l$XxHMBslD&jd>iVFiC3TtA_2HO`P+pT zg_He&+xSokEDzUr7*iI-;7EIM0{yT;g+p5dfc9nNlKp*ER$alW@qbN-Z&GgfxHK`* ztT7lf0cYA!ly|YOaS{f<@^A2A)(LTC*6t8%J$jmqROxj42t{~oO9MK`om+En8ojMm z$=GGu?D?1Er5yWlY)X!f`w1G??;@EuAh7Ju}6L;@#RfGgOltrwgSSIYj`Bi8`iVZqwY;Yr#GvYlkY9#SlG zcc@4cf=uCEN&F*Shp%p8Jp*R&3eE&eCf5s{EUvd^@2uZ9KF_?7{?hUu2CV}j?jumu zme84LU|TNkcc=>#?Z1zbE7bM1h-fOyj!?y6 zE^@mSTtnBZ(QNI01I+6&6GYA2q+iWe!Z?(2yvYL#UQWB>i2e6pL#E;Nub2|2eTtkb z8cR94(luUixPMpBA|Tkl9z>VcF41HhSLT-gmtEYZ#SWKY_-*ka&*@$XLz!JkvWaZH zK-?zJs)gU8yd7-d&xzDc$sY|76PG-Ws|5-NRE~BeI%^(*lXZ<3?Wjbco^xC7Q^{*J z3!HQYIaI%2<;9ttm>js`kC3B`Bbfg)#`F4BbhkC4r+=QO4sZ~1?H0m9+JTzpWWLK zs6KF{a}2H3!M2v9Gi{z!(L;xp`!y57V4rh2kuJIt3r!g`8vPB*)kv?ZiOTkrK_7`$ zuoSk48h?25B$4#aQ7&07HP8H2==4)boi8+pvVSXr-H1)SDN>~APoAzT_uBae(b%TZ zfou|#SAU~m!k5W6E6yt5^!?wkIDX;s;g$7jNT4E(qrHk*?8+EQ&?GT+3ly0B#8fWy ztxVdgo}Anj*H|2q(!A?XApPka?ma?dKe2*Vc7J0el+1kD_u$xnqB7Idc~2pmj)Kgh z^J;&J!E(feTAwio6?q3ZJpzEvK|+qa_a!wbWIFhBZ23ud%%8(5t(tf>C|$Jlm*wA- z@{ae<^fy<7(l7&KEM&#VEsQb8jHy&ooLvK@%+oxbj zS_G=bvxTAf5nqCXSEE9JEV*mP$;>!V(|7~0VllM2Q!F?K#4E9}~+&AhR#148vBXvp$GZr0ZZa9!Z8BN^l zdj|Bf?V>jGi>iKmxMD&1@Oyee{Mk80l}<32aEx9SoAR8SQ(u@0ed(4z z6ZDss1x80bk@<~DQv$&bl(ivpc7Gx1`o&g8uXLsBW{0IcgH$%@+sAqFkm}S{A}~B1 zY+40^Tjf{^S^*RB!#YxBU98IU^RT57qN-nH(V>)4(f452Z`!Gez79 za*#`wdTkvF>?+Ii$o}xQnPvhy7z!DfLKW(aV7;z5OgSao0@HU%1~00SPiucmh0`1l;kr~J6&qzeEUpq`(ZSr zOSp|L{oe!d(_`dCv~r!7p@m;mMd22WU8WTqZ9dFUfkRz z?Kz);k!$&#)pD!qVlLLvI;x*)1jN*-gHG*`-`wGP)hXA;X;b#9hkteie?y%v*YhvN zvg-%ekR6gfWi3yURDQ15!!am|lK#U4IuNTt?n=b3ifAxWUu^=kpAIN*pimtaa?mBU z(ZH-VfN4u`*)1PbAq%t)sHJ!k3?q6yIy~!r7(p#jL+o6dB+6h?$;-<=p)dHlkSo=y z+G~XZJti;+iqiFPTB+0kJu=A%50>knKvBDXtxPom8h>Js%!Szwh4%X6NNo0eG?DG( z6CJeJYXV2+$b1|33?l=KLulKZv~G=#RIVB}U+@ndK-CSTmCH+rwY#PygL*Jlg;{0} zIUC)fm#DMVgF9S5GuWLHwwBV@V;R*i^^}r7Pjo0C=E|JDw6P15HGy!M&8L3PV&Ish z5iYI{zkfk!n(Jf4KsTfhy*WK&hhO#Ir?-8Pj#c~|Ne8efb84MQ&u*BlP8Stlzve&| zZR^OHO$m*MP0zt7_O%Qu@rEZ+!YrYBmDQo^QoKX8J$w_m#0XXgSi2olX7Dd-|Ep5H z1I$2;Tf7^NrmUaS8k2U1a^6PZ4;@UAEX2;0e}B567&Y6PpVu}N-!?(*4VF&_GG%<@ zSsaO5mG-~=xN5piW56mo_IF&o&2bw|QK|$7wZ%pup+lmhC}*+5I)RA{QSj(e_!r>< zYE$rUKL@$$^Ig`*e0>)uirZ&%QbVCocYBswXHfU?#v1poqvpnkXhoRyQKj-GeEn`u z?SHPg<|TO@4j!yxEtloeqFPYB^BJ8XwR@PY(_t*(j=%*canqWaa@!L;1ZrVyD^#Il zVPwK`x84HvQ1rB^RgTC(qX?hMOkcvx`Xq2+^aSf)CLo#alYH$ z@_8U2>7a7suvw^L=F{3Xp-<3D zUuVEzOSq!y!8r;7YD@@{Mgc%-T9n!P6UNNe5s3{i3JN836HrV#6l#;;93>D)7wpbz zyi~gc7`;PTH83P{0ISyP4NQ}_rlwZ}9Ui^^b&zo_c`l8T@$TL{JgnE#h44fC(tpb( z9R@VtU0sd`IT)S4V;RCywKk|*oqz(ZXB7>ufI=6YQZ)kq#)R9{rv#V zS*YQ~dP6V+?>d+TQy?>z{+&K|Z zu|B?J4QYW6b=u zxmH>Cmdc`Z3&?%bh+unPbbnY$$MnmkOPem<$K~A2vDHs~;~N&gnz{yb18ktES0vh2dUg{?<7ubzg5H>Q7D(Vb@$7cBJMiZrGY@ z{**4okY5+cQ`R?>C3NVxMvjYOSAw~()TPLq z;Hk`tt*%^miuTl!rCwWy5PlX{P^W@`HO2z7l{RCsk`7Mq1U6+aKw*1UpHN1`TRU3pr%Hhp9yS&MK~ zjNT}BU@;z})+5N#_b)<UT%!&Zjp=XFOTC&3;v>YT0zt`3#E&w`UJzl6K^4uA|?Fv2-Tl8b$iXBLUGfQ~@o zSk_hG0&^jY1iVo5JLx042V>+4Fw1>oMirb>3veUCZj2&SRx)yus{>UrxkVxy_25H` z91YHNr)qsnB!6re@SYbuwS}Z%5JE>E4#dq8|JOHeLWYqXFpH~w7$G2lCw(5`{-&Ry z9Ua(tf7fTXD0%iwEwD9mgiVKkY-Ot6TaC1!LxpQ0VM#Sei(>-Ny4KB?nCCW-uwiQ* zKE8^EIXe)_@w0-FaSL;T*|sKbl+AOK?e>Hzo<5jzqkmo3Yf5W;z05}74hg^KsbFg{ z)#RRH;GWyWWmY99-W55Rrv6*2sx3rv!J0DPxNwa(udPBOOFEUE7eZTXqWS&aJj0$>6CiAcRn-k+O5%Jp7VdfY2$SQOe5@6& zQm)N&gnIpz@(jbzJ0va&3W}6#7F_WQ^QC+hZGRT%`o7u}91`3j->xLSLDl0l&5^(B z6HWV}9JeEW+E?xU`TI_*#XFCK`TLkEqi9$9G4>kvcNqLWwiL-|HH+2k zLw`f>aw}$z{=_!y#C*FuUbY^lolqV-1Lm(A-qMZ!Cl@fJmZwlP%Qb0v)?%jr?Kzs` z{d8zk{XOqsS!4(8oVK8KHJ|Efy4=JL)AZ|{$c=8Tj`wY&nr?p?hZ&5=qnT<8nGB0I ziM5YxAb<^!D9gf{+7KZ^dTG~DW>gc3QxD(-lXlzDtJ2luxsYCE3U*v=8Vq~ z^hV6DD3Y$kk%TTyYL_cs%f6!91k z#~~QeJw?#*qVQg$#!k*z4N6wXtgAUfBu-4nQ^!lw#9WSWTDO&6Z%Q=XfS(&>Bs^)6 z1W4Z6@nypw!jh@YRW%(j{^mj_Du1ORPNG*9}nnh0P|DV$Q|A& z!tgh3SHB4;aoky+;I5{>!K<VQOgunF%C(xzeI4q-kjDJkn8tf2V zu#kCj1yofUCy2ri?v=!Gjft5(7b0EX{Fw#f)-Q>ll%Hr@KV} z_PtZK_qJTt{7B#?`Z)+%1-2V&1b{ezQ0uaWV?G05u%|2zrXqmp0e|F$IW&Kfy?sY}f%ee@I;b0000000255 z(1Mx~5pMZOA3P}5FJ%_!;u30pP^-c;GFDUTj(he)nmja>z2FHt? zoHW2TPEBJ?oE-vN2m$fZuu&zXnwKxx0YMDW25|*kvW0HZ0apaKeAxjx0RdCDw%P$} z0|EE9BHjUH0s-!qhu{H@0$M4T7vTX?0a3SV;Q{Fa0a2G!HyZHq5qQR>c}OTiVXH zT;B$U-W@mC7Yxg3WM*17s?w{unMP*DhO=LbdmKj>cX>${w|%bG9mQ1271G4afZl&r z!Y<6VzMsmLpx3$#%VXsj){w`B-CXZAhTbUJkhZmvmt{%UR*v?9-bW)dL$1Qj`$Sha zct_Ucowtn_ya`ixTYdNA{zC2wRTy%s?~-tTr{iyXs}yQ_cIO+8uO*tHqFAI!GyC^{MMl<<_FY)`q9J0Y zh|Y@JYwJAMw<7mI*Dz}XdSeaw-Pd5~ZR72{?+ZE38&{tVS*zRKec{&f$PV;ww$A&>KZ^W4&%}2VT_%v#nXGM|*3?l5>qEc{#H7UP~suZpohwS)hN{I(2x* zTauUFiriSLS7G-m>^7IkS`}`quuHANZgWz_F<80sYRF?_NP?FPYsxX41n+kT-jWo( zk1IzjUXrxpu=2AvW6X^8#*!vxh6c$DP0S2AUT_S#?PlyIZ)ZPM=#^FsOLDc{(N&ID zv?>?*M!L9gZqfU=)Z-;x-eG^)3dhyP8gFa6UnpLNFHdBR_XURBqy1c5I62Kjn{9M`Dsi+mSA?Soy2g+kUEFAI>xy>d$nAo*1n)SyIL@v{7a8k9Rk;eut>uwk z%lkGK=!q@ck)&;Hu9ipEl;OvL9?KhTJhJp`!mwt$HWnm*jhFLE(tdYxV_EXDy6Xy6 zqz!3XTX#$Df?&vzUUz?aN$aV$Ti#f1<-M_Yv>fP(+a>KCxh=*DzfcUz^7BfXA!f+W zM`FG-IauL$#6TX}E3 z3BOf0+L~!(W>l>4TiTIyd7T}%YZHzoxy=GSGG@P9y1tN9*^Pe%daCeiW4F(?#tg|3kR#>Js8`8Fh-Lmxs!;jm>TVAphTemE?ShuxYEf4fsZ{roWOVAaz z?ACSm^0V7#z44Z|mE!EGbcL>(m+OwM4zy#e^j==+k>Dja^1Cok+-_+C3wBgj;vSPYO~}0l6JgbF*d4xxhC%?wk)}oE)n#; z*B6T!f)s7c7uJw>tSQ0JyPfy)I+ct3Uf~i6 zr6zC5jp1su;k=T(FOIVvXg{&#x?$clOrU%_a=LJ8%0e$nwb1-qmEdDolMp z*Emg#%vOJf5aDr^rn%Sp^=#>ZR_s~$IE}trnZu^Tgln2?iyJD>Dyvdr-&iCuqZY>u$jS(|sd0C?^J8zmI25rrf?aoVWoVW72uysu- z-tMs^Pm%ZIV%&DeaCKFG_SJc<%kjR-usmkbS8KbZtr5SStMopxWgl-h zhFk0l#qSo6jM;It9_OuAH{?>6t`PJ(@P2=)?YO$zaYcSP@VdSg=yjkKVR!Rfsh5PJ zms%WIsUtD_iKN$Uw}!Laq6NvYblEO!eLL@)>?~(fcQLPNh}djE@4K88$9?mwLRfFC=ZexBK!+&Q4m+ z`?wf)$<-<>NiKB_X=^}R!-2Mj8?-f?cw@&dwb;7lww11MD_v2>)(T6~#id#)@_Wb9#=HBx8ZLkJ1w&QJ zj@@_3k!4Hnmf>jQ*|8+Skej?@DB9Lml6Oo^mf&r%F1cMWRH-hlOUw3ISGTpsaCN&m z%c<^)yfzhG2UJtb(}&P|3%z$jClo0`=@1AYgd!M}5}H^-CuqkTCUabr8iy4O`iKdSx<<(-^{rTYZ>tT>t55t9zx=EgmnW-U|LikW zD0*yJ6XU8!ajW`x&0TM8?y_f=#yGv~PfFWz-Lsg>?{5Sd_ZGc4clmnH=Cjx)nKyfU7#2>v5!RPaE&8K>d&1@x zhvV$ML{CSj6zC!)Am!@k+2?(s*A||B&9BA34bc-*wfmnmfYyUPluWtLbm}v&4&b=JH zTt1@zsrM;bvV7!v+__Ro$=gg>|^zs!Emaf>vtymb-=dZqL1K!1E0nH zW*28??|zo{hg}+AYn9#snF#;gjo%wR7Pwnb8Zn}9PwAc?Vz+9)mRZB~uBXeg4WV7N zSILa`va0n#JgD3+MAuzJ>`E~9MxQPI%iaKBe_WLaurT31oOwi?O^?HE*Z9Q0rXn8n zMZpoKdW^?Y=1u6=&9o>uH3%38@}bHC83*}sJEK+a0U7|XWHl?Lxf+&3W`|url`TkY zt}rh;z|msVRNd25qyFwAnH^o>kerzl+||%=bhLiZOv3@)59xAVf;n#j=~g+x1^Rbw#O>iEJL|2g&UEI}S zqi;v$KTq>=bXK~{>-E#C4z)L2hj))$X*aVgXuRqsO4`4Q>v^y8NQ}&kKB&g<3aIif zWf=dZqjnTMFmj%@mZc{``NxjumBNG(>MV2A%972J`0{Al;e0r;gqAjX zj&?I^-<;-^)h0g|jSAsrL>ww`&v`K38>>CfWBEj$ug@D;Cdw}b8Q8hu6721E;jQu#o&%y7)h~2^OLI}oSk~uYc zJynjeKua4>5=6WjOcFqJ3?}g-&TXd3GPF@40ERlMu5dpBA-$O@6KG6!T>s5MwOLQ) zpqj4#mS()5y-eTdr>%{B=e&dD)c?l*HOw$ArQqsYrn>7dI=7`(!7H{4QvV}d_@VIQ zZ09?6nyNl>XG>GL50N)n1i6VckPoU=G8}~pGp$9lmM$;7+Or6R{3J6V(Y9A@r3b&w zU$`Uk@yp1E^N+0~A4K=P^wb_qtl0}dY|Y!wAnK)M2O)^DME$u|Oj_h`pv}R^t?dp# zdi|XdKeETsov9O@o|eZWK2O7R{?ks=o(d;%1$|q%SztiiZFBs;TMOc1w>qT95HXt5#|aG!Qmo4xst=w zMS}8j6-JFXj!O5zXCsNqzOOzw3XUj@e3!uxUygK))Q^;me8cTJWD5q<*=S~Edlpz& zN0Tuf7xbU~P_m{ruCfnQ}f~()6y<5F(8+=NnJjLVB z+t%PHSrlwc-5P1O&n%|m$7)MA^updR*4~_OvD0_EV=@n-`JQQIST1{1*%_*emJbrj z6>2YGaQ3-9$oG^0sbyzHsxq2YSF!3G6Ap%56TEm$j|kH%5&Dc6hw?IoUf zMP&*9%E1Q4oM+Jz0)1{j!tRvWO82=D#>2Uv^WH5Yt@DCk)AE%@ZQ};S$RM)XJ+Qt6 zY13ZnIO{sn=E|n|+X&03O)HCtb5}Nt6kIIaEa)ixucS*bHFX8`Ai2NHjIa+&+hIt! zRxn*UcGLWcVAdwc$-)6CUk@$N!QA?}KZEK~l zKw;eZt-7f}e-T#@onml}+A1~{_TXy4~$b-aF|b=y;sc2VDxC0|4c2qw7Nh+1lUaWfs2Kv zsk&+8T_kzeays*lg=SVH{HglAa=xIFP9z-c9gy(a1%~8LDJc5X+^L9_Q?f^fszqda zk@DvTh;)Z2`Dm*`LE+-l=snRs`pAFwlwGye<>FWQkFj)bv1zM;i5}T|UJ>8r2xyg?i%GZf+k!&&G8hNgxvd~kCZqt_!{vp3ZZeYOZ#3IQEbKRKyB&of?Zl! zdqdyR?Z1R0)I5zlCml)GajvDFH?NPnSaeC>)9NbCfkdjwckZ35dy#v-K04aB#x87I zx$^)dcB4{kx?F79?|LlBI0Jm;Pz(R|^|fsi79IQUZX*<^(|)hoEcRoes$_+srastx zU+Z8H6#g^+?Q3<(_IqN}c`ZpfRoo+vcVz`9~zCFo9 z$MDca*2pTy-CQO)MEuR82AI9?MxVQJBC{{bceTs?cB@WMSJ8`bN$qp0l3EuB3Ht)o zezMqhag&~|{>{pxa=3n9c8H$-d%2OfLcq=izLX1d`Gm{P9>Ds_i`l;Ft4EXDk7aUX zTugHGL);Cc$8`O#5bz7nTNjTX-jUw%?Bjc--T2e0@AAOHcThtnzXY-3a;mvsp*yvW zk0{;3V%@Y42LzXBg#4H+|9a&}>x>L5{(+s6wABsB@q)?n>jmGe5>CwV_bb?-HE(A? zoo?y3>GXA~SG;}QSS0@RDaJea+?C0q4#O%V!S;t=iO8)-2YuWTF!#l82oH+gMjzoJ zgaK{7$oEQM6;xn>e-Tk$)&@rVYemrh)U<`SM7AWER%vwGb)58Tc{I}aB}f{#Be4(C z;f2qpns2xCL{`ZiyO01=7Tc2_DUd$3^FeoxYnU&nP-z$T7pz-;AViOi>+-#rt;$Xs z)A6cBJrk(LbZ9)%>Axk|`U$b|tU0NvQ1fxc%2&m9;}qt*yTki6mtw=+t8T=$kA9Wt z{4@G#MeF75o-R)riw1nSF`^M4u8FM{e1KTftxan5_4o1JHuOVR8NAJLuk`zs57dQC zEqL_-zBT5xqxg7pkl?W@5cS;x{@D~`3mg{SB0tiFkEyoI57PB_&@;HzgMKxafNo8E ztI2gvi!}VPV_>WD@-_v};|!aOEDHT}x3fgv_Bff^nQflo+wUam{xf7QA6u|lez7k^ zCkG$XlwJ+Ju0N#Zp>_F(E_+B|qnmFFAMjl-7#B!k`*LoZ@I&1mT#J5w(H;0qpkg)i`Hzd*z20;I-Meej5-%k%KePh;zhb;Fwd;^&c*a&W!<|N%42R;@z!)=K-PT zpeb#M8}G8AR%_A^vpJ1`q1c$np1&n#BhaM0XZS~wh9vPwC~b>Bh>LJIj=zx;@mgHF zr5zpOiMcA?!C7%9d7$NAh$hU1@nEaG@#kI7o6_zXZxHt`PJVF!g<_sx#8+srP#gOI z4*4Io`!C|FbbTI=hHhADy2oht_&TyO2HYkk-hY5hBKa+#+m=hu;jxuRtBc@1zl-*3 zI)RiY+qX#{q+@Jn(;9P_2|?_(_jLUzg9AF=)V!va%mU_4@rSAX0i(i?+EmYXj~0*J zj*CN1^Pgxr{(AYG#ndUIaVx;mI+lqqf3bj%zV}cZ=Xpuj?fDkr>2`eeWThVb&d;Q( z$~EnPzQ@#jq1YxrK5U>$<*PZ}j2w6Cc}d;Aq*q!`2Yd{n(;>P(FTpu7xQmHvr$}E7 zTdhste0OWO6Q9Gc;fs8{no~YMT=dMhio~~#5aQd@LD~V0cY;DHbbO>nMDaQkFH!E5 zZB8K8};2(+UxmA|6>jS*iWVCOCr`kpX25 zWecaRp3kG~FbN-h2_2%HSobDT1F!pRdj)l+s7hzM9c?dyXUQ?&1#ReKH>fz*$#p&C zVhVL`(%K5jo_$yYcppF2~{<(x`P#^z6Fsa9A-muT#vLkXxrUELz=+dfs ziv=)#SstiUc{WsIoKdbZS+1>-vMnxHS9yhjbU!%HE>KnZBrdYY+#{gK5af5w^0IT! zW|7dRB6END#Ry-VA59d0xb4~5g>U41F`r+J5(a2VImF*!YRq0PF`v<{>t%DGO`+z(A-eG6%;wS z-G03F=lB}Ugb!H#pD@52Ag)twE&|Y2uhOQ1zErkPNdz2dM;=ui|Lb(Cr)yi6#N7H? z-c;8WA}@lk#)<$ggkKzJo|1IbdNgq;Q2k+{iTU(qQI$5-FQM6>;UNXW?#!|i-NT@P zSB?F^<%=$TJ%*t3tZ;4#9XQMvee+3t7PzI`{K3`6`WKt16p$xFmG^Ywv_T zZ02mRBdJ;B@Kr)tnIV!z0jlio&xoRcIRJK&?f#_VK>bZby1WkNJN zW9_xp)0;uXKcBa}Lx+TY%ioIh5FC4wjC z-*m|fA9m^Hb_h1%TQmIaynA~4A=bO zzr61GuJ`Mu;hQ?C$e$ryTVMB!+lsg+|HT^q3OU|h^=lG1uw&UvT;7WZy}yxC`>AMK z)A2|E%JLxDq+Nbj6>3Sfd@k;Kd8zB?m4Ms!3>fI?SC)b2>!+f}ms9HlCE)#j0oyP1 z-BSPGd-bgK`Y+!V*1mw{5b%n8QDa~t5*5a>&aE)VT%O;Epsxr`3PN#@-hQNNmt(gS zgEn-A9jZQ6U6o0z_ejim*3xAljkzGDcVcZrc=EpM(L$QxTg7KaTQ@DLgrc7d4;bA# z;J!8dH90Kh)?Ntu9`__nkXyjxPk#I5%qwx|9&?3Hy;IYl2kwpCJJc#1dU?@&_wLgZ zEnCL+3-c|>5#bNayW}at*6pA0710k-*r4)(_Q^@H>p?f~aHZG1>0Rk@Dd;G!l*O}E}x{FXEt+w?;9g(2te!L^PQi({ z1ietr{mi+$)wS{=AO5~QxqS8Z1@G%Q2wj$E3~X^0@ZMtW9;&uhe$q#O^5ThIwLwIO zgS_EcsK#WMp;XK(-|IO|82#_u#ZNA;b$(#sLf%w2;!B;N3ib7G2K4*2y3Pl1tx3i8 zRQz}!9{%}{{<)i-EHQaXB#Ohc3>ebr_uB{BYn>W4^Orpnwl1e`3e6Bg3l)Y0Qk6e- zBI;$5Kgz5UX>kWsVC;a8z4J1F&EY4DJyI_ayrv21mVkDFz=+ zpEC8^mTf#1gdPccrr;Whs-U?UdTt}c@gl_08{z2nY*!jE!C}me;_{E@3hT>!NX(?B zQ;3<5VfOwM72Uv6VBmbEo(^8yZAt>T&7aBSOJ(w*nbm9ZfVvBUY-Uc9N=u~N>>T`@ zV4$5Fg>CE-`(*9isD}W216s*9y%@G}CdNglf4}a|&SzqK&&ST*jvc^!e0=C+QCHos z0QkV}`>a|K&<|jTRr{&{G+j7Oy(Rw^Q=Y~?Je{lBr8usL{g0%UFg!8!4Za<_<+yEX zhnr-x!U>k{VVf~&6vzc1$OT_=z0RBnu;DQusr2f3@3V>g>K7`2eD?pUT~z_2*i|-4 z{rm~X?>kiGx$p3f`q`5aQrf4JCeI5Azb6Uyk@oL$zsUfy1@HWq@jxIKg1ApMfY}CP ztapBp^%3R(gzY67`U>MO)N2>A-m=k}Y2F0?+^_KBSjjcVoJa^9QvxLH86P=q@aO#G zJw{^yld0?ZzqDbtUbNq#%YU(9Q@ka7=Vo~3l;I`Hj0-^`U4F`eA`(={p?=usjfl@H z5j^g0nZgh^TIvaHRzGOhHU)Eq8V_sTVrz;?Hai4kyam@d zvVIP%+ZtlL1t??-ijow+7Ev2H!M|FIBL6%LR(a z1UhAf}nQXVi=)9lQqZjI8jXMI4yM) z<1J%C3<_m)`2mnd>Z*JhQQ{rgW&bCB@GrSTCGI-{W*WKJmzWaiz&QZW_(oH~PmOh3 zURtU!>N{#x7o$kfafbAF^h)**pl(0uZ9VpBvb{q74kl z%o^iME3d+aMrj=;!bQ$~M^3(5*Ev#Bdh;g2V|}u`Ohx`h^j{+ERHd4>34CjG)Mr^c z3xKy|pa`KY7vHu!^~QAUO~ke?z`IJHQ%N_l1PGt2Y}3ZKxw>-$9*r20bvTAN#zYPw zCL9niq_Sva9FoKXe$ya`u)RnjYf%);rRG8#Ik05n3_W4++m>j{=H4z+R&|BDYcCf4 zFH(-~>uE`nQ__OZmB$HCl{Ei>9xG{)$(mHz!#flJEwz%CT24zXrKJLlUl$JS=0(~C z$*ls(sfD!E@HMy-$Z>=}P(zqzuu33^ggN{J}; zA3o+DJ9F>X#@^A!9@N&>7Gmp6R#GC970F79XkwH*!s>^h0yP+yAx}7BTmRfTO5C_81U@2Gt`N)x6z3*r(g%J^yynp+1 zN<)QDdMbh(#cCjp4~3Izsy6JgipRCWUq((U$x4d}%=JB4TieD5+9zA@_%L?xx#*gW zjiZ4FhMRi|oW-xzo@iGLx(e5AsX%J?Q;=dZS_Oj*`T(Vxd=sI67O3Qu??}e=q^!q9 za*rd=Ut#{LUd_3R0E2aj&_ z=4U2&vEX95?!~a+2gYw4_{`p`aT%)|mh!;<7U5aef$0HbB%9f5FUVY6z{rikLEcSg zW`ER5_f5Ys`IbIsUuTb#6(m)~aUt2?lsHF|05QOjWme4jW_=LgkuvYYyNJ0i4nHl} zzBsM4uk{X0Te6cBDMG}Gztq~$6Q}r#=wDNsD{gmv$V#BAhR{>W{ecX+qw$_u9IH7T z?`H!xxTZ*A|18?2|46h8kmw>SXwEAuCCR%&_?@L6utyI~D(*l-vq(~OWy&mdi+O^$UmLG8K9qM@-8XQ~t(eGTB^uMru!Qv+D)Vk$0Rz19K`B{MS zhHGgR(9Rtv%e1{FPipH@(c9-wYt^OGYclbf9onbYGUFnf2-NTJ83z7F=E?!hm~{dYY1vfB~+>6b^8DJ-g+u%fT= zJe;Vfd+KrHU*A_(AH6n8ih?fd8Md8kH=kp{p1kQ^i~d5c`m6Z&qy7M!_8>~qUjYD! z-s|q*BkW_-IqUT3_VD0Ngr4Mg_qy=l_GMj$drOoOTey~6{CCQ-Q+&HG)qJXIDKjpI z8C*}By$6c(uOkNNEUk|ASoFQsKDU_&wbXv3Wih?olRlYrxeLf^*Wu6SDXvGPU0Z>L zgj=WgkM`jEIi+-|u&@^X30BXtNv1xK;PHiFNiTua8lJ|7?ua;Xmg`JcoFSL42dqEH z-?M434VCrc9;+}vYF3JGcR}onzN&@2l8SG4Lf8aV{JGRDTVXwFRQ$RU(yd8SG0~CL zf}>wo`f03)`)f(q6-^Q!x`MSHl@;dejxtmzl6kTJh6UdxzV-VO<~~(^Fv3u~nsSQm zAMwvkp;egpB+vpBsNZpMT!X#heF5^+UR+$uMsPIkttvxzq<7q|tu!`=h5ST#XvE+j z>3xZ6U+wK*#`j+_WnW(Et)cezh|BVD>&21;OFEijB|YO}g6$c<`vT^A->&ur%=RvJ ztX^<(qd3(Cy{3MTdmz9NmZsJjAh0&UwB#<-m(Z})zTsX|dT&Hd+ynkOVM#I^liYlG z;Iy%tG2E+8@0FnUe#?%V;F}Xx`8#&__J5etc|;dK&MQ`Um3XIAY+-LGEfHf3i{^>j`xGiS(akZ@ zU6B>X!?QFizceeQ~=JgXqF zS}Tg;ISR`I%6C3mB}+yhJDxr4uCE~p&u?JhP{#`Dp#i3>sVk1sVRzrO$HL=ZA-fV3-QV^IcmZ>u)EV4&{1ST_O zv;@Lsx>T%<6|uY!8xc&@WkO#C`%%SXw+Z$Ykvi_P#jru6IwOjr(aY}i`kHj2} za9Q)wl0{LrgNasa4I^Vl9znShON!H zSBY0h!io%|I<(S`EJ@_TQR|Q}sl__tt)uI7L+@iZSL~S==1cmV*S^i)x35#`^eA;U z|3aURIDnOKlNig&qxmCBUCrJM_{$T@()HX~-6hrBur38kkZ{7E*}7y}YpGyv7+B#e z(sJfY{RS?qOP;bKRAqcs2q-8bkpBZC~tUbEQh%rfUw{&toU$w#>n=eE8 zTMVF%B*N%*FxG9VXQ#V4MtZ&hW{hQL%(M1rNMpt2o`f1|q>4&KLK&l*$r- zS)Hr~_1|7GQ=p+BZ# zDXM?jJEHTJat^qJr75)rFsxND5#43H9U3;(H(X^(|KB9SGJuGFR9Z)oy*AY_oXCGw zwz97A&;h(;Oxp8`V!Ca}_Okkir&=@#eVU+OMAseozFt0d@E-?H^4_yYB2NIn)d zxLr2zwwbDYdt~EvFDopg2rFwEnn^>i)6i(t_WJto@r0X)3i6M0 z;8|7c^P#fESovvG)DuBhZf`F^vVsg`muoJ5C|GwB6^wdQ39-5X0SQoRB@zDX>2p0m zgwG*ls45~;FSkhV0cW5vpV!J(;kxvLUX0+9zCa4Gt57{tPn*@iOO?(2mT_PnMF353 zd^bcjaKMFmD7!-|gH=r#`&X~4ZZfUwQ2~JlC@f29BiCzk;EMN#0tlM^kI9Wh=7AFndah*J`$q18~^rSaQ^@!NUv z+u8BkcLLVa<0Z{>Q7Wiy$of?LV1gWK+jxD7wca%%D;QC0xe!+T7<4}kEsomGhG4lk zVOF=@|2bg`6qXL0mGXzDOD!$=uFHfP)ap}e0SK!NU_qpVYex5Wznl=4SKQI&D4F9q z|8O7a8Um9kLE$*=7gkl|oiN|7gbQ137s87P9D8S+#g@DG(8C}e;FoNlzs)=bfo3YT zZ`EGFXU~O|FToj3@d}j$^uB?#@&v(|SZUUAc)2AA{5H3MMEge9g*=)PmUsWa2@)Qb76P>5JzDv&4e z_ju*ny8DfbS#dk;aA9a~CaB94lGtfO#PjRRczwYjcYEhvriXisn0zYTO@empmh&=rnDfi`w zJdeg9^MW%Ro)Jnqa^LLch&*@}U7E;qja5k!dE8l5)MHMA2+dEN0h#XWqD6zy`^Z{O z>v1<4*S>uiMt6M4nA^vg0t75!VM%%C*G(RB%w}1vs~4tDrECAogucKma>-;oqWZCi zAi52yX6%7Cc!2DIsp)ZIxIW%{hQpjlO&#e?`)4#?1G3zDtdw_fy7m~8)O*x?nQZo> z`HA+6lto5GKe^|Q?=f^j?+seA!)(C!(EW1Y?~vBlRafF$)~enjK>P04z`)c8J@TbI?AwWQH#Kg4YeJ>dQHuTCmyJquIJBmub}yAP|er^Q%9@h;#-^%AhAH}(JHk*UlOQ@ zw5aY~q`;}mDHQIWL0nXRDB@j{x~N3%;oaW&CFp&d=&P94U?rFhoe;in`FJ$#j3ad< zQGd${mr|UA5#~>~ucWJ78&L@!QE?x+Z#8WnP2)+VpT7@=VPgg1x=4Q07NdVc=i)EQ zq}p92^8AU{8QE-|hA&r=Da&RpEg((LJ(B~w=fkSjsk${da^_3!xCZ4pRN?rL>s$7A z_$tYFHvVF&f?rnFY|H$0&}v?qa8Igmk6|r`A*9y;!gGVeQ{cUdK%kI7pl1;Sd}uXK zMY+jund=Q;19IZ;`)shD_~xJisT{_A)EmwPKoIw;1R-N5yOo>n7dLD=|KF+5>yp3c zf1e5!@x5v=*f2l;GUMsQtr0)?u%E}UpX0FKQpBU}_&3Fsl46N1*tOgO{JC7^YTBdrNZSPapt4W$-!|YXU1wd9)V6_g_(3fiH zLtO<%MUB7V;;+`G8hTYy_Uj_xYKr=*v9`{C zC!_VX&ulLMiU8+h*@C6ulEG3EQU(S2{00Skc*2-j4q*)GJPj5vx`#XGpCVCp4tfOl zG#7efw(aRN0G+zmIKYQLXM3cjUCrwN$im8}gK}H>a$_G9Uxl5Efg@qayF|A8K4F>m zBjIX|{=ew=LsBY_Ozu_)E&Y8u<~L#_l2Q|cxn=?DsENhxIhg6;79P`@g2Lp$=99+e zW5(uuq{RnX#645}vhSUuH=<;2?37wWq{^oAaSIjfaoymr@OYcc_q|~6WV%!rw}5?g zso6ga9P0;bY0V#9coJg)gPOrSo7$j><~gwYZF>pkDHKZ0_pr|h&)U{}FVEFwvjB_XoS)nx0rAkn5Z=)U?kIz@^Y3pH(9H*`CShQ3_+vRvscG?eab3A4OG?u9m0|}P32#jjaQFi3{LcOjt2f)bbx!7 z#5p_S#bp@coYWQ`goiMVAcrzASr7ir3_fNC2M_i(r^mGx#DUlu;s9z32g31*xHMx? zic!ug?9>*0Y6}42aS7pZncDKMm-9K{CbfmpyVXyaipw7$jK@Kzdo`|jZ1i$o@xZpn z?L8-4r?%)(71b&SqFZ-@!fod^Jlf*+2>s$eHQ!{Fo|gaXOE9{j%qc82UCDc>zX0(F zVD;-@cX?VvL>l!rO<5;2biqOJ+$k+E^&>E zkI)7_eS~Hm&ptvUjnItn@S!$qVzs1ubnep#WE!DX$G(qHbGlfuXLaV-RW1Pwe-a5$IemuH$y*aykQCtXLUVhabng)vXt|Xr3mPRTIO*xop;}&XZO;$d^ z%sDe1&lqoaxI`v!qE~&&?@*H+;^7YSfFeBHPA~Eg_KfVQTpkv=ePoZ_47O$lgEKjK z*vzzB)LuG`7Sx`(#`(&H2RncbChvfDJY3U2vcDqDG-F}KVb=YFJsP98MtXpwM)Ehh|$B zp*Tm!6uOFMetnGFvh+*fNVmq8hw;_aU*dvSQ#U*euR7e_JJDRKcE76T>Cv=1$_~vN zN9vU8vnvoa*V_$v2n z-q_+e&!LJfOu0xQ{iRKf=!J!JmGA2|?<+9(|Hay^X6$f4dE^BDfBc#)sVE4D$9s6_ zHtm1+z%+y=bmLeyqCmUbrcmdksPuGyWfvl_BFvnpix=1K{_^8=9F z@Nz+Fvy4gxi)b8cTYBYix+Y*tT~0(p8Ui)I_{z^^Dt~X5gh08xefh~6z}j^vR_h&) zhDBP+Lh@-Ig`<@-*G&V%8_T(LfNy=9f|@?j1Y|fq-5^KxI{0GRCc82DyYTVWSEGQ;*E1k8J6t zlo-)gUzlmCX4w7a6+0u8W)OCLH3Q_<)&L0PMw!W3Tfv|}TIv<5hAFifOjWyqtB)~m z=7T9a^r~K12-QGoI;W?a$)+_9!LIUXfT_(UJ=JYe98f_|UJ&cx6ZE7@Gpyuhrj1vp zmA~Y0X4psb*ryH}mUASR$vr6;O%G`{N-i6Cm*kqYAwy~ALO`+n4^@iqHV9P19Pf&v zG&R>#!DXUPEPKWG*aF3+zws-y6}>eRk1aS*k2QH_2Og}f9P^VGYAX6KMt%0PyYApg zYd%=2u*Pnf>As5A9HVNyt4efC4S`ZYt!F~wzbbm>wfPt#;&#nP?u%$i=tdRim5$Zu z-_38ox2Cw&N9SWflRNJHO!s4IbB$hp(#IzM#cS^UaNpaS@qy)^-Mbhz!MT;&&{cA+ z6avb6k-&Ub!a#lDOf{(CHDXt`#zk(>*UcXWy+qN_r8Mio7lGbg$IZIljo@c0V@4Y6 zrIa%VJhS@hj;Nb&PYNXxygCvyx1i-rD!)&>tYUj4fSt_0Dg}OSJaaHyw~|v2Gbp`} zfO;ZKRbN@E{0X~qq-bP$AG9}l8)%1ixCYiVA(azY=mLG^?rKuSIg_fo&TXwgbO*`Fh6ntkO+i7$L5Ss_$o2=CMrZMKX zShk;wP_axJ>{@vih`12R1*Y7W(@Sx`*JE2Mpu>{ z9u$D=K8Ib&@IwkaFvEh`M<+&yAJ8k3iT)~k#+uv4nj6Np`TByU-G?zzsu4pKH!xS3c|}vL3~l}sht2moZemz zXfo2>!9UD5j0nx?g|d1_r_?LgjiOz(19WSS<%uFZ`Q49*z?arS1Ziwo3C>_q;jhv-g3Jf5cWck`)RQ&j#OHt9lI51T*`S6@tV^BZ$8y zYJW|LQ|HzvjF(ERmP*8wyRjuzf~Knx*1p4umD$RwVb+Tg)>9GI*28q(B_FXgrwQb+ z!;UzP#?wFs>-+ot*IA5u-?^$!^5QBu*qQ=kd;!DK7aaF3rg-mB=hDh*H#5 zVXpS4Vxnm$S$z|E#jV*nGa7=X6^8<*eCn23;w}j=TNm^Uwa(I%3FB|YHs6XZwZvRd3Ub?_t0u!kkF!iCO4d#ngwl{% z%5T7M{UQ%LK_yGRsHPyxgw}S?Z6@_3BQxkHC(I^?71q;VKbbcnKBL zlNqK3l!|E1tdeQLu2*kka>e*}cwDq)NTF6P*YzhJa^|{d5N(NEmhAtpl$*q0N`+2` z(>k0>V!UZ58Tm5p@iAK&j!mrfUi|ue3`eeu9MMju^=R7qG_o?o3LqC*6IwZblCeA4 zASRc<(`33M>U&r!#_b|abfEj?T3gV=ch10FgDHi&#@MX;Rh=*%-V(fJi5ORU=(vbW zWTDofIv*11B1SJSHBl@wQOq|{%rQ~Si068ZQnU}XP903#N(aTz6PMHX^Vk^+(u^`` z#sYw<&V_IdLAdhKibYY1itE-)ru8b*dXZ@j9!#nnOY}?M=PlTenN9@WD-LBWyiPjl zFGgS)J}HW2j0KEhY+v!{o=$D?;NHU|#k-8M*GY+ENn0VV=1XF6*1?h{domxbCLSs$ zU0|j)*AyQlRc>3aQq=(nS2Kn^ytqt~u`rWlmcIXxUl}%1@&xwg)6j{l-`S_B63S^= zl~0wj&#y8dM8=b3E#urNtK+_ugPAIF-ch7X&d!h`zOuoQI{TShzOv?#x<(o>U0Lx+T|Lcjv?T9zL3B>6TzT?LXUEF=SV1<0 z|ENhN?F7y-RFZzWAadb&!?jiU`(cyX1?GmU4aC(N;cA6&wS-9*-Xz{AWHSyj#;Sq; zmRT{rW&CKv)$A+=w;Mxu!zqs)s;geeOewxXRhLOS87@JjW&d8-b2d0F+jDJEE~7Rr zBx%$b%j9SYx!m6y|703%d<>H<{9MS+%lD0|Y4-6@o@tzMRbQ4^U2)G|jF;<5!bwFI zKryc$B^ke=yE^ROoU_k)wK7LK47;J*KkRQt_ebWmvAQldk3Vn$NL2$NoPB8c`zT31 zv?SMYZ4fytQ`&aJ*^6yU+0)X=lV~OSZ@lEMc**bak|rCv!NdNe6aGCD{>|B~I(&g* z;#Zm{3XU-gVpovaZ4Y_jVoHGvih*Kc6g3-aqcx>b72)haJgJEs;(LL`<#YImO3m%a ztEs@`^U|K^G)BZ1x48*RDXf~_QaK(1*C{*M8mlpf3X%`i6wmI*a+C>DDk$CDW~hkY zrt=iR@KR5iJmw`A&Ix8um(J9Xe|A>er=qq`+-mX&XLA}p1|`{NBKdk(3K+h|5Q zFZ78ZPeG)0KyB_Pt|jbzWhbW?%jD#JMhKgoCyQ}lq&p-9vtngtzJkO0C6 zXL%yt?EZKG80A(u-pE_@42c=|RM^VP0q1J&1I&qO%~7!YKQ>HtAkNZm_OjCuPOg#r zg8)ekUgr=dn1WV=z`d}n80)6&t zxQ-hCaYl9n7bK02ulPASKW>fr-e}|e5uP{-2c|#ByNCCKm(}6BV6DpV9$RNl3_gaU zrblfg>Cq<>*x){ra4|w_9=`R{l==H`-5P8--VPawOUK6oe5xWJ4!Gf^JyU#uM&-wi zI!2k{x~WWEG;=CD+GQO6ekkE4w&r@?eHgos#68tiw5*!8(Y0eWtrZbPBf@~&WI_2r zUVd9l{sT8Q?=o>Ccc!!3zyl5b!AAA}s$*+T)YPx|jTYo#ynZ-FZ8PNg25k$g58W~G=`d?nKSh0P}Y=%Iol(g?GVlv5YFde z|C-eu*P~oat?OtT#egjU#?eBYtKhep_H? zm2!LFh@S>hHwtly8g5X6VE#6v`5Ib7Pd_xZVdsFUsQ||MoT==kg zPxk)Sru8{d=BDgw#AgRj6D>ZfI|f&ND5x6N@8VVxr=%xlJq(s8g?{5uRaaQtkz17% zzKcv{t8~=_x75d04aLX6&1^(<9e7J(KNbHkZ{5c1P9E?71mV1X_mW|bNiau8A}-rl zh$~DEkXf2x%*w58iOUfEJ!GV6E&O_tIcQwL@s}3Q4pCkv>SpNd2RpaoeU^n$XDci2 zArC`Tgu)F80*hxS8^7V*3zfr1$Yn7QpQETC~gN0OQ75kEW#j)%R!AO!SJ_^AJ{>f{uywiq zL33ornA1frDMug?H$%it(QsNQA?Ugse$d=$+}v#3Tw~lEIBw3#Dj9K~*cqi9)CO*Z zqaY3Ul7<_g;iOPPp!HR;yE+ea0svRAtt?cf6IKQUM@}|2I*^Tx#>d8H?8C-3xWvY$ z(k#u!r^Lp_`IU_gugS(X^A{J}UDo-b>}+iNtlEu(jm?CcbzTq~TPExKLl(T#O&K;e z(N}D2Kvvs2iywhSf5M`tNU^ci-eG6cVO={f%*Ix1%Eq=e&&JON(_m$3U?r~8tM2Rp G$owDLV;wpG From 01635ecd8a564e16e338fcc5f5262acf7a851620 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Mon, 5 Jun 2023 11:42:28 +0500 Subject: [PATCH 007/225] small fix for syntax warning after 4865b62ea SyntaxWarning: "is not" with a literal. Did you mean "!="? --- src/blenderbim/blenderbim/bim/module/model/space.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/blenderbim/blenderbim/bim/module/model/space.py b/src/blenderbim/blenderbim/bim/module/model/space.py index 2d717927bc..b64ec3a5fa 100644 --- a/src/blenderbim/blenderbim/bim/module/model/space.py +++ b/src/blenderbim/blenderbim/bim/module/model/space.py @@ -247,7 +247,7 @@ class GenerateSpacesFromWalls(bpy.types.Operator, tool.Ifc.Operator): self.set_obj_origin_to_bboxcenter(obj) - if z is not 0: + if z != 0: obj.location = obj.location + Vector((0,0,z)) context.view_layer.active_layer_collection.collection.objects.link(obj) From 7976fb4d094a3be289f7db16788343c7e441a231 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Mon, 5 Jun 2023 11:50:27 +0500 Subject: [PATCH 008/225] Small fix for 1f43ec870 Was getting this error at project start: Traceback (most recent call last): File "\scripts\addons\blenderbim\bim\module\project\operator.py", line 332, in execute return IfcStore.execute_ifc_operator(self, context) File "\scripts\addons\blenderbim\bim\ifc.py", line 410, in execute_ifc_operator result = getattr(operator, "_execute")(context) File "\scripts\addons\blenderbim\bim\module\project\operator.py", line 345, in _execute self.import_type_from_ifc(element, context) File "\scripts\addons\blenderbim\bim\module\project\operator.py", line 374, in import_type_from_ifc collection_obj = collection.BIMCollectionProperties.obj AttributeError: 'LayerCollection' object has no attribute 'BIMCollectionProperties' --- src/blenderbim/blenderbim/bim/module/project/operator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/blenderbim/blenderbim/bim/module/project/operator.py b/src/blenderbim/blenderbim/bim/module/project/operator.py index de60bb9f7a..d4297e4039 100644 --- a/src/blenderbim/blenderbim/bim/module/project/operator.py +++ b/src/blenderbim/blenderbim/bim/module/project/operator.py @@ -371,7 +371,7 @@ class AppendLibraryElement(bpy.types.Operator): if not type_collection: type_collection = bpy.data.collections.new("Types") for collection in bpy.context.view_layer.layer_collection.children: - collection_obj = collection.BIMCollectionProperties.obj + collection_obj = collection.collection.BIMCollectionProperties.obj if collection_obj and tool.Ifc.get_entity(collection_obj).is_a("IfcProject"): collection.collection.children.link(type_collection) collection.children["Types"].hide_viewport = True From 5fc31be8aa628f100e3cc2084cc5a1a92dd82ada Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Mon, 5 Jun 2023 12:09:59 +0500 Subject: [PATCH 009/225] Add to scene properties whether we use relative path to .ifc #3251 Previously it was stored as operator's prop which is (turned out) reseted on reopening .blend. --- src/blenderbim/blenderbim/bim/module/project/operator.py | 9 ++++++--- src/blenderbim/blenderbim/bim/module/project/prop.py | 1 + 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/project/operator.py b/src/blenderbim/blenderbim/bim/module/project/operator.py index d4297e4039..82a763b09f 100644 --- a/src/blenderbim/blenderbim/bim/module/project/operator.py +++ b/src/blenderbim/blenderbim/bim/module/project/operator.py @@ -840,13 +840,16 @@ class ExportIFC(bpy.types.Operator): return {"RUNNING_MODAL"} def execute(self, context): - if context.scene.BIMProjectProperties.should_disable_undo_on_save: + project_props = context.scene.BIMProjectProperties + if self.should_save_as: + project_props.use_relative_project_path = self.use_relative_path + if project_props.should_disable_undo_on_save: old_history_size = tool.Ifc.get().history_size old_undo_steps = context.preferences.edit.undo_steps tool.Ifc.get().history_size = 0 context.preferences.edit.undo_steps = 0 IfcStore.execute_ifc_operator(self, context) - if context.scene.BIMProjectProperties.should_disable_undo_on_save: + if project_props.should_disable_undo_on_save: tool.Ifc.get().history_size = old_history_size context.preferences.edit.undo_steps = old_undo_steps return {"FINISHED"} @@ -883,7 +886,7 @@ class ExportIFC(bpy.types.Operator): if not scene.DocProperties.ifc_files: new = scene.DocProperties.ifc_files.add() new.name = output_file - if self.use_relative_path and bpy.data.is_saved: + if context.scene.BIMProjectProperties.use_relative_project_path and bpy.data.is_saved: output_file = os.path.relpath(output_file, bpy.path.abspath("//")) if scene.BIMProperties.ifc_file != output_file and extension not in ["ifczip", "ifcjson"]: scene.BIMProperties.ifc_file = output_file diff --git a/src/blenderbim/blenderbim/bim/module/project/prop.py b/src/blenderbim/blenderbim/bim/module/project/prop.py index 3b7e5220b1..f07b52d4dc 100644 --- a/src/blenderbim/blenderbim/bim/module/project/prop.py +++ b/src/blenderbim/blenderbim/bim/module/project/prop.py @@ -165,6 +165,7 @@ class BIMProjectProperties(PropertyGroup): active_link_index: IntProperty(name="Active Link Index") export_schema: EnumProperty(items=get_export_schema, name="IFC Schema") template_file: EnumProperty(items=get_template_file, name="Template File") + use_relative_project_path: BoolProperty(name="Use Relative Project Path", default=False) def get_library_element_index(self, lib_element): return next((i for i in range(len(self.library_elements)) if self.library_elements[i] == lib_element)) From 3907ae656c85e0511b026f11f79665fdf80bba38 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Mon, 5 Jun 2023 12:44:50 +0500 Subject: [PATCH 010/225] small note for unsupported pset prop types --- src/blenderbim/blenderbim/bim/module/pset/operator.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/blenderbim/blenderbim/bim/module/pset/operator.py b/src/blenderbim/blenderbim/bim/module/pset/operator.py index 849b321af9..08f890e884 100644 --- a/src/blenderbim/blenderbim/bim/module/pset/operator.py +++ b/src/blenderbim/blenderbim/bim/module/pset/operator.py @@ -120,6 +120,13 @@ class EnablePsetEditing(bpy.types.Operator): self.load_single_value(pset_template, prop_template, data) elif prop_template.TemplateType == "P_ENUMERATEDVALUE": self.load_enumerated_value(prop_template, data) + else: + # NOTE: currently unsupported types: + # - P_BOUNDEDVALUE + # - P_LISTVALUE + # - P_REFERENCEVALUE + # - P_TABLEVALUE + pass def load_single_value(self, pset_template, prop_template, data): prop = self.props.properties.add() From c7394faf51685f92ab5a4d9d649f7a22e3c93155 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Mon, 5 Jun 2023 14:54:41 +0500 Subject: [PATCH 011/225] Display units for more pset/qset props #3235 Now current project units displayed for area and volume properties too. https://i.imgur.com/7dgl1pC.png Also added support for imperial units symbols. --- .../blenderbim/bim/module/pset/operator.py | 6 +++++- src/blenderbim/blenderbim/bim/module/pset/ui.py | 2 +- src/blenderbim/blenderbim/bim/prop.py | 12 ++++++++++++ .../ifcopenshell/util/unit.py | 16 ++++++++++++---- 4 files changed, 30 insertions(+), 6 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/pset/operator.py b/src/blenderbim/blenderbim/bim/module/pset/operator.py index 08f890e884..c796a39ecd 100644 --- a/src/blenderbim/blenderbim/bim/module/pset/operator.py +++ b/src/blenderbim/blenderbim/bim/module/pset/operator.py @@ -144,8 +144,12 @@ class EnablePsetEditing(bpy.types.Operator): if prop_template.PrimaryMeasureType in ( "IfcPositiveLengthMeasure", "IfcLengthMeasure", - ) or prop_template.TemplateType in ("Q_LENGTH",): + ) or prop_template.TemplateType == "Q_LENGTH": special_type = "LENGTH" + elif prop_template.PrimaryMeasureType == "IfcAreaMeasure" or prop_template.TemplateType == "Q_AREA": + special_type = "AREA" + elif prop_template.PrimaryMeasureType == "IfcVolumeMeasure" or prop_template.TemplateType == "Q_VOLUME": + special_type = "VOLUME" metadata.special_type = special_type if metadata.data_type == "string": diff --git a/src/blenderbim/blenderbim/bim/module/pset/ui.py b/src/blenderbim/blenderbim/bim/module/pset/ui.py index f677c9158a..cd05f110c3 100644 --- a/src/blenderbim/blenderbim/bim/module/pset/ui.py +++ b/src/blenderbim/blenderbim/bim/module/pset/ui.py @@ -49,7 +49,7 @@ def draw_single_property(prop, layout, copy_operator=None): layout.prop( prop.metadata, value_name, - text=prop.metadata.name, + text=prop.metadata.display_name, ) if prop.metadata.is_uri: op = layout.operator("bim.select_uri_attribute", text="", icon="FILE_FOLDER") diff --git a/src/blenderbim/blenderbim/bim/prop.py b/src/blenderbim/blenderbim/bim/prop.py index 3aa001bac4..08e2c7d059 100644 --- a/src/blenderbim/blenderbim/bim/prop.py +++ b/src/blenderbim/blenderbim/bim/prop.py @@ -233,9 +233,21 @@ def set_lenght_value(self, value): self.float_value = value / si_conversion +def get_display_name(self): + name = self.name + if not self.special_type or self.special_type == "LENGTH": + return name + + unit_type = f"{self.special_type}UNIT" + project_unit = ifcopenshell.util.unit.get_project_unit(tool.Ifc.get(), unit_type) + unit_symbol = ifcopenshell.util.unit.get_unit_symbol(project_unit) + return f"{name}, {unit_symbol}" + + class Attribute(PropertyGroup): tooltip = "`Right Click > IFC Description` to read the attribute description and online documentation" name: StringProperty(name="Name") + display_name: StringProperty(name="Display Name", get=get_display_name) description: StringProperty(name="Description") ifc_class: StringProperty(name="Ifc Class") data_type: StringProperty(name="Data Type") diff --git a/src/ifcopenshell-python/ifcopenshell/util/unit.py b/src/ifcopenshell-python/ifcopenshell/util/unit.py index 25aa251776..e6f436fb8e 100644 --- a/src/ifcopenshell-python/ifcopenshell/util/unit.py +++ b/src/ifcopenshell-python/ifcopenshell/util/unit.py @@ -280,11 +280,20 @@ prefix_symbols = { } unit_symbols = { + # si units "CUBIC_METRE": "m3", "GRAM": "g", "SECOND": "s", "SQUARE_METRE": "m2", "METRE": "m", + # non si units + "cubic inch": "in3", + "cubic foot": "ft3", + "cubic yard": "yd3", + "square inch": "in2", + "square foot": "ft2", + "square yard": "yd2", + "square mile": "mi2", } @@ -442,12 +451,11 @@ def get_symbol_quantity_class(symbol): def get_unit_symbol(unit): + symbol = "" if unit.is_a("IfcSIUnit"): - symbol = "" symbol += prefix_symbols.get(unit.Prefix, "") - symbol += unit_symbols.get(unit.Name.replace("METER", "METRE"), "?") - return symbol - return "?" + symbol += unit_symbols.get(unit.Name.replace("METER", "METRE"), "?") + return symbol def convert_unit(value, from_unit, to_unit): From a3859385c4c32b80a0003580f0dac40cc9af2f7a Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Mon, 5 Jun 2023 16:45:36 +0500 Subject: [PATCH 012/225] Blender curves to IfcIndexedPolyCurve #3233 Now blender curves segments saved in IfcIndexedPolyCurves instead of creating individual polygons. Also changed ShapeBuilder.polyline - now it will try to store points in IfcLineIndex where it's possible (previously it was storing just 2). --- .../api/geometry/add_representation.py | 42 ++++++++++++------- .../ifcopenshell/util/shape_builder.py | 17 ++++++-- 2 files changed, 41 insertions(+), 18 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/api/geometry/add_representation.py b/src/ifcopenshell-python/ifcopenshell/api/geometry/add_representation.py index 3d226a6787..f3a0fe6b85 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/geometry/add_representation.py +++ b/src/ifcopenshell-python/ifcopenshell/api/geometry/add_representation.py @@ -369,7 +369,11 @@ class Usecase: else: return self.create_curves_from_mesh(should_exclude_faces=should_exclude_faces, is_2d=is_2d) elif isinstance(self.settings["geometry"], bpy.types.Curve): - return self.create_curves_from_curve(is_2d=is_2d) + if self.file.schema == "IFC2X3": + return self.create_curves_from_curve_ifc2x3(is_2d=is_2d) + else: + return self.create_curves_from_curve(is_2d=is_2d) + def create_curves_from_mesh(self, should_exclude_faces=False, is_2d=False): curves = [] @@ -433,24 +437,32 @@ class Usecase: curves.append(self.file.createIfcPolyline(loop_points)) return curves - def create_curves_from_curve(self, is_2d=False): + def create_curves_from_curve_ifc2x3(self, is_2d=False): + # TODO: support interpolated curves, not just polylines + dim = (lambda v: v.xy) if is_2d else (lambda v: v.xyz) results = [] for spline in self.settings["geometry"].splines: - # TODO: support interpolated curves, not just polylines - points = [] - for point in spline.bezier_points: - if is_2d: - points.append(self.create_cartesian_point(point.co.x, point.co.y)) - else: - points.append(self.create_cartesian_point(point.co.x, point.co.y, point.co.z)) - for point in spline.points: - if is_2d: - points.append(self.create_cartesian_point(point.co.x, point.co.y)) - else: - points.append(self.create_cartesian_point(point.co.x, point.co.y, point.co.z)) + points = spline.bezier_points[:] + spline.points[:] if spline.use_cyclic_u: points.append(points[0]) - results.append(self.file.createIfcPolyline(points)) + ifc_points = [self.create_cartesian_point(*dim(point.co)) for point in points] + results.append(self.file.createIfcPolyline(ifc_points)) + return results + + def create_curves_from_curve(self, is_2d=False): + # TODO: support interpolated curves, not just polylines + dim = (lambda v: v.xy) if is_2d else (lambda v: v.xyz) + to_units = lambda v: Vector([self.convert_si_to_unit(i) for i in v]) + builder = ifcopenshell.util.shape_builder.ShapeBuilder(self.file) + results = [] + + for spline in self.settings["geometry"].splines: + points = spline.bezier_points[:] + spline.points[:] + + points = [to_units(dim(p.co)) for p in points] + closed_polyline = spline.use_cyclic_u and len(points) > 1 + results.append(builder.polyline(points, closed=closed_polyline)) + return results def create_point_cloud_representation(self, is_2d=False): diff --git a/src/ifcopenshell-python/ifcopenshell/util/shape_builder.py b/src/ifcopenshell-python/ifcopenshell/util/shape_builder.py index 87d91e9274..27eb25a2e7 100644 --- a/src/ifcopenshell-python/ifcopenshell/util/shape_builder.py +++ b/src/ifcopenshell-python/ifcopenshell/util/shape_builder.py @@ -62,11 +62,22 @@ class ShapeBuilder: ifc_points = self.file.createIfcCartesianPointList3D(points) ifc_segments = [] - for segment in segments: + # because IfcLineIndex support 2+ points + # we merge neighbor line segments into one + current_line_segment = [] + last_segment = len(segments) - 1 + for seg_i, segment in enumerate(segments): if len(segment) == 2: - ifc_segments.append(self.file.createIfcLineIndex(segment)) - elif len(segment) == 3: + current_line_segment += segment + + if current_line_segment and (len(segment) == 3 or seg_i == last_segment): + ifc_segments.append(self.file.createIfcLineIndex(current_line_segment)) + current_line_segment = [] + + if len(segment) == 3: ifc_segments.append(self.file.createIfcArcIndex(segment)) + + # NOTE: IfcIndexPolyCurve support only consequtive segments ifc_curve = self.file.createIfcIndexedPolyCurve(Points=ifc_points, Segments=ifc_segments) return ifc_curve From 1c12a98b68dbfbb07210ff990b634edb2107a426 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Mon, 5 Jun 2023 18:44:47 +0500 Subject: [PATCH 013/225] Solved #3219 --- .../blenderbim/bim/module/project/operator.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/project/operator.py b/src/blenderbim/blenderbim/bim/module/project/operator.py index 82a763b09f..42b8dbb4e9 100644 --- a/src/blenderbim/blenderbim/bim/module/project/operator.py +++ b/src/blenderbim/blenderbim/bim/module/project/operator.py @@ -818,10 +818,22 @@ class ExportIFC(bpy.types.Operator): filepath: bpy.props.StringProperty(subtype="FILE_PATH") json_version: bpy.props.EnumProperty(items=[("4", "4", ""), ("5a", "5a", "")], name="IFC JSON Version") json_compact: bpy.props.BoolProperty(name="Export Compact IFCJSON", default=False) - should_save_as: bpy.props.BoolProperty(name="Should Save As", default=False) + should_save_as: bpy.props.BoolProperty(name="Should Save As", default=False, options={"HIDDEN"}) use_relative_path: bpy.props.BoolProperty(name="Use Relative Path", default=False) + save_as_invoked: bpy.props.BoolProperty(name="Save As Dialog Was Invoked", default=False, options={"HIDDEN"}) + + def draw(self, context): + layout = self.layout + layout.prop(self, "json_version") + layout.prop(self, "json_compact") + if bpy.data.is_saved: + layout.prop(self, "use_relative_path") + else: + layout.label(text="Save the .blend file first ") + layout.label(text="to use relative paths for .ifc.") def invoke(self, context, event): + self.save_as_invoked = False if not IfcStore.get_file(): self.report({"ERROR"}, "No IFC project is available for export - create or import a project first.") return {"FINISHED"} @@ -835,13 +847,15 @@ class ExportIFC(bpy.types.Operator): self.filepath = Path(bpy.data.filepath).with_suffix(".ifc").__str__() else: self.filepath = "untitled.ifc" + + self.save_as_invoked = True WindowManager = context.window_manager WindowManager.fileselect_add(self) return {"RUNNING_MODAL"} def execute(self, context): project_props = context.scene.BIMProjectProperties - if self.should_save_as: + if self.save_as_invoked: project_props.use_relative_project_path = self.use_relative_path if project_props.should_disable_undo_on_save: old_history_size = tool.Ifc.get().history_size From 98f2bd66b6e5223d0c83bdb1eb95b81339e1154c Mon Sep 17 00:00:00 2001 From: Gorgious56 Date: Mon, 5 Jun 2023 18:07:25 +0200 Subject: [PATCH 014/225] Edit profile based representations with TAB (#3142) * You can now edit profile based representations with TAB * Minor fix * Minor fix * You can now edit parametric railing paths with TAB Still not sure about the implementation though * use shortcut instead of direct link to railing edition * Add utility to check if a mesh is profile based or its representation is a swept solid * Fix bug when trying to edit an empty object * Prevent editing door, window and stair modifiers since they're fully parameterized by the modifier properties * You can now edit roof modifier, railing modifier and various profile based objects * You can now edit axis profile based objects --- .../bim/module/geometry/operator.py | 51 ++++++++++++++++++- src/blenderbim/blenderbim/tool/geometry.py | 10 ++++ src/blenderbim/blenderbim/tool/profile.py | 5 ++ 3 files changed, 64 insertions(+), 2 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/geometry/operator.py b/src/blenderbim/blenderbim/bim/module/geometry/operator.py index a82fdbddb3..ac7dbb9383 100644 --- a/src/blenderbim/blenderbim/bim/module/geometry/operator.py +++ b/src/blenderbim/blenderbim/bim/module/geometry/operator.py @@ -738,13 +738,18 @@ class OverrideModeSetEdit(bpy.types.Operator): if not obj: continue + if not obj.data: + obj.select_set(False) + continue + element = tool.Ifc.get_entity(obj) if not element: + obj.select_set(False) continue # We are switching from OBJECT to EDIT mode. usage_type = tool.Model.get_usage_type(element) - if usage_type: + if usage_type is not None and usage_type != "PROFILE": # Parametric objects shall not be edited as meshes as they # can be modified to be incompatible with the parametric # constraints. @@ -755,6 +760,37 @@ class OverrideModeSetEdit(bpy.types.Operator): if not representation: continue + if ( + tool.Pset.get_element_pset(element, "BBIM_Door") + or tool.Pset.get_element_pset(element, "BBIM_Window") + or tool.Pset.get_element_pset(element, "BBIM_Stair") + ): + obj.select_set(False) + continue + if usage_type == "PROFILE": + if len(context.selected_objects) == 1: + bpy.ops.bim.hotkey(hotkey="A_E", description="") + obj.data.BIMMeshProperties.mesh_checksum = tool.Geometry.get_mesh_checksum(obj.data) + return {"FINISHED"} + else: + self.report({"INFO"}, "Only a single profile-based representation can be edited at a time.") + obj.select_set(False) + continue + if ( + tool.Geometry.is_profile_based(obj.data) + or tool.Geometry.is_swept_profile(representation) + or tool.Pset.get_element_pset(element, "BBIM_Roof") + or tool.Pset.get_element_pset(element, "BBIM_Railing") + ): + if len(context.selected_objects) == 1: + bpy.ops.bim.hotkey(hotkey="S_E", description="") + obj.data.BIMMeshProperties.mesh_checksum = tool.Geometry.get_mesh_checksum(obj.data) + return {"FINISHED"} + else: + self.report({"INFO"}, "Only a single profile-based representation can be edited at a time.") + obj.select_set(False) + continue + if tool.Geometry.is_meshlike(representation): if getattr(element, "HasOpenings", None): # Mesh elements with openings must disable openings @@ -866,7 +902,18 @@ class OverrideModeSetObject(bpy.types.Operator): if not element: continue - if obj.data.BIMMeshProperties.ifc_definition_id: + if tool.Profile.is_editing_profile(): + if obj.data.BIMMeshProperties.mesh_checksum != tool.Geometry.get_mesh_checksum(obj.data): + if tool.Pset.get_element_pset(element, "BBIM_Railing") or tool.Pset.get_element_pset( + element, "BBIM_Roof" + ): + bpy.ops.bim.cad_hotkey(hotkey="S_Q") + elif tool.Model.get_usage_type(element): + bpy.ops.bim.edit_extrusion_axis() + else: + bpy.ops.bim.edit_extrusion_profile() + return self.execute(context) + elif obj.data.BIMMeshProperties.ifc_definition_id: if not tool.Geometry.has_geometric_data(obj): self.is_valid = False self.should_save = False diff --git a/src/blenderbim/blenderbim/tool/geometry.py b/src/blenderbim/blenderbim/tool/geometry.py index 96676c1117..5e13ab5dd2 100644 --- a/src/blenderbim/blenderbim/tool/geometry.py +++ b/src/blenderbim/blenderbim/tool/geometry.py @@ -356,6 +356,16 @@ class Geometry(blenderbim.core.tool.Geometry): return True return False + @classmethod + def is_profile_based(cls, data): + return data.BIMMeshProperties.subshape_type == "PROFILE" + + @classmethod + def is_swept_profile(cls, representation): + return ifcopenshell.util.representation.resolve_representation(representation).RepresentationType in ( + "SweptSolid", + ) + @classmethod def is_type_product(cls, element): return element.is_a("IfcTypeProduct") diff --git a/src/blenderbim/blenderbim/tool/profile.py b/src/blenderbim/blenderbim/tool/profile.py index ab1402daaf..1c13fcd3d9 100644 --- a/src/blenderbim/blenderbim/tool/profile.py +++ b/src/blenderbim/blenderbim/tool/profile.py @@ -21,6 +21,7 @@ import ifcopenshell.util.unit import ifcopenshell.util.placement import ifcopenshell.util.representation import blenderbim.core.tool +from blenderbim.bim.module.model.decorator import ProfileDecorator class Profile(blenderbim.core.tool.Profile): @@ -52,3 +53,7 @@ class Profile(blenderbim.core.tool.Profile): for e in grouped_edges: draw.line((tuple(grouped_verts[e[0]]), tuple(grouped_verts[e[1]])), fill="white", width=2) + + @classmethod + def is_editing_profile(cls): + return ProfileDecorator.installed From a851689bca0db0a09e58c70ac9a406770eb5131b Mon Sep 17 00:00:00 2001 From: Bruno Postle Date: Mon, 5 Jun 2023 21:22:16 +0100 Subject: [PATCH 015/225] BlenderBIM use git shortlog to summarise merge log --- src/blenderbim/blenderbim/tool/ifcgit.py | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/src/blenderbim/blenderbim/tool/ifcgit.py b/src/blenderbim/blenderbim/tool/ifcgit.py index f50f2e18ab..3f8a08262f 100644 --- a/src/blenderbim/blenderbim/tool/ifcgit.py +++ b/src/blenderbim/blenderbim/tool/ifcgit.py @@ -1,6 +1,5 @@ import os import re -import time # allows git import even if git executable isn't found os.environ["GIT_PYTHON_REFRESH"] = "quiet" @@ -423,18 +422,13 @@ class IfcGit: repo.index.add(path_ifc) - message_summary = "" - branch_commits = repo.iter_commits(rev=repo.active_branch.name + ".." + props.display_branch) - for commit in branch_commits: - message_summary += "\n\n" + commit.author.name + " <" + commit.author.email + ">\n" - message_summary += time.strftime("%c", time.localtime(commit.committed_date)) + "\n" - message_summary += commit.message - + message_summary = repo.git.shortlog(repo.active_branch.name + ".." + props.display_branch) props.commit_message = ( - "Merge branch '" + props.display_branch + "' into " + repo.active_branch.name + message_summary + "Merge branch '" + props.display_branch + "' into " + repo.active_branch.name + "\n\n" + message_summary ) props.display_branch = repo.active_branch.name + cls.git_commit(path_ifc) cls.load_project(path_ifc) cls.refresh_revision_list(path_ifc) From 3213ffe760d4d09428d606b1904466dc5ec26768 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Tue, 6 Jun 2023 10:44:27 +0500 Subject: [PATCH 016/225] Fixed #3259 --- src/blenderbim/blenderbim/bim/module/model/profile.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/blenderbim/blenderbim/bim/module/model/profile.py b/src/blenderbim/blenderbim/bim/module/model/profile.py index b3a88a2a30..48971b1377 100644 --- a/src/blenderbim/blenderbim/bim/module/model/profile.py +++ b/src/blenderbim/blenderbim/bim/module/model/profile.py @@ -948,6 +948,10 @@ class EditExtrusionAxis(bpy.types.Operator, tool.Ifc.Operator): depth = (end - start).length z_axis = (end - start).normalized() y_axis = Vector((0, 0, 1)) + # making sure z_axis != y_axis + if z_axis == y_axis: + y_axis = Vector((0,1,0)) + x_axis = y_axis.cross(z_axis).normalized() y_axis = z_axis.cross(x_axis).normalized() From 64b9d2e5e373d35725d223e4a932b8cea9bd8130 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Tue, 6 Jun 2023 17:37:49 +1000 Subject: [PATCH 017/225] See #3226. New batched remove_deep2() which uses serialisation for faster removal performance on large graphs. --- .../ifcopenshell/util/element.py | 71 +++++++++++++++++++ .../test/util/test_element.py | 12 ++++ 2 files changed, 83 insertions(+) diff --git a/src/ifcopenshell-python/ifcopenshell/util/element.py b/src/ifcopenshell-python/ifcopenshell/util/element.py index 6e9e0a3bc9..6f576f893b 100644 --- a/src/ifcopenshell-python/ifcopenshell/util/element.py +++ b/src/ifcopenshell-python/ifcopenshell/util/element.py @@ -739,6 +739,72 @@ def remove_deep(ifc_file, element): ifc_file.unbatch() +def batch_remove_deep2(ifc_file): + """Enable batch removal after running remove_deep2 using serialisation + + See #944 and #3226. Removing elements in an IFC graph is slow as a lot of + mappings need to be edited. In larger models (>100MB) and when removing + many elements (>10000), it is faster to serialise the IFC, remove elements + using string replacement, and then reload the modified serialised IFC. + + The trade-off is that extra memory will be used, and string replacement + only works with remove_deep2 where the removed elements have no inverses. + In addition, transaction history will be lost, and any scripts using this + method will have to refetch elements from the reloaded IFC and cannot rely + on existing variables in memory. + + :param ifc_file: The IFC file object + :type ifc_file: ifcopenshell.file.file + :rtype: None + + Example: + + .. code:: python + + element1 = model.by_id(123) + element2 = model.by_id(456) + + ifcopenshell.util.element.batch_remove_deep2(model) + ifcopenshell.util.element.remove_deep2(model, element2) + + # Notice how we reload the model. + model = ifcopenshell.util.element.unbatch_remove_deep2(model) + + print(element1) # Don't call element1! + """ + ifc_file.to_delete = set() + + +def unbatch_remove_deep2(ifc_file): + """Finish removing elements batched from remove_deep2 using string replacement + + See documentation for batch_remove_deep2. + + :param ifc_file: The IFC file object + :type ifc_file: ifcopenshell.file.file + :return: A newly loaded file with the elements removed. + :rtype: ifcopenshell.file.file + """ + ifc_string = ifc_file.to_string() + lines = iter(ifc_string.split('\n')) + ids_to_delete = iter(sorted([e.id() for e in ifc_file.to_delete])) + id_to_delete = next(ids_to_delete, None) + result = [] + + for line in lines: + if id_to_delete is None: + result.append(line) + continue + + if line.startswith(f"#{id_to_delete}="): + id_to_delete = next(ids_to_delete, None) + else: + result.append(line) + + ifc_file.to_delete = None + return ifcopenshell.file.from_string("\n".join(result)) + + def remove_deep2(ifc_file, element, also_consider=[], do_not_delete=[]): """Recursively purges a subgraph safely, starting at an element @@ -796,6 +862,11 @@ def remove_deep2(ifc_file, element, also_consider=[], do_not_delete=[]): for i, attribute in enumerate(subelement): if isinstance(attribute, tuple) and len(attribute) > 10: subelement[i] = [] + + if getattr(ifc_file, "to_delete", None) is not None: + ifc_file.to_delete.update(to_delete) + return + # We delete elements from subgraph in reverse order to allow batching to work for subelement in filter(lambda e: e in to_delete, subgraph[::-1]): ifc_file.remove(subelement) diff --git a/src/ifcopenshell-python/test/util/test_element.py b/src/ifcopenshell-python/test/util/test_element.py index 798c06349f..e6badd4a1b 100644 --- a/src/ifcopenshell-python/test/util/test_element.py +++ b/src/ifcopenshell-python/test/util/test_element.py @@ -660,6 +660,18 @@ class TestRemoveDeep2IFC4(test.bootstrap.IFC4): assert self.file.by_guid("id1") +class TestBatchRemoveDeep2IFC4(test.bootstrap.IFC4): + def test_run(self): + owner = self.file.createIfcOwnerHistory() + element = self.file.createIfcWall(GlobalId="id", OwnerHistory=owner) + subject.batch_remove_deep2(self.file) + subject.remove_deep2(self.file, element) + new = subject.unbatch_remove_deep2(self.file) + assert self.file.by_id(1) + with pytest.raises(RuntimeError): + new.by_id(1) + + class TestCopyIFC4(test.bootstrap.IFC4): def test_copying_an_element(self): element = self.file.createIfcWall(GlobalId="id", Name="name") From e5769766af806257539860bcaf17a04a2f86cd2c Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Tue, 6 Jun 2023 17:40:17 +1000 Subject: [PATCH 018/225] Fix #3226. There is now a faster deletion mode that kicks in for large models and large geometry deletions. --- src/blenderbim/blenderbim/bim/import_ifc.py | 2 +- .../bim/module/geometry/operator.py | 39 ++++++++++++++++++- 2 files changed, 38 insertions(+), 3 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/import_ifc.py b/src/blenderbim/blenderbim/bim/import_ifc.py index 228b206136..a9ca216be9 100644 --- a/src/blenderbim/blenderbim/bim/import_ifc.py +++ b/src/blenderbim/blenderbim/bim/import_ifc.py @@ -187,7 +187,7 @@ class IfcImporter: self.settings_native.set(self.settings_native.INCLUDE_CURVES, True) self.settings_2d = ifcopenshell.geom.settings() self.settings_2d.set(self.settings_2d.INCLUDE_CURVES, True) - self.settings_2d.set(self.settings.STRICT_TOLERANCE, True) + self.settings_2d.set(self.settings_2d.STRICT_TOLERANCE, True) self.project = None self.has_existing_project = False self.collections = {} diff --git a/src/blenderbim/blenderbim/bim/module/geometry/operator.py b/src/blenderbim/blenderbim/bim/module/geometry/operator.py index ac7dbb9383..ce1e08d958 100644 --- a/src/blenderbim/blenderbim/bim/module/geometry/operator.py +++ b/src/blenderbim/blenderbim/bim/module/geometry/operator.py @@ -373,6 +373,7 @@ class OverrideDelete(bpy.types.Operator): bl_options = {"REGISTER", "UNDO"} use_global: bpy.props.BoolProperty(default=False) confirm: bpy.props.BoolProperty(default=True) + is_batch: bpy.props.BoolProperty(name="Is Batch", default=False) @classmethod def poll(cls, context): @@ -380,7 +381,7 @@ class OverrideDelete(bpy.types.Operator): def execute(self, context): # Deep magick from the dawn of time - if IfcStore.get_file(): + if tool.Ifc.get(): return IfcStore.execute_ifc_operator(self, context) for obj in context.selected_objects: bpy.data.objects.remove(obj) @@ -389,21 +390,55 @@ class OverrideDelete(bpy.types.Operator): return {"FINISHED"} def invoke(self, context, event): - if self.confirm: + if tool.Ifc.get(): + total_elements = len(tool.Ifc.get().wrapped_data.entity_names()) + total_polygons = sum([len(o.data.polygons) for o in context.selected_objects if o.type == "MESH"]) + # These numbers are a bit arbitrary, but basically batching is only + # really necessary on large models and large geometry removals. + self.is_batch = total_elements > 500000 and total_polygons > 2000 + if self.is_batch: + return context.window_manager.invoke_props_dialog(self) + elif self.confirm: + return context.window_manager.invoke_confirm(self, event) + elif self.confirm: return context.window_manager.invoke_confirm(self, event) self.confirm = True return self.execute(context) + def draw(self, context): + row = self.layout.row() + row.label(text="Warning: Faster deletion will use more memory.", icon="ERROR") + row = self.layout.row() + row.prop(self, "is_batch", text="Enable Faster Deletion") + def _execute(self, context): + if self.is_batch: + ifcopenshell.util.element.batch_remove_deep2(tool.Ifc.get()) for obj in context.selected_objects: if tool.Ifc.get_entity(obj): tool.Geometry.delete_ifc_object(obj) else: bpy.data.objects.remove(obj) + if self.is_batch: + old_file = tool.Ifc.get() + old_file.end_transaction() + new_file = ifcopenshell.util.element.unbatch_remove_deep2(tool.Ifc.get()) + new_file.begin_transaction() + tool.Ifc.set(new_file) + self.transaction_data = {"old_file": old_file, "new_file": new_file} + IfcStore.add_transaction_operation(self) # Required otherwise gizmos are still visible context.view_layer.objects.active = None return {"FINISHED"} + def rollback(self, data): + tool.Ifc.set(data["old_file"]) + data["old_file"].undo() + + def commit(self, data): + data["old_file"].redo() + tool.Ifc.set(data["new_file"]) + class OverrideOutlinerDelete(bpy.types.Operator): bl_idname = "bim.override_outliner_delete" From ebbf30a88c8b7a2302ed46cea704b4504d93e4a8 Mon Sep 17 00:00:00 2001 From: Gorgious56 Date: Tue, 6 Jun 2023 09:57:00 +0200 Subject: [PATCH 019/225] Fix wall mounted handrail railing modifier not regenerating properly when going out of edit mode with the tab key if the path wasn't modified --- src/blenderbim/blenderbim/bim/module/geometry/operator.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/geometry/operator.py b/src/blenderbim/blenderbim/bim/module/geometry/operator.py index ce1e08d958..d64477eb6c 100644 --- a/src/blenderbim/blenderbim/bim/module/geometry/operator.py +++ b/src/blenderbim/blenderbim/bim/module/geometry/operator.py @@ -938,10 +938,10 @@ class OverrideModeSetObject(bpy.types.Operator): continue if tool.Profile.is_editing_profile(): - if obj.data.BIMMeshProperties.mesh_checksum != tool.Geometry.get_mesh_checksum(obj.data): - if tool.Pset.get_element_pset(element, "BBIM_Railing") or tool.Pset.get_element_pset( - element, "BBIM_Roof" - ): + if tool.Pset.get_element_pset(element, "BBIM_Railing"): + bpy.ops.bim.cad_hotkey(hotkey="S_Q") + elif obj.data.BIMMeshProperties.mesh_checksum != tool.Geometry.get_mesh_checksum(obj.data): + if tool.Pset.get_element_pset(element, "BBIM_Roof"): bpy.ops.bim.cad_hotkey(hotkey="S_Q") elif tool.Model.get_usage_type(element): bpy.ops.bim.edit_extrusion_axis() From 45e6ae6708b3f34b0b6e694880ebf19ffad9e13f Mon Sep 17 00:00:00 2001 From: Gorgious56 Date: Tue, 6 Jun 2023 11:59:05 +0200 Subject: [PATCH 020/225] Revert unselect non-ifc object using TAB --- src/blenderbim/blenderbim/bim/module/geometry/operator.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/blenderbim/blenderbim/bim/module/geometry/operator.py b/src/blenderbim/blenderbim/bim/module/geometry/operator.py index d64477eb6c..329cfaeec9 100644 --- a/src/blenderbim/blenderbim/bim/module/geometry/operator.py +++ b/src/blenderbim/blenderbim/bim/module/geometry/operator.py @@ -779,7 +779,6 @@ class OverrideModeSetEdit(bpy.types.Operator): element = tool.Ifc.get_entity(obj) if not element: - obj.select_set(False) continue # We are switching from OBJECT to EDIT mode. From d61945a575267bf7eb60fcf201c890bc9715ce96 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Tue, 6 Jun 2023 13:24:52 +0200 Subject: [PATCH 021/225] #3255 unreferened param --- src/ifcgeom/IfcBooleanResult.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ifcgeom/IfcBooleanResult.cpp b/src/ifcgeom/IfcBooleanResult.cpp index 5e8bd7c2fd..c342d9be78 100644 --- a/src/ifcgeom/IfcBooleanResult.cpp +++ b/src/ifcgeom/IfcBooleanResult.cpp @@ -46,7 +46,7 @@ namespace { } TopoDS_Shape intermediate_result; - if (IfcGeom::util::boolean_operation(bst, result, opening_list, BOPAlgo_CUT, intermediate_result)) { + if (IfcGeom::util::boolean_operation(bst, result, opening_list, occ_op, intermediate_result)) { result = intermediate_result; } else { return false; From d71887d8468e45461bb20cffac54a15fffb36a52 Mon Sep 17 00:00:00 2001 From: Bruno Postle Date: Wed, 7 Jun 2023 00:45:01 +0100 Subject: [PATCH 022/225] BlenderBIM fix Git merge log history (#3096) The GitPython commit() method isn't suitable for completing a merge as it only sets one parent, losing all history from the merged branch. --- src/blenderbim/blenderbim/bim/module/ifcgit/ui.py | 4 ++-- src/blenderbim/blenderbim/tool/ifcgit.py | 11 ++++------- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/ifcgit/ui.py b/src/blenderbim/blenderbim/bim/module/ifcgit/ui.py index 536c14e852..0fdbe827d7 100644 --- a/src/blenderbim/blenderbim/bim/module/ifcgit/ui.py +++ b/src/blenderbim/blenderbim/bim/module/ifcgit/ui.py @@ -199,9 +199,9 @@ class COMMIT_UL_List(bpy.types.UIList): refs += "{" + tag.name + "} " if commit == current_revision: - layout.label(text="[HEAD] " + refs + commit.message, icon="DECORATE_KEYFRAME") + layout.label(text="[HEAD] " + refs + commit.message.split("\n")[0], icon="DECORATE_KEYFRAME") else: - layout.label(text=refs + commit.message, icon="DECORATE_ANIMATE") + layout.label(text=refs + commit.message.split("\n")[0], icon="DECORATE_ANIMATE") layout.label(text=time.strftime("%c", time.localtime(commit.committed_date))) diff --git a/src/blenderbim/blenderbim/tool/ifcgit.py b/src/blenderbim/blenderbim/tool/ifcgit.py index 3f8a08262f..0ac0871020 100644 --- a/src/blenderbim/blenderbim/tool/ifcgit.py +++ b/src/blenderbim/blenderbim/tool/ifcgit.py @@ -420,15 +420,12 @@ class IfcGit: operator.report({"ERROR"}, "Unknown IFC Merge failure") return False - repo.index.add(path_ifc) - - message_summary = repo.git.shortlog(repo.active_branch.name + ".." + props.display_branch) - props.commit_message = ( - "Merge branch '" + props.display_branch + "' into " + repo.active_branch.name + "\n\n" + message_summary - ) props.display_branch = repo.active_branch.name - cls.git_commit(path_ifc) + if os.name == "nt": + cls.dos2unix(path_ifc) + repo.index.add(path_ifc) + repo.git.commit("--no-edit") cls.load_project(path_ifc) cls.refresh_revision_list(path_ifc) From 4b6424e0e1d8f5ffa9f71be517c66b3820fe3687 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Wed, 7 Jun 2023 14:30:37 +1000 Subject: [PATCH 023/225] Fix #3264. Describe IFC to JSON conversion (and other formats) in documentation. --- src/ifcopenshell-python/docs/ifc2ca.rst | 5 ++ src/ifcopenshell-python/docs/ifc4d.rst | 4 ++ src/ifcopenshell-python/docs/ifc5d.rst | 5 ++ src/ifcopenshell-python/docs/ifccityjson.rst | 5 ++ src/ifcopenshell-python/docs/ifcconvert.rst | 64 +++++++++++++++++++- src/ifcopenshell-python/docs/ifccsv.rst | 5 ++ src/ifcopenshell-python/docs/ifctester.rst | 6 ++ src/ifcopenshell-python/docs/index.rst | 28 +++++++-- src/ifcopenshell-python/docs/other.rst | 18 ++++++ 9 files changed, 134 insertions(+), 6 deletions(-) create mode 100644 src/ifcopenshell-python/docs/ifc2ca.rst create mode 100644 src/ifcopenshell-python/docs/ifc4d.rst create mode 100644 src/ifcopenshell-python/docs/ifc5d.rst create mode 100644 src/ifcopenshell-python/docs/ifccityjson.rst create mode 100644 src/ifcopenshell-python/docs/ifccsv.rst create mode 100644 src/ifcopenshell-python/docs/ifctester.rst create mode 100644 src/ifcopenshell-python/docs/other.rst diff --git a/src/ifcopenshell-python/docs/ifc2ca.rst b/src/ifcopenshell-python/docs/ifc2ca.rst new file mode 100644 index 0000000000..419befb498 --- /dev/null +++ b/src/ifcopenshell-python/docs/ifc2ca.rst @@ -0,0 +1,5 @@ +Ifc2CA +====== + +Ifc2CA converts IFC models to FEM structural analytical models to be used in +Code_Aster. diff --git a/src/ifcopenshell-python/docs/ifc4d.rst b/src/ifcopenshell-python/docs/ifc4d.rst new file mode 100644 index 0000000000..f3474b7871 --- /dev/null +++ b/src/ifcopenshell-python/docs/ifc4d.rst @@ -0,0 +1,4 @@ +Ifc4D +===== + +Ifc4D contains a series of utilities for converting to and from various 4D software. diff --git a/src/ifcopenshell-python/docs/ifc5d.rst b/src/ifcopenshell-python/docs/ifc5d.rst new file mode 100644 index 0000000000..966c9262d6 --- /dev/null +++ b/src/ifcopenshell-python/docs/ifc5d.rst @@ -0,0 +1,5 @@ +Ifc5D +===== + +Ifc5D is a collection of utilities of manipulating cost-related data to and +from formats, reports, and optimisation engines. diff --git a/src/ifcopenshell-python/docs/ifccityjson.rst b/src/ifcopenshell-python/docs/ifccityjson.rst new file mode 100644 index 0000000000..df4c7a209b --- /dev/null +++ b/src/ifcopenshell-python/docs/ifccityjson.rst @@ -0,0 +1,5 @@ +IfcCityJSON +=========== + +IfcCityJSON is a converter for CityJSON files and IFC. It currently only +supports one-way conversion from CityJSON to IFC. diff --git a/src/ifcopenshell-python/docs/ifcconvert.rst b/src/ifcopenshell-python/docs/ifcconvert.rst index c856124353..19c59c7b0f 100644 --- a/src/ifcopenshell-python/docs/ifcconvert.rst +++ b/src/ifcopenshell-python/docs/ifcconvert.rst @@ -1,8 +1,68 @@ IfcConvert ========== -IfcConvert is a command-line application for converting IFC geometry into -file formats such as OBJ, DAE, GLB, STP, IGS, XML, and SVG. +IfcConvert is a command-line application for converting IFC geometry into file +formats such as OBJ, DAE, GLB, STP, IGS, XML, SVG, H5, and IFC itself. + +For other conversions, other software is available as other utilities within +IfcOpenShell. + ++-------------------------+-------------------------+----------------------+ +| From Format | To Format | Tool | ++=========================+=========================+======================+ +| .ifc | .obj, .dae, .glb, .stp, | IfcConvert | +| | .igs, .xml, .svg, .h5, | | +| | .ifc | | ++-------------------------+-------------------------+----------------------+ +| .ifc | .dae, .abc, .usd, .obj, | `BlenderBIM Add-on`_ | +| | .ply, .stl, .fbx, .glb, | | +| | .gltf, .x3d, .dxf | | ++-------------------------+-------------------------+----------------------+ +| .ifc | .ifcZIP, .ifcXML, .ifc | IfcOpenShell-Python_ | ++-------------------------+-------------------------+----------------------+ +| .ifc | .ifcJSON | Ifc2JSON_ | ++-------------------------+-------------------------+----------------------+ +| .ifc | .ifc | IfcPatch_ | +| | (IFC2X3, IFC4, IFC4X3) | | ++-------------------------+-------------------------+----------------------+ +| .ifc | .json (Code_Aster), | Ifc2CA_ | +| | .comm (Code_Aster) | | ++-------------------------+-------------------------+----------------------+ +| .ifc | .xml (Oracle P6), | Ifc4D_ | +| | .xml (MS Project) | | ++-------------------------+-------------------------+----------------------+ +| .ifc | .csv, .ods, .xlsx | Ifc5D_ | ++-------------------------+-------------------------+----------------------+ +| .ifc | .csv, .ods, .xlsx | IfcCSV_ | ++-------------------------+-------------------------+----------------------+ +| .csv | .ifc | Ifc5D_ | ++-------------------------+-------------------------+----------------------+ +| .csv | .ifc | IfcCSV_ | ++-------------------------+-------------------------+----------------------+ +| .dxf | .ifc | `BlenderBIM Add-on`_ | ++-------------------------+-------------------------+----------------------+ +| .obj | .ifc | `BlenderBIM Add-on`_ | ++-------------------------+-------------------------+----------------------+ +| .json (CityJSON) | .ifc | IfcCityJSON_ | ++-------------------------+-------------------------+----------------------+ +| .xer (Oracle P6) | .ifc | Ifc4D_ | ++-------------------------+-------------------------+----------------------+ +| .xml (Oracle P6) | .ifc | Ifc4D_ | ++-------------------------+-------------------------+----------------------+ +| .xml (MS Project) | .ifc | Ifc4D_ | ++-------------------------+-------------------------+----------------------+ +| .xml (Powerproject) | .ifc | Ifc4D_ | ++-------------------------+-------------------------+----------------------+ + +.. _IfcOpenShell-Python: ifcopenshell-python.html +.. _IfcPatch: ifcpatch.html +.. _Ifc2CA: ifc2ca.html +.. _IfcCSV: ifccsv.html +.. _Ifc4D: ifc4d.html +.. _Ifc5D: ifc5d.html +.. _IfcCityJSON: ifccityjson.html +.. _Ifc2JSON: other.html +.. _BlenderBIM Add-on: https://blenderbim.org .. toctree:: :hidden: diff --git a/src/ifcopenshell-python/docs/ifccsv.rst b/src/ifcopenshell-python/docs/ifccsv.rst new file mode 100644 index 0000000000..3734dbfbf5 --- /dev/null +++ b/src/ifcopenshell-python/docs/ifccsv.rst @@ -0,0 +1,5 @@ +IfcCSV +====== + +IfcCSV exports and imports data from spreadsheet or tabular datasets. This lets +you view and edit IFC data using CSV, ODS, XLSX, and more. diff --git a/src/ifcopenshell-python/docs/ifctester.rst b/src/ifcopenshell-python/docs/ifctester.rst new file mode 100644 index 0000000000..d384e3216d --- /dev/null +++ b/src/ifcopenshell-python/docs/ifctester.rst @@ -0,0 +1,6 @@ +IfcTester +========= + +IfcTester lets you author and read Information Delivery Specification (IDS) +files. You can validate IFC models against IDS and generate reports in multiple +formats. It works from the command line, as a web app, or as a library. diff --git a/src/ifcopenshell-python/docs/index.rst b/src/ifcopenshell-python/docs/index.rst index a29a01941f..f5bd6086d0 100644 --- a/src/ifcopenshell-python/docs/index.rst +++ b/src/ifcopenshell-python/docs/index.rst @@ -10,18 +10,38 @@ IfcOpenShell is a suite of developer libraries and utilities to manipulate OpenB .. toctree:: :hidden: :maxdepth: 1 - :caption: Contents: + :caption: Main: ifcopenshell ifcopenshell-python ifcconvert + blenderbim + +.. toctree:: + :hidden: + :maxdepth: 1 + :caption: Utilities: + + bimserver-plugin bimtester - ifcdiff - ifcpatch + ifc2ca + ifc4d + ifc5d + ifccityjson ifcclash ifccobie + ifccsv + ifcdiff + ifcpatch ifcsverchok - bimserver-plugin + ifctester + other + +.. toctree:: + :hidden: + :maxdepth: 1 + :caption: API: + C++ API Reference Python API Reference diff --git a/src/ifcopenshell-python/docs/other.rst b/src/ifcopenshell-python/docs/other.rst new file mode 100644 index 0000000000..d7f30ef31f --- /dev/null +++ b/src/ifcopenshell-python/docs/other.rst @@ -0,0 +1,18 @@ +Other utilities +=============== + +There are other notable utilites that are built with, or integrate with +IfcOpenShell, but are not officially part of the IfcOpenShell umbrella. + ++----------------------+---------------------------------------------------+ +| Utility | Description | ++======================+===================================================+ +| Ifc2JSON_ | Converts .ifc to .ifcJSON, including support for | +| | stripping geometry, and IfcJSON version 4 and 5a. | ++----------------------+---------------------------------------------------+ +| VoxelisationToolkit_ | Converts .ifc geometry into voxels, and lets you | +| | perform voxel based geometric analysis. | ++----------------------+---------------------------------------------------+ + +.. _Ifc2JSON: https://github.com/buildingSMART/ifcJSON/tree/master/file_converters +.. _VoxelisationToolkit: https://github.com/opensourceBIM/voxelization_toolkit From 3758c454c90491d4d3454bf906e1d9d91706cc39 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Wed, 7 Jun 2023 15:59:20 +1000 Subject: [PATCH 024/225] Add support for Pandas DataFrames in IfcCSV and clean up function signatures --- .../blenderbim/bim/module/csv/operator.py | 19 ++--- src/ifccsv/ifccsv.py | 83 ++++++++++--------- 2 files changed, 49 insertions(+), 53 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/csv/operator.py b/src/blenderbim/blenderbim/bim/module/csv/operator.py index 07a2206795..02b7fabe41 100644 --- a/src/blenderbim/blenderbim/bim/module/csv/operator.py +++ b/src/blenderbim/blenderbim/bim/module/csv/operator.py @@ -150,14 +150,9 @@ class ExportIfcCsv(bpy.types.Operator): selector = ifcopenshell.util.selector.Selector() results = selector.parse(ifc_file, props.ifc_selector) ifc_csv = ifccsv.IfcCsv() - ifc_csv.output = self.filepath - ifc_csv.attributes = [a.name for a in props.csv_attributes] - ifc_csv.selector = selector - if props.csv_delimiter == "CUSTOM": - ifc_csv.delimiter = props.csv_custom_delimiter - else: - ifc_csv.delimiter = props.csv_delimiter - ifc_csv.export(ifc_file, results) + attributes = [a.name for a in props.csv_attributes] + sep = props.csv_custom_delimiter if props.csv_delimiter == "CUSTOM" else props.csv_delimiter + ifc_csv.export(ifc_file, results, attributes, output=self.filepath, format=args.format, delimiter=sep) return {"FINISHED"} @@ -182,12 +177,8 @@ class ImportIfcCsv(bpy.types.Operator): else: ifc_file = ifcopenshell.open(props.csv_ifc_file) ifc_csv = ifccsv.IfcCsv() - ifc_csv.output = self.filepath - if props.csv_delimiter == "CUSTOM": - ifc_csv.delimiter = props.csv_custom_delimiter - else: - ifc_csv.delimiter = props.csv_delimiter - ifc_csv.Import(ifc_file) + sep = props.csv_custom_delimiter if props.csv_delimiter == "CUSTOM" else props.csv_delimiter + ifc_csv.Import(ifc_file, self.filepath, delimiter=sep) if not props.should_load_from_memory: ifc_file.write(props.csv_ifc_file) purge_module_data() diff --git a/src/ifccsv/ifccsv.py b/src/ifccsv/ifccsv.py index e415f4bad2..6497fe3671 100755 --- a/src/ifccsv/ifccsv.py +++ b/src/ifccsv/ifccsv.py @@ -42,6 +42,12 @@ except: pass # No XLSX support +try: + import pandas as pd +except: + pass # No Pandas support + + class IfcAttributeSetter: @staticmethod def set_element_key(ifc_file, element, key, value): @@ -139,15 +145,14 @@ class IfcAttributeSetter: class IfcCsv: - def __init__(self): + def __init__(self, output="", delimiter=","): + self.headers = [] self.results = [] - self.attributes = [] - self.output = "" - self.format = "csv" - self.delimiter = "," + self.dataframe = None - def export(self, ifc_file, elements): + def export(self, ifc_file, elements, attributes, output=None, format=None, delimiter=","): self.ifc_file = ifc_file + self.results = [] for element in elements: result = [] if hasattr(element, "GlobalId"): @@ -155,33 +160,35 @@ class IfcCsv: else: result.append(None) - for index, attribute in enumerate(self.attributes): + for index, attribute in enumerate(attributes or []): if "*" in attribute: - self.attributes.extend(self.get_wildcard_attributes(attribute)) - del self.attributes[index] + attributes.extend(self.get_wildcard_attributes(attribute)) + del attributes[index] - for attribute in self.attributes: + for attribute in attributes: result.append(ifcopenshell.util.selector.get_element_value(element, attribute)) self.results.append(result) self.headers = ["GlobalId"] - self.headers.extend(self.attributes) + self.headers.extend(attributes or []) - if self.format == "csv": - self.export_csv() - elif self.format == "ods": - self.export_ods() - elif self.format == "xlsx": - self.export_xlsx() + if format == "csv": + self.export_csv(output, delimiter=delimiter) + elif format == "ods": + self.export_ods(output) + elif format == "xlsx": + self.export_xlsx(output) + elif format == "pd": + return self.export_pd() - def export_csv(self): - with open(self.output, "w", newline="", encoding="utf-8") as f: - writer = csv.writer(f, delimiter=self.delimiter) + def export_csv(self, output, delimiter=None): + with open(output, "w", newline="", encoding="utf-8") as f: + writer = csv.writer(f, delimiter=delimiter) writer.writerow(self.headers) for row in self.results: writer.writerow(row) - def export_ods(self): + def export_ods(self, output): self.doc = OpenDocumentSpreadsheet() self.colours = { @@ -218,12 +225,12 @@ class IfcCsv: table.addElement(tr) self.doc.spreadsheet.addElement(table) - if self.output[-4:].lower() == ".ods": - self.output = self.output[0:-4] - self.doc.save(self.output, True) + if output[-4:].lower() == ".ods": + output = output[0:-4] + self.doc.save(output, True) - def export_xlsx(self): - self.workbook = Workbook(self.output) + def export_xlsx(self, output): + self.workbook = Workbook(output) self.colours = { "h": "dc8774", # Header @@ -254,6 +261,10 @@ class IfcCsv: self.workbook.close() + def export_pd(self): + self.dataframe = pd.DataFrame(self.results, columns=self.headers) + return self.dataframe + def get_wildcard_attributes(self, attribute): results = set() pset_qto_name = attribute.split(".", 1)[0] @@ -266,9 +277,10 @@ class IfcCsv: results.update([p.Name for p in element.Quantities]) return ["{}.{}".format(pset_qto_name, n) for n in results] - def Import(self, ifc_file): - with open(self.output, newline="", encoding="utf-8") as f: - reader = csv.reader(f, delimiter=self.delimiter) + def Import(self, ifc_file, table, delimiter=","): + # Currently only supports CSV. + with open(table, newline="", encoding="utf-8") as f: + reader = csv.reader(f, delimiter=delimiter) headers = [] for row in reader: if not headers: @@ -303,18 +315,11 @@ if __name__ == "__main__": if args.export: ifc_file = ifcopenshell.open(args.ifc) - selector = ifcopenshell.util.selector.Selector() - results = selector.parse(ifc_file, args.query) + results = ifcopenshell.util.selector.Selector.parse(ifc_file, args.query) ifc_csv = IfcCsv() - ifc_csv.output = args.spreadsheet - ifc_csv.format = args.format - ifc_csv.attributes = args.arguments if args.arguments else [] - ifc_csv.selector = selector - ifc_csv.export(ifc_file, results) + ifc_csv.export(ifc_file, results, args.arguments or [], output=args.spreadsheet, format=args.format) elif getattr(args, "import"): ifc_csv = IfcCsv() - ifc_csv.output = args.spreadsheet - ifc_csv.format = args.format ifc_file = ifcopenshell.open(args.ifc) - ifc_csv.Import(ifc_file) + ifc_csv.Import(ifc_file, args.spreadsheet) ifc_file.write(args.ifc) From 47c6c2ce9aad493c700a4f45cf9d804d0ed07ff9 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Wed, 7 Jun 2023 16:00:12 +1000 Subject: [PATCH 025/225] See #3266. Write documentation on how to use IfcCSV. --- src/ifcopenshell-python/docs/ifcclash.rst | 3 +- src/ifcopenshell-python/docs/ifcconvert.rst | 4 +- src/ifcopenshell-python/docs/ifccsv.rst | 150 +++++++++++++++++++- src/ifcopenshell-python/docs/ifcdiff.rst | 2 +- 4 files changed, 152 insertions(+), 7 deletions(-) diff --git a/src/ifcopenshell-python/docs/ifcclash.rst b/src/ifcopenshell-python/docs/ifcclash.rst index 44ce3074dd..5448bdde91 100644 --- a/src/ifcopenshell-python/docs/ifcclash.rst +++ b/src/ifcopenshell-python/docs/ifcclash.rst @@ -12,7 +12,7 @@ Source installation 2. `Install hppfcl `_ 3. Optionally `install bcf `_ (needed for BCF reports of results) 4. `Clone the source code `_. -5. ``cd /path/to/src/ifcclash`` +5. ``cd /path/to/IfcOpenShell/src/ifcclash`` Here is a minimal example of how to use IfcPatch as a Python module or CLI utility: @@ -91,7 +91,6 @@ Here is a minimal example of how to use IfcClash as a library: import logging import ifcclash - settings = ClashSettings() settings.output = "output.json" settings.logger = logging.getLogger("Clash") diff --git a/src/ifcopenshell-python/docs/ifcconvert.rst b/src/ifcopenshell-python/docs/ifcconvert.rst index 19c59c7b0f..78d9ae808e 100644 --- a/src/ifcopenshell-python/docs/ifcconvert.rst +++ b/src/ifcopenshell-python/docs/ifcconvert.rst @@ -4,8 +4,8 @@ IfcConvert IfcConvert is a command-line application for converting IFC geometry into file formats such as OBJ, DAE, GLB, STP, IGS, XML, SVG, H5, and IFC itself. -For other conversions, other software is available as other utilities within -IfcOpenShell. +For other formats, you may use other IfcOpenShell utilities as shown in the +table below. +-------------------------+-------------------------+----------------------+ | From Format | To Format | Tool | diff --git a/src/ifcopenshell-python/docs/ifccsv.rst b/src/ifcopenshell-python/docs/ifccsv.rst index 3734dbfbf5..da2ecc8298 100644 --- a/src/ifcopenshell-python/docs/ifccsv.rst +++ b/src/ifcopenshell-python/docs/ifccsv.rst @@ -1,5 +1,151 @@ IfcCSV ====== -IfcCSV exports and imports data from spreadsheet or tabular datasets. This lets -you view and edit IFC data using CSV, ODS, XLSX, and more. +IfcCSV lets you view and edit IFC data using spreadsheets or tabular datasets, +such as CSV, ODS, XLSX, Pandas DataFrames, and regular Python lists. + +IfcCSV lets you select rooted elements using the IFC selection queries. These +elements may be physical elements (walls, doors, windows, etc), construction +types (wall types, door types, window types, etc), or even non-geometric +(tasks, resources, cost items, etc). + +Once you have selected a list of elements, you may specify attributes, +properties, quantities, or relationships to extract and use as columns in your +table. + +For example, you might use a selection query of ``.IfcDoor``, for all doors in +your project. You may then specify a ``class`` attribute, a ``Name`` attribute, +a ``type.Name`` relationship, and a ``type.Description`` relationship. This +will produce a table as shown: + ++------------------------+---------+------+-----------+------------------------------------+ +| GlobalId | class | Name | type.Name | type.Description | ++========================+=========+======+===========+====================================+ +| 3AjGVS9EjBeBrDA5_tAcwQ | IfcDoor | 01 | DT-A | Single swing steel frame door | ++------------------------+---------+------+-----------+------------------------------------+ +| 07BewvHLn2$x6HsHH06rAA | IfcDoor | 02 | DT-A | Single swing steel frame door | ++------------------------+---------+------+-----------+------------------------------------+ +| 3b3Mk8uIb3Qu_eSPKxsI8x | IfcDoor | 01 | DT-B | Double swing steel frame fire door | ++------------------------+---------+------+-----------+------------------------------------+ +| ... | ... | ... | ... | ... | ++------------------------+---------+------+-----------+------------------------------------+ + +.. note:: + + IfcCSV automatically inserts the GlobalId column at the beginning, in order + to uniquely identify the element. + +This tabular data may then be exported in your desired format. + +You may then edit the data, and reimport the data back into IFC. The changes +you make in the spreadsheet or table will also be made in the IFC. + +There are different methods of installation, depending on your situation. + +1. **Source installation** is recommended for users wanting to use the latest + code as a library or a CLI utility. +2. **Using the BlenderBIM Add-on** is recommended for non-developers wanting a + graphical interface. + +Source installation +------------------- + +1. :doc:`Install IfcOpenShell ` +2. `Clone the source code `_. +3. ``cd /path/to/IfcOpenShell/src/ifccsv`` + +Depending on which formats you want to edit, you will need to install more dependencies: + +- ``pip install odfpy`` for ODS support +- ``pip install xlsxwriter`` for XLSX support +- ``pip install pandas`` for Pandas DataFrame support + +Here is a minimal example of how to use IfcDiff as a Python module or CLI +utility: + +:: + + $ python -m ifccsv -h + usage: ifccsv.py [-h] -i IFC [-s SPREADSHEET] [-f FORMAT] [-q QUERY] [-a ARGUMENTS [ARGUMENTS ...]] [--export] [--import] + + Exports IFC data to and from CSV + + options: + -h, --help show this help message and exit + -i IFC, --ifc IFC The IFC file + -s SPREADSHEET, --spreadsheet SPREADSHEET + The spreadsheet file + -f FORMAT, --format FORMAT + The format, chosen from csv, ods, or xlsx + -q QUERY, --query QUERY + Specify a IFC query selector, such as ".IfcWall" + -a ARGUMENTS [ARGUMENTS ...], --arguments ARGUMENTS [ARGUMENTS ...] + Specify attributes that are part of the extract, using the IfcQuery syntax such as 'type', 'Name' or 'Pset_Foo.Bar' + --export Export from IFC to CSV + --import Import from CSV to IFC + $ python -m ifccsv -i model.ifc -s out.csv -f csv -q .IfcProduct -a "Name" "Description" --export + $ cat out.csv + +Here is a minimal example of how to use IfcCSV as a library: + +.. code-block:: python + + import ifcopenshell + from ifccsv import IfcCsv + + model = ifcopenshell.open("/path/to/model.ifc") + # Using the selector is optional. You may specify elements as a list manually if you prefer. + # e.g. elements = model.by_type("IfcElement") + elements = ifcopenshell.util.selector.Selector.parse(model, ".IfcElement") + attributes = ["Name", "Description"] + + # Export our model's elements and their attributes to a CSV. + ifc_csv = IfcCsv() + ifc_csv.export(model, elements, attributes, output="out.csv", format="csv", delimiter=",") + + # Optionally, you can explicitly export to different formats. + # ifc_csv = IfcCsv() + # ifc_csv.export(model, elements, attributes) + ifc_csv.export_csv("out.csv", delimiter=";") + ifc_csv.export_ods("out.ods") + ifc_csv.export_xlsx("out.xlsx") + + # Optionally, you can create a Pandas DataFrame. + df = ifc_csv.export_pd() + print(df) + + # Optionally, you can directly fetch the headers and rows as Python lists. + print(ifc_csv.headers) + print(ifc_csv.results) + + # You can also import changes from a CSV + ifc_csv.Import(model, "input.csv") + model.write("/path/to/updated_model.ifc") + +Using the BlenderBIM Add-on +--------------------------- + +The BlenderBIM Add-on is a Blender based graphical interface to IfcOpenShell. +Other than providing a graphical IFC authoring platform, it also comes with +IfcOpenShell, its utilities, and a Python shell built-in. This means you don't +need to install Python first, and you also can compare your IfcOpenShell +scripting to what you see with a visual model viewer, or use a graphical +interface to access the IfcOpenShell utilities. + +1. Install the BlenderBIM Add-on by following the `BlenderBIM Add-on + installation documentation + `_. + +2. Launch Blender. Change to the **Scene Properties** tab in the **Properties + Panel**. Scroll down to the **IFC Collaboration > IFC CSV Import / Export** + panel. + +3. Browse to your IFC file. + +4. Type in a filter query, such as ``.IfcDoor``. + +5. Optionally add attributes you'd like to export. + +6. Press **Export IFC to CSV** + +TODO: add pictures and make this clearer for non-developers. diff --git a/src/ifcopenshell-python/docs/ifcdiff.rst b/src/ifcopenshell-python/docs/ifcdiff.rst index b73530cae4..b8b5332566 100644 --- a/src/ifcopenshell-python/docs/ifcdiff.rst +++ b/src/ifcopenshell-python/docs/ifcdiff.rst @@ -28,7 +28,7 @@ Source installation 1. :doc:`Install IfcOpenShell ` 2. `Clone the source code `_. -3. ``cd /path/to/src/ifcdiff`` +3. ``cd /path/to/IfcOpenShell/src/ifcdiff`` 4. ``pip install -r requirements.txt`` Here is a minimal example of how to use IfcDiff as a Python module or CLI From dda16c847dbc6288f9976db6a3da8bbc65d2adcc Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Wed, 7 Jun 2023 10:41:51 +0500 Subject: [PATCH 026/225] ids/classes namespaces for drawings in the sheet #3047 Now we add some prefix based on drawing id to each id in the drawing and also add this prefix as a class and add it to all css selectors. Reason for that so each drawing on the sheet can have it's own set of styles that won't be affecting other drawings. Example - https://i.imgur.com/kqRCwJW.png --- .../blenderbim/bim/module/drawing/sheeter.py | 61 ++++++++++++++++++- 1 file changed, 59 insertions(+), 2 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/drawing/sheeter.py b/src/blenderbim/blenderbim/bim/module/drawing/sheeter.py index bd90b50280..97aca24735 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/sheeter.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/sheeter.py @@ -28,9 +28,12 @@ import blenderbim.tool as tool import ifcopenshell.util.geolocation from xml.dom import minidom from mathutils import Vector +import re VIEW_TITLE_OFFSET_Y = 5 DEFAULT_POSITION = Vector((30, 30)) +SVG = "{http://www.w3.org/2000/svg}" +XLINK = "{http://www.w3.org/1999/xlink}" class SheetBuilder: @@ -130,7 +133,6 @@ class SheetBuilder: def update_sheet_drawing_sizes(self, sheet): ET.register_namespace("", "http://www.w3.org/2000/svg") - SVG = "{http://www.w3.org/2000/svg}" layout_path = tool.Drawing.get_document_uri(sheet, "LAYOUT") layout_tree = ET.parse(layout_path) @@ -280,8 +282,61 @@ class SheetBuilder: titleblock.append(g) titleblock.remove(image) + def ensure_drawing_unique_styles(self, svg, drawing_id): + """ensures all drawing's classes and ids will be unique for the whole sheet + by adding `drawing_id` based prefix + """ + prefix = f"d{drawing_id}" # just number doesn't work + + # add .prefix class to all css selectors + style = svg.find(f"{SVG}defs/{SVG}style") + style_data = style.text + text = "" + brackets_level = 0 + for l in style_data: + if l == "{": + if brackets_level == 0: + cur_line = text.splitlines()[-1] + text = text[: -len(cur_line)] + css_selectors = [] + # making sure cases like "text, tspan" will be + # converted to "text.prefix, tspan.prefix" + for css_selector in cur_line.split(","): + css_selector = f"{css_selector.strip()}.{prefix}" + css_selectors.append(css_selector) + text += ", ".join(css_selectors) + " " + brackets_level += 1 + elif l == "}": + brackets_level -= 1 + text += l + + # replace urls url(#marker) with url(#prefix-marker) + # since url(#marker.prefix) doesn't seem to work + text = re.sub(r"url\(#([^\)]+)\)", rf"url(#{prefix}-\1)", text) + style.text = text + + for svg_element in svg.findall(f".//*"): + if svg_element.tag in (f"{SVG}style", f"{SVG}svg"): + continue + attrib = svg_element.attrib + # add "prefix-" to all ids + if "id" in attrib: + attrib["id"] = f"{prefix}-{attrib['id']}" + # add class "prefix" to all classes + if "class" in attrib: + attrib["class"] += f" {prefix}" + if svg_element.tag == f"{SVG}use": + href_attrib = f"{XLINK}href" + if href_attrib in attrib: + href = attrib[href_attrib] + if href.startswith("#"): + attrib[href_attrib] = f"#{prefix}-{href[1:]}" + + return svg + def build_drawings(self, root, sheet): for view in root.findall('{http://www.w3.org/2000/svg}g[@data-type="drawing"]'): + drawing_id = int(view.attrib["data-id"]) reference = tool.Ifc.get().by_id(int(view.attrib["data-id"])) drawing = tool.Ifc.get().by_id(view.attrib["data-drawing"]) @@ -300,7 +355,9 @@ class SheetBuilder: view_title = image if foreground is not None: - view.append(self.parse_embedded_svg(foreground, {})) + svg = self.parse_embedded_svg(foreground, {}) + svg = self.ensure_drawing_unique_styles(svg, drawing_id) + view.append(svg) if background is not None: background_path = os.path.join(self.layout_dir, self.get_href(background)) From 1a0280928bd3b9f1a3db865f4875d649438e56c4 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Wed, 7 Jun 2023 08:43:08 +0200 Subject: [PATCH 027/225] #3201 take into account edge orientation correctly --- src/ifcgeom/IfcCompositeCurve.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/ifcgeom/IfcCompositeCurve.cpp b/src/ifcgeom/IfcCompositeCurve.cpp index 0af611ef30..1986ac80cc 100644 --- a/src/ifcgeom/IfcCompositeCurve.cpp +++ b/src/ifcgeom/IfcCompositeCurve.cpp @@ -215,11 +215,17 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcCompositeCurve* l, TopoDS_Wire V1.Normalize(); V2.Normalize(); + V2.Reverse(); + + if (edges.First().Orientation() == TopAbs_REVERSED) { + V1.Reverse(); + } + if (edges.Last().Orientation() == TopAbs_REVERSED) { + V2.Reverse(); + } auto ang = std::acos(V1.Dot(V2)); - Logger::Notice(std::to_string(ang)); - if (ang < 0.0314) { edges_to_tesselate.Add(crv1->DynamicType() == STANDARD_TYPE(Geom_Circle) ? edges.First() : edges.Last()); Logger::Notice("Sharp circular corner detecting, substituting with linear approximation"); From c2a4e30fae05a8f51134ca1e1ddb57407892bbe0 Mon Sep 17 00:00:00 2001 From: Martin15135215 <110968398+Martin15135215@users.noreply.github.com> Date: Fri, 2 Jun 2023 21:09:03 +0200 Subject: [PATCH 028/225] CITATION.cff file for BlenderBIM --- src/blenderbim/CITATION.cff | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/blenderbim/CITATION.cff diff --git a/src/blenderbim/CITATION.cff b/src/blenderbim/CITATION.cff new file mode 100644 index 0000000000..cb445283a0 --- /dev/null +++ b/src/blenderbim/CITATION.cff @@ -0,0 +1,30 @@ +# This CITATION.cff file was generated with cffinit. +# Visit https://bit.ly/cffinit to generate yours today! + +cff-version: 1.2.0 +title: BlenderBIM Add-on +message: >- + If you use this software, please cite it using the + metadata from this file. +type: software +authors: + - given-names: Dion + family-names: Moult + email: dion@thinkmoult.com + - given-names: Thomas + family-names: Krijnen +repository-code: >- + https://github.com/IfcOpenShell/IfcOpenShell/tree/v0.7.0/src/blenderbim +url: 'https://blenderbim.org/' +repository-artifact: 'https://blenderbim.org/download.html' +abstract: >- + Add-on to Blender providing a graphical native IFC + authoring platform +keywords: + - IFC + - Blender + - NativeIFC +license: GPL-3.0-or-later +commit: 1fb6dac +version: v0.0.230506 +date-released: '2023-05-23' From b05417a4d80a2ee39ed99d1b0930c85a0605ab9d Mon Sep 17 00:00:00 2001 From: Martin15135215 <110968398+Martin15135215@users.noreply.github.com> Date: Mon, 5 Jun 2023 18:25:05 +0200 Subject: [PATCH 029/225] Update author in CITATION.cff --- src/blenderbim/CITATION.cff | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/blenderbim/CITATION.cff b/src/blenderbim/CITATION.cff index cb445283a0..6e313e3db2 100644 --- a/src/blenderbim/CITATION.cff +++ b/src/blenderbim/CITATION.cff @@ -8,11 +8,7 @@ message: >- metadata from this file. type: software authors: - - given-names: Dion - family-names: Moult - email: dion@thinkmoult.com - - given-names: Thomas - family-names: Krijnen + - name: "IfcOpenShell contributors" repository-code: >- https://github.com/IfcOpenShell/IfcOpenShell/tree/v0.7.0/src/blenderbim url: 'https://blenderbim.org/' From f68f60832c2a1fa44ce38b4dd185dc2fa122e0f8 Mon Sep 17 00:00:00 2001 From: Gorgious56 Date: Wed, 7 Jun 2023 11:21:43 +0200 Subject: [PATCH 030/225] Fix profile based geometry not re-generating properly when exiting edit mode and the profile geometry wasn't modified --- .../blenderbim/bim/module/geometry/operator.py | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/geometry/operator.py b/src/blenderbim/blenderbim/bim/module/geometry/operator.py index 329cfaeec9..733d47da75 100644 --- a/src/blenderbim/blenderbim/bim/module/geometry/operator.py +++ b/src/blenderbim/blenderbim/bim/module/geometry/operator.py @@ -804,7 +804,6 @@ class OverrideModeSetEdit(bpy.types.Operator): if usage_type == "PROFILE": if len(context.selected_objects) == 1: bpy.ops.bim.hotkey(hotkey="A_E", description="") - obj.data.BIMMeshProperties.mesh_checksum = tool.Geometry.get_mesh_checksum(obj.data) return {"FINISHED"} else: self.report({"INFO"}, "Only a single profile-based representation can be edited at a time.") @@ -818,7 +817,6 @@ class OverrideModeSetEdit(bpy.types.Operator): ): if len(context.selected_objects) == 1: bpy.ops.bim.hotkey(hotkey="S_E", description="") - obj.data.BIMMeshProperties.mesh_checksum = tool.Geometry.get_mesh_checksum(obj.data) return {"FINISHED"} else: self.report({"INFO"}, "Only a single profile-based representation can be edited at a time.") @@ -939,13 +937,12 @@ class OverrideModeSetObject(bpy.types.Operator): if tool.Profile.is_editing_profile(): if tool.Pset.get_element_pset(element, "BBIM_Railing"): bpy.ops.bim.cad_hotkey(hotkey="S_Q") - elif obj.data.BIMMeshProperties.mesh_checksum != tool.Geometry.get_mesh_checksum(obj.data): - if tool.Pset.get_element_pset(element, "BBIM_Roof"): - bpy.ops.bim.cad_hotkey(hotkey="S_Q") - elif tool.Model.get_usage_type(element): - bpy.ops.bim.edit_extrusion_axis() - else: - bpy.ops.bim.edit_extrusion_profile() + elif tool.Pset.get_element_pset(element, "BBIM_Roof"): + bpy.ops.bim.cad_hotkey(hotkey="S_Q") + elif tool.Model.get_usage_type(element): + bpy.ops.bim.edit_extrusion_axis() + else: + bpy.ops.bim.edit_extrusion_profile() return self.execute(context) elif obj.data.BIMMeshProperties.ifc_definition_id: if not tool.Geometry.has_geometric_data(obj): From 5a3a387b8cf3cb805cca936945fd1fac3967bf44 Mon Sep 17 00:00:00 2001 From: Gorgious56 Date: Wed, 7 Jun 2023 11:22:06 +0200 Subject: [PATCH 031/225] Fix error when going out of edit mode with TAB when editing an arbitrary profile --- src/blenderbim/blenderbim/bim/module/geometry/operator.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/blenderbim/blenderbim/bim/module/geometry/operator.py b/src/blenderbim/blenderbim/bim/module/geometry/operator.py index 733d47da75..0e94b929fa 100644 --- a/src/blenderbim/blenderbim/bim/module/geometry/operator.py +++ b/src/blenderbim/blenderbim/bim/module/geometry/operator.py @@ -935,7 +935,12 @@ class OverrideModeSetObject(bpy.types.Operator): continue if tool.Profile.is_editing_profile(): - if tool.Pset.get_element_pset(element, "BBIM_Railing"): + profile_id = context.scene.BIMProfileProperties.active_profile_id + if profile_id: + profile = tool.Ifc.get().by_id(profile_id) + if tool.Ifc.get_object(profile): # We are editing an arbitrary profile + bpy.ops.bim.edit_arbitrary_profile() + elif tool.Pset.get_element_pset(element, "BBIM_Railing"): bpy.ops.bim.cad_hotkey(hotkey="S_Q") elif tool.Pset.get_element_pset(element, "BBIM_Roof"): bpy.ops.bim.cad_hotkey(hotkey="S_Q") From 77c2e30733c542d794bf95c47166e7682e108f8d Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Wed, 7 Jun 2023 22:13:30 +1000 Subject: [PATCH 032/225] Fix #3272. See #3069. Fix incorrect refactoring when I was decoupling collections. --- src/blenderbim/blenderbim/tool/collector.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/blenderbim/blenderbim/tool/collector.py b/src/blenderbim/blenderbim/tool/collector.py index ae297f656f..7e5c418176 100644 --- a/src/blenderbim/blenderbim/tool/collector.py +++ b/src/blenderbim/blenderbim/tool/collector.py @@ -175,12 +175,18 @@ class Collector(blenderbim.core.tool.Collector): axes = "WAxes" grid_obj = tool.Ifc.get_object(grid) if grid_obj: - return bpy.data.collections.get(grid_obj.name) + return grid_obj.BIMObjectProperties.collection if element.is_a("IfcAnnotation"): + if element.ObjectType == "DRAWING": + return cls._create_project_child_collection("Views") for rel in element.HasAssignments or []: if rel.is_a("IfcRelAssignsToGroup") and rel.RelatingGroup.ObjectType == "DRAWING": - return cls._create_project_child_collection("Views") + for related_object in rel.RelatedObjects: + if related_object.is_a("IfcAnnotation") and related_object.ObjectType == "DRAWING": + drawing_obj = tool.Ifc.get_object(related_object) + if drawing_obj: + return drawing_obj.BIMObjectProperties.collection if element.is_a("IfcStructuralItem"): return cls._create_project_child_collection("StructuralItems") From a8ca8217ea013c94a47c23b9f56f285f375622ab Mon Sep 17 00:00:00 2001 From: Bruno Postle Date: Wed, 7 Jun 2023 22:50:20 +0100 Subject: [PATCH 033/225] BlenderBIM fix Git error on simple merge (#3096) Running git commit after a simple merge (that hasn't required conflict resolution) is a noop, but generates an annoying message anyway. --- src/blenderbim/blenderbim/tool/ifcgit.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/blenderbim/blenderbim/tool/ifcgit.py b/src/blenderbim/blenderbim/tool/ifcgit.py index 0ac0871020..654e52f832 100644 --- a/src/blenderbim/blenderbim/tool/ifcgit.py +++ b/src/blenderbim/blenderbim/tool/ifcgit.py @@ -373,6 +373,11 @@ class IfcGit: config_writer = IfcGitRepo.repo.config_writer() config_writer.set_value(section, "cmd", "ifcmerge $BASE $LOCAL $REMOTE $MERGED") config_writer.set_value(section, "trustExitCode", True) + section = 'mergetool "ifcmerge-forward"' + if not config_reader.has_section(section): + config_writer = IfcGitRepo.repo.config_writer() + config_writer.set_value(section, "cmd", "ifcmerge $BASE $REMOTE $LOCAL $MERGED") + config_writer.set_value(section, "trustExitCode", True) @classmethod def config_info_attributes(cls, repo): @@ -415,6 +420,11 @@ class IfcGit: operator.report({"ERROR"}, "IFC Merge failed:" + message) return False + else: + if os.name == "nt": + cls.dos2unix(path_ifc) + repo.index.add(path_ifc) + repo.git.commit("--no-edit") except: operator.report({"ERROR"}, "Unknown IFC Merge failure") @@ -422,10 +432,6 @@ class IfcGit: props.display_branch = repo.active_branch.name - if os.name == "nt": - cls.dos2unix(path_ifc) - repo.index.add(path_ifc) - repo.git.commit("--no-edit") cls.load_project(path_ifc) cls.refresh_revision_list(path_ifc) From e78b3a3977dc99e0bcb9c642108a11a8d7957e79 Mon Sep 17 00:00:00 2001 From: Martin15135215 <110968398+Martin15135215@users.noreply.github.com> Date: Wed, 7 Jun 2023 22:15:16 +0200 Subject: [PATCH 034/225] CITATION.cff for bcf --- src/bcf/CITATION.cff | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 src/bcf/CITATION.cff diff --git a/src/bcf/CITATION.cff b/src/bcf/CITATION.cff new file mode 100644 index 0000000000..5ec89416e2 --- /dev/null +++ b/src/bcf/CITATION.cff @@ -0,0 +1,20 @@ +# This CITATION.cff file was generated with cffinit. +# Visit https://bit.ly/cffinit to generate yours today! + +cff-version: 1.2.0 +title: bcf +message: >- + If you use this software, please cite it using the + metadata from this file. +type: software +authors: + - name: "IfcOpenShell contributors" +repository-code: >- + https://github.com/IfcOpenShell/IfcOpenShell/tree/v0.7.0/src/bcf +abstract: >- + Library to read and write BCF-XML and query OpenCDE + BCF-API modules +keywords: + - BCF + - IFC +license: LGPL-3.0-or-later From eaeeede287cd0e087dc834c412a26efb6ed3496d Mon Sep 17 00:00:00 2001 From: Martin15135215 <110968398+Martin15135215@users.noreply.github.com> Date: Wed, 7 Jun 2023 22:19:01 +0200 Subject: [PATCH 035/225] CITATION.cff for bsdd --- src/bsdd/CITATION.cff | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 src/bsdd/CITATION.cff diff --git a/src/bsdd/CITATION.cff b/src/bsdd/CITATION.cff new file mode 100644 index 0000000000..cc86d33007 --- /dev/null +++ b/src/bsdd/CITATION.cff @@ -0,0 +1,18 @@ +# This CITATION.cff file was generated with cffinit. +# Visit https://bit.ly/cffinit to generate yours today! + +cff-version: 1.2.0 +title: bsdd +message: >- + If you use this software, please cite it using the + metadata from this file. +type: software +authors: + - name: "IfcOpenShell contributors" +repository-code: >- + https://github.com/IfcOpenShell/IfcOpenShell/tree/v0.7.0/src/bsdd +abstract: Library to query the bSDD API +keywords: + - bSDD + - IFC +license: LGPL-3.0-or-later From 5a9dbc5a36303ae8442958c06579f915451886f0 Mon Sep 17 00:00:00 2001 From: Martin15135215 <110968398+Martin15135215@users.noreply.github.com> Date: Wed, 7 Jun 2023 22:23:33 +0200 Subject: [PATCH 036/225] CITATION.cff for ifc2ca --- src/ifc2ca/CITATION.cff | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 src/ifc2ca/CITATION.cff diff --git a/src/ifc2ca/CITATION.cff b/src/ifc2ca/CITATION.cff new file mode 100644 index 0000000000..18ff8e0bed --- /dev/null +++ b/src/ifc2ca/CITATION.cff @@ -0,0 +1,21 @@ +# This CITATION.cff file was generated with cffinit. +# Visit https://bit.ly/cffinit to generate yours today! + +cff-version: 1.2.0 +title: ifc2ca +message: >- + If you use this software, please cite it using the + metadata from this file. +type: software +authors: + - name: "IfcOpenShell contributors" +repository-code: >- + https://github.com/IfcOpenShell/IfcOpenShell/tree/v0.7.0/src/ifc2ca +abstract: >- + Utility to convert IFC structural analysis models to + Code_Aster +keywords: + - Code_Aster + - IFC + - Structural analysis +license: LGPL-3.0-or-later From fc1f5496a0546c734ac544b7c3fb45fe202d0aff Mon Sep 17 00:00:00 2001 From: Martin15135215 <110968398+Martin15135215@users.noreply.github.com> Date: Wed, 7 Jun 2023 22:26:02 +0200 Subject: [PATCH 037/225] CITATION.cff for ifc4d --- src/ifc4d/CITATION.cff | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 src/ifc4d/CITATION.cff diff --git a/src/ifc4d/CITATION.cff b/src/ifc4d/CITATION.cff new file mode 100644 index 0000000000..d987e70474 --- /dev/null +++ b/src/ifc4d/CITATION.cff @@ -0,0 +1,18 @@ +# This CITATION.cff file was generated with cffinit. +# Visit https://bit.ly/cffinit to generate yours today! + +cff-version: 1.2.0 +title: ifc4d +message: >- + If you use this software, please cite it using the + metadata from this file. +type: software +authors: + - name: "IfcOpenShell contributors" +repository-code: >- + https://github.com/IfcOpenShell/IfcOpenShell/tree/v0.7.0/src/ifc4d +abstract: Convert to and from IFC and project management software +keywords: + - IFC + - 4D +license: LGPL-3.0-or-later From df64ca4cfbe9926f3b7d3ba0ae970cf808576e1a Mon Sep 17 00:00:00 2001 From: Martin15135215 <110968398+Martin15135215@users.noreply.github.com> Date: Wed, 7 Jun 2023 22:28:41 +0200 Subject: [PATCH 038/225] CITATION.cff for ifc5d --- src/ifc5d/CITATION.cff | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 src/ifc5d/CITATION.cff diff --git a/src/ifc5d/CITATION.cff b/src/ifc5d/CITATION.cff new file mode 100644 index 0000000000..eb1c85b369 --- /dev/null +++ b/src/ifc5d/CITATION.cff @@ -0,0 +1,18 @@ +# This CITATION.cff file was generated with cffinit. +# Visit https://bit.ly/cffinit to generate yours today! + +cff-version: 1.2.0 +title: ifc5d +message: >- + If you use this software, please cite it using the + metadata from this file. +type: software +authors: + - name: "IfcOpenShell contributors" +repository-code: >- + https://github.com/IfcOpenShell/IfcOpenShell/tree/v0.7.0/src/ifc5d +abstract: Report and optimise cost information from IFC +keywords: + - IFC + - 5D +license: LGPL-3.0-or-later From 5825e0c71b5828142c1ff875b65df3ec87850c1f Mon Sep 17 00:00:00 2001 From: Martin15135215 <110968398+Martin15135215@users.noreply.github.com> Date: Wed, 7 Jun 2023 22:32:40 +0200 Subject: [PATCH 039/225] CITATION.cff for BIMTester --- src/ifcbimtester/CITATION.cff | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 src/ifcbimtester/CITATION.cff diff --git a/src/ifcbimtester/CITATION.cff b/src/ifcbimtester/CITATION.cff new file mode 100644 index 0000000000..d2d6ca6abb --- /dev/null +++ b/src/ifcbimtester/CITATION.cff @@ -0,0 +1,19 @@ +# This CITATION.cff file was generated with cffinit. +# Visit https://bit.ly/cffinit to generate yours today! + +cff-version: 1.2.0 +title: BIMTester +message: >- + If you use this software, please cite it using the + metadata from this file. +type: software +authors: + - name: "IfcOpenShell contributors"authors: +repository-code: >- + https://github.com/IfcOpenShell/IfcOpenShell/tree/v0.7.0/src/ifcbimtester +url: 'https://blenderbim.org/docs-python/bimtester.html' +abstract: Wrapper for Gherkin based unit testing for IFC models +keywords: + - Gherkin + - IFC +license: LGPL-3.0-or-later From 18ad025c5dde0d064545a36f2d5d22d0bd79e208 Mon Sep 17 00:00:00 2001 From: Nelson Henrique <67214937+nelsonhp3@users.noreply.github.com> Date: Thu, 8 Jun 2023 00:15:27 +0000 Subject: [PATCH 040/225] implements fileselect to export_cost_schedules --- src/blenderbim/blenderbim/bim/module/cost/operator.py | 6 ++++-- src/blenderbim/blenderbim/core/cost.py | 4 ++-- src/blenderbim/blenderbim/core/tool.py | 2 +- src/blenderbim/blenderbim/tool/cost.py | 8 ++++++-- 4 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/cost/operator.py b/src/blenderbim/blenderbim/bim/module/cost/operator.py index 50b42bd672..320e3840f7 100644 --- a/src/blenderbim/blenderbim/bim/module/cost/operator.py +++ b/src/blenderbim/blenderbim/bim/module/cost/operator.py @@ -631,17 +631,19 @@ class ExportCostSchedules(bpy.types.Operator): bl_description = "Export a cost schedule to a CSV, XSLX OR ODS file" cost_schedule: bpy.props.IntProperty() format: bpy.props.EnumProperty("Format", items=(("CSV", "CSV", ""), ("XLSX", "XLSX", ""), ("ODS", "ODS", ""))) + filepath: bpy.props.StringProperty(subtype="FILE_PATH") def execute(self, context): cost_schedule = tool.Ifc.get().by_id(self.cost_schedule) if self.cost_schedule else None - r = core.export_cost_schedules(tool.Cost, format=self.format, cost_schedule=cost_schedule) + r = core.export_cost_schedules(tool.Cost, filepath=self.filepath, format=self.format, cost_schedule=cost_schedule) if isinstance(r, str): self.report({"ERROR"}, r) return {"FINISHED"} def invoke(self, context, event): wm = context.window_manager - return wm.invoke_props_dialog(self) + wm.fileselect_add(self) + return {"RUNNING_MODAL"} def draw(self, context): self.layout.label(text="Choose a format") diff --git a/src/blenderbim/blenderbim/core/cost.py b/src/blenderbim/blenderbim/core/cost.py index 6d1d2e9cd6..4cc4db3d5b 100644 --- a/src/blenderbim/blenderbim/core/cost.py +++ b/src/blenderbim/blenderbim/core/cost.py @@ -236,9 +236,9 @@ def calculate_cost_item_resource_value(ifc, cost_item): ifc.run("cost.calculate_cost_item_resource_value", cost_item=cost_item) -def export_cost_schedules(cost, format, cost_schedule=None): +def export_cost_schedules(cost, filepath, format, cost_schedule=None): cost.play_sound() - return cost.export_cost_schedules(format, cost_schedule) + return cost.export_cost_schedules(filepath, format, cost_schedule) def clear_cost_item_assignments(ifc, cost, cost_item, related_object_type): diff --git a/src/blenderbim/blenderbim/core/tool.py b/src/blenderbim/blenderbim/core/tool.py index a2c4d4c704..cfe42c95e4 100644 --- a/src/blenderbim/blenderbim/core/tool.py +++ b/src/blenderbim/blenderbim/core/tool.py @@ -165,7 +165,7 @@ class Cost: def expand_cost_item_rate(cls, cost_item): pass def expand_cost_item(cls, cost_item): pass def expand_cost_items(cls): pass - def export_cost_schedules(cls, format, cost_schedule): pass + def export_cost_schedules(cls, filepath, format, cost_schedule): pass def format_unit(cls, unit): pass def get_active_cost_item(cls): pass def get_active_cost_schedule(cls): pass diff --git a/src/blenderbim/blenderbim/tool/cost.py b/src/blenderbim/blenderbim/tool/cost.py index 328d41575f..f007e6ff01 100644 --- a/src/blenderbim/blenderbim/tool/cost.py +++ b/src/blenderbim/blenderbim/tool/cost.py @@ -505,11 +505,15 @@ class Cost(blenderbim.core.tool.Cost): props.is_cost_update_enabled = True @classmethod - def export_cost_schedules(cls, format=None, cost_schedule=None): + def export_cost_schedules(cls, filepath, format=None, cost_schedule=None): import subprocess import os import sys - path = os.path.join(bpy.context.scene.BIMProperties.data_dir, "cost_schedules") + if filepath: + path=filepath + else: + path = os.path.join(bpy.context.scene.BIMProperties.data_dir, "build", "cost_schedules") + if not os.path.exists(path): os.makedirs(path) if format == "CSV": From 78be8114acc6d53dfe18c940525560e47e019e2f Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Thu, 8 Jun 2023 15:59:49 +1000 Subject: [PATCH 041/225] Fix sync bug where unused styles would be purged when reloading a blender file. --- src/blenderbim/blenderbim/bim/import_ifc.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/blenderbim/blenderbim/bim/import_ifc.py b/src/blenderbim/blenderbim/bim/import_ifc.py index a9ca216be9..a7213eab5b 100644 --- a/src/blenderbim/blenderbim/bim/import_ifc.py +++ b/src/blenderbim/blenderbim/bim/import_ifc.py @@ -1478,6 +1478,7 @@ class IfcImporter: if not blender_material: name = style.Name or str(style.id()) blender_material = bpy.data.materials.new(name) + blender_material.use_fake_user = True self.link_element(style, blender_material) From b035129788572dc12ae38f6cb5ca30188373c9b8 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Thu, 8 Jun 2023 16:00:21 +1000 Subject: [PATCH 042/225] Fix bug where you couldn't unassign inherited materials. --- .../blenderbim/bim/module/material/operator.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/blenderbim/blenderbim/bim/module/material/operator.py b/src/blenderbim/blenderbim/bim/module/material/operator.py index 756b2d8e9b..e3cf6fa02e 100644 --- a/src/blenderbim/blenderbim/bim/module/material/operator.py +++ b/src/blenderbim/blenderbim/bim/module/material/operator.py @@ -249,7 +249,14 @@ class UnassignMaterial(bpy.types.Operator, tool.Ifc.Operator): element = tool.Ifc.get_entity(obj) if element: material = ifcopenshell.util.element.get_material(element, should_inherit=False) - if "Usage" not in material.is_a(): + inherited_material = ifcopenshell.util.element.get_material(element, should_inherit=True) + if "Usage" in material.is_a(): + element_type = ifcopenshell.util.element.get_type(element) + ifcopenshell.api.run("material.unassign_material", tool.Ifc.get(), product=element_type) + elif not material and inherited_material: + element_type = ifcopenshell.util.element.get_type(element) + ifcopenshell.api.run("material.unassign_material", tool.Ifc.get(), product=element_type) + elif material: ifcopenshell.api.run("material.unassign_material", tool.Ifc.get(), product=element) From e4ec1dc4574df02d73549f9e6ad91844a537156a Mon Sep 17 00:00:00 2001 From: Chetan Date: Wed, 7 Jun 2023 16:54:28 +0800 Subject: [PATCH 043/225] If an IFC file has an IFCRELASSOCIATESMATERIAL but did not supply an IFCMATERIAL, IfcConvert will crash. This commit prevents the crash, catches the exception and prints an error on the terminal --- src/ifcgeom/IfcGeom.cpp | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/src/ifcgeom/IfcGeom.cpp b/src/ifcgeom/IfcGeom.cpp index a489d3caf9..ae73bcbe3a 100644 --- a/src/ifcgeom/IfcGeom.cpp +++ b/src/ifcgeom/IfcGeom.cpp @@ -554,17 +554,26 @@ const IfcSchema::IfcMaterial* IfcGeom::Kernel::get_single_material_association(c IfcSchema::IfcMaterial* single_material = 0; IfcSchema::IfcRelAssociatesMaterial::list::ptr associated_materials = product->HasAssociations()->as(); if (associated_materials->size() == 1) { - IfcSchema::IfcMaterialSelect* associated_material = (*associated_materials->begin())->RelatingMaterial(); - single_material = associated_material->as(); - // NB: IfcMaterialLayerSets are also considered, regardless of --enable-layerset-slicing. Picking - // the first material (in accordance with other viewers) when layerset-slicing is disabled. - if (!single_material && associated_material->as()) { - IfcSchema::IfcMaterialLayerSet* layerset = associated_material->as()->ForLayerSet(); - if (getValue(GV_LAYERSET_FIRST) > 0.0 ? layerset->MaterialLayers()->size() >= 1 : layerset->MaterialLayers()->size() == 1) { - IfcSchema::IfcMaterialLayer* layer = (*layerset->MaterialLayers()->begin()); - if (layer->Material()) { - single_material = layer->Material(); + IfcSchema::IfcMaterialSelect* associated_material = nullptr; + + try { + associated_material = (*associated_materials->begin())->RelatingMaterial(); + } catch(IfcParse::IfcException& e) { + Logger::Error(e.what()); + } + + if (associated_material) { + single_material = associated_material->as(); + // NB: IfcMaterialLayerSets are also considered, regardless of --enable-layerset-slicing. Picking + // the first material (in accordance with other viewers) when layerset-slicing is disabled. + if (!single_material && associated_material->as()) { + IfcSchema::IfcMaterialLayerSet* layerset = associated_material->as()->ForLayerSet(); + if (getValue(GV_LAYERSET_FIRST) > 0.0 ? layerset->MaterialLayers()->size() >= 1 : layerset->MaterialLayers()->size() == 1) { + IfcSchema::IfcMaterialLayer* layer = (*layerset->MaterialLayers()->begin()); + if (layer->Material()) { + single_material = layer->Material(); + } } } } From 7a0963617e16b49ede36bf5cca91e4467e245fea Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Thu, 8 Jun 2023 17:58:06 +0500 Subject: [PATCH 044/225] Fixed small error on disabling editing extrusion axis --- src/blenderbim/blenderbim/bim/module/model/profile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/blenderbim/blenderbim/bim/module/model/profile.py b/src/blenderbim/blenderbim/bim/module/model/profile.py index 48971b1377..172484aa9b 100644 --- a/src/blenderbim/blenderbim/bim/module/model/profile.py +++ b/src/blenderbim/blenderbim/bim/module/model/profile.py @@ -927,7 +927,7 @@ class DisableEditingExtrusionAxis(bpy.types.Operator, tool.Ifc.Operator): return context.selected_objects def _execute(self, context): - return disable_editing_extrusion_axis() + return disable_editing_extrusion_axis(context) class EditExtrusionAxis(bpy.types.Operator, tool.Ifc.Operator): From c67eb60fd5b546cb2abb138d2416b70ce19ba636 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Fri, 9 Jun 2023 11:34:50 +0200 Subject: [PATCH 045/225] #2942 Escape SVG text labels --- src/serializers/SvgSerializer.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/serializers/SvgSerializer.cpp b/src/serializers/SvgSerializer.cpp index cdeb383841..6fa3b807a4 100644 --- a/src/serializers/SvgSerializer.cpp +++ b/src/serializers/SvgSerializer.cpp @@ -1332,7 +1332,8 @@ void SvgSerializer::write(const geometry_data& data) { labels.push_back(ss.str() + "m"); for (auto lit = labels.begin(); lit != labels.end(); ++lit) { - const auto& l = *lit; + auto l = *lit; + IfcUtil::escape_xml(l); double dy = labels.begin() == lit ? 0.35 - (labels.size() - 1.) / 2. : 1.0; // <- dy is relative to the previous text element, so @@ -1500,7 +1501,8 @@ void SvgSerializer::write(const geometry_data& data) { ycoords.push_back(path.add(anchor_pt->Y())); path.add("\">"); for (auto lit = labels.begin(); lit != labels.end(); ++lit) { - const auto& l = *lit; + auto l = *lit; + IfcUtil::escape_xml(l); double dy = labels.begin() == lit ? 0.35 - (labels.size() - 1.) / 2. : 1.0; // <- dy is relative to the previous text element, so @@ -1617,7 +1619,8 @@ void SvgSerializer::write(const geometry_data& data) { } path.add(">"); for (auto lit = labels.begin(); lit != labels.end(); ++lit) { - const auto& l = *lit; + auto l = *lit; + IfcUtil::escape_xml(l); double dy = labels.begin() == lit ? 0.35 - (labels.size() - 1.) / 2. : 1.0; // <- dy is relative to the previous text element, so @@ -1943,7 +1946,8 @@ void SvgSerializer::addTextAnnotations(const drawing_key& k) { std::vector labels{ desc }; for (auto lit = labels.begin(); lit != labels.end(); ++lit) { - const auto& l = *lit; + auto l = *lit; + IfcUtil::escape_xml(l); double dy = labels.begin() == lit ? 0.0 // align bottom : 1.0; // <- dy is relative to the previous text element, so From cc6dacb28633b3982a8baead7a4fdff7a699d636 Mon Sep 17 00:00:00 2001 From: D4ve-R Date: Thu, 4 May 2023 13:19:13 +0200 Subject: [PATCH 046/225] Add USDSerializer write-only --- src/serializers/USDSerializer.cpp | 95 +++++++++++++++++++++++++++++++ src/serializers/USDSerializer.h | 55 ++++++++++++++++++ 2 files changed, 150 insertions(+) create mode 100644 src/serializers/USDSerializer.cpp create mode 100644 src/serializers/USDSerializer.h diff --git a/src/serializers/USDSerializer.cpp b/src/serializers/USDSerializer.cpp new file mode 100644 index 0000000000..8be716f1e9 --- /dev/null +++ b/src/serializers/USDSerializer.cpp @@ -0,0 +1,95 @@ +#ifdef WITH_USD + +#include "USDSerializer.h" + +#include "../ifcparse/utils.h" + +#include "pxr/pxr.h" +#include "pxr/usd/usd/stage.h" +#include "pxr/usd/sdf/path.h" +#include "pxr/usd/usdGeom/xform.h" +#include "pxr/usd/usdGeom/xformOp.h" +#include "pxr/usd/usdGeom/mesh.h" +#include "pxr/usd/usdGeom/tokens.h" +#include "pxr/usd/usdGeom/scope.h" +#include "pxr/usd/usdLux/distantLight.h" +#include "pxr/usd/gf/vec3f.h" +#include "pxr/usd/gf/rotation.h" + +#include +#include +#include + + +USDSerializer::USDSerializer(const std::string& filename, const SerializerSettings& settings, bool read_only) + : WriteOnlyGeometrySerializer(settings) + , filename_(filename) + , settings_(settings) +{ + // create a new stage + stage_ = pxr::UsdStage::CreateNew(filename + ".usda"); + if( !settings().get(SerializerSettings::USE_Y_UP) ) + stage_->SetDefaultPrim(pxr::UsdGeomXform::Define(stage_, pxr::SdfPath("/"), pxr::UsdGeomTokens->z)); + else + stage_->SetDefaultPrim(pxr::UsdGeomXform::Define(stage_, pxr::SdfPath("/"), pxr::UsdGeomTokens->y)); + // create root xform prim 'World' + pxr::UsdGeomXform::Define(stage_, pxr::SdfPath("/World")); + pxr::UsdGeomScope::Define(stage_, pxr::SdfPath("/Looks")); + createLighting(); + ready_ = true; +} + +USDSerializer::~USDSerializer() { + +} + +void USDSerializer::writeLighting() { + // create a distant light + const std::string& light_path = "/World/defaultLight"; + pxr::UsdLuxDistantLight::Define(stage_, pxr::SdfPath(light_path)); + // set the light's orientation + pxr::UsdGeomXform xform(stage_->GetPrimAtPath(pxr::SdfPath(light_path))); + pxr::GfVec3f light_direction(0.0f, 0.0f, -1.0f); + xform.AddRotateOp(pxr::UsdGeomXformOp::PrecisionFloat, pxr::UsdGeomXformOp::TypeRotateXYZ).Set(pxr::GfRotation(pxr::GfVec3f(0.0f, 1.0f, 0.0f), light_direction).GetQuaternion()); + // set the light's color + pxr::UsdLuxDistantLight light(stage_->GetPrimAtPath(pxr::SdfPath(light_path))); + light.CreateIntensityAttr().Set(1000.0f); + light.CreateColorAttr().Set(pxr::GfVec3f(1.0f, 1.0f, 1.0f)); +} + +bool USDSerializer::ready() { + return ready_; +} + +void USDSerializer::writeHeader() { + std::stringstream ss; + ss << "File generated by IfcOpenShell " << IFCOPENSHELL_VERSION; + stage_->SetMetadata("comment", ss.str()); +} + +void USDSerializer::write(const IfcGeom::TriangulationElement* o) { + if ( o->geometry().material_ids().empty() ) + return; + + std:sstringstream ss("/World/"); + ss << o->geometry().id(); + pxr::UsdGeomMesh::Define(stage_, pxr::SdfPath(ss.str())); + const IfcGeom::Representation::Triangulation& mesh = o->geometry(); + const std::vector& m = o->transformation().matrix().data(); + + const int vcount = (int)mesh.verts().size() / 3; + for ( std::vector::const_iterator it = mesh.verts().begin(); it != mesh.verts().end(); ) { + const double x = *(it++); + const double y = *(it++); + const double z = *(it++); + + + } + +} + +void USDSerializer::finalize() { + stage_->GetRootLayer()->Save(); +} + +#endif // WITH_USD \ No newline at end of file diff --git a/src/serializers/USDSerializer.h b/src/serializers/USDSerializer.h new file mode 100644 index 0000000000..24428c7e60 --- /dev/null +++ b/src/serializers/USDSerializer.h @@ -0,0 +1,55 @@ +/******************************************************************************** + * * + * 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 USDSERIALIZER_H +#define USDSERIALIZER_H + +#ifdef WITH_USD + +#include "../serializers/serializers_api.h" +#include "../ifcgeom_schema_agnostic/GeometrySerializer.h" + +#include "pxr/pxr.h" +#include "pxr/usd/usd/stage.h" + + +class SERIALIZERS_API USDSerializer : public WriteOnlyGeometrySerializer { +private: + std::string filename_; + bool ready_ = false; + pxr::UsdStageRefPtr stage_; + + int writeMaterial(const IfcGeom::Material& style); + void writeLighting(); +public: + USDSerializer(const std::string&, const SerializerSettings&); + virtual ~USDSerializer(); + bool ready(); + void writeHeader(); + void write(const IfcGeom::TriangulationElement*); + void write(const IfcGeom::BRepElement*) {} + void finalize(); + bool isTesselated() const { return true; } + void setUnitNameAndMagnitude(const std::string&, float) {} + void setFile(IfcParse::IfcFile*) {} +}; + +#endif + +#endif \ No newline at end of file From d1c24ebba4d29d4bb7b44cb688e025a33c518940 Mon Sep 17 00:00:00 2001 From: D4ve-R Date: Thu, 4 May 2023 20:30:03 +0200 Subject: [PATCH 047/225] Add USDSerializer to IfcConvert --- src/ifcconvert/IfcConvert.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/ifcconvert/IfcConvert.cpp b/src/ifcconvert/IfcConvert.cpp index c2dc67c7e8..ba427dbd0a 100644 --- a/src/ifcconvert/IfcConvert.cpp +++ b/src/ifcconvert/IfcConvert.cpp @@ -34,6 +34,7 @@ #include "../serializers/WavefrontObjSerializer.h" #include "../serializers/XmlSerializer.h" #include "../serializers/SvgSerializer.h" +#include "../serializers/USDSerializer.h" #include "../ifcgeom_schema_agnostic/IfcGeomFilter.h" #include "../ifcgeom_schema_agnostic/IfcGeomIterator.h" @@ -101,6 +102,9 @@ void print_usage(bool suggest_help = true) #endif #ifdef WITH_GLTF << " .glb glTF Binary glTF v2.0\n" +#endif +#ifdef WITH_USD + << " .usd USD Universal Scene Description\n" #endif << " .stp STEP Standard for the Exchange of Product Data\n" << " .igs IGES Initial Graphics Exchange Specification\n" @@ -850,6 +854,10 @@ int main(int argc, char** argv) { #ifdef WITH_GLTF } else if (output_extension == GLB) { serializer = boost::make_shared(IfcUtil::path::to_utf8(output_temp_filename), settings); +#endif +#ifdef WITH_USD + } else if (output_extension == USD) { + serializer = boost::make_shared(IfcUtil::path::to_utf8(output_temp_filename), settings); #endif } else if (output_extension == STP) { serializer = boost::make_shared(IfcUtil::path::to_utf8(output_temp_filename), settings); From 1787f064f637982b19f2025fd96951090745051c Mon Sep 17 00:00:00 2001 From: D4ve-R Date: Thu, 4 May 2023 23:22:34 +0200 Subject: [PATCH 048/225] materials --- src/serializers/USDSerializer.cpp | 48 ++++++++++++++++++++++++++----- src/serializers/USDSerializer.h | 4 +-- 2 files changed, 43 insertions(+), 9 deletions(-) diff --git a/src/serializers/USDSerializer.cpp b/src/serializers/USDSerializer.cpp index 8be716f1e9..95d5c161fc 100644 --- a/src/serializers/USDSerializer.cpp +++ b/src/serializers/USDSerializer.cpp @@ -4,24 +4,29 @@ #include "../ifcparse/utils.h" -#include "pxr/pxr.h" -#include "pxr/usd/usd/stage.h" #include "pxr/usd/sdf/path.h" +#include "pxr/usd/gf/vec3f.h" +#include "pxr/usd/gf/rotation.h" +#include "pxr/usd/tf/token.h" #include "pxr/usd/usdGeom/xform.h" #include "pxr/usd/usdGeom/xformOp.h" #include "pxr/usd/usdGeom/mesh.h" #include "pxr/usd/usdGeom/tokens.h" #include "pxr/usd/usdGeom/scope.h" #include "pxr/usd/usdLux/distantLight.h" -#include "pxr/usd/gf/vec3f.h" -#include "pxr/usd/gf/rotation.h" +#include "pxr/usd/usdShade/material.h" +#include "pxr/usd/usdShade/shader.h" +#include "pxr/usd/usdShade/tokens.h" +#include "pxr/usd/usdShade/materialBindingAPI.h" +#include "pxr/usd/usdShade/connectableAPI.h" + #include #include #include -USDSerializer::USDSerializer(const std::string& filename, const SerializerSettings& settings, bool read_only) +USDSerializer::USDSerializer(const std::string& filename, const SerializerSettings& settings) : WriteOnlyGeometrySerializer(settings) , filename_(filename) , settings_(settings) @@ -43,7 +48,7 @@ USDSerializer::~USDSerializer() { } -void USDSerializer::writeLighting() { +void USDSerializer::createLighting() { // create a distant light const std::string& light_path = "/World/defaultLight"; pxr::UsdLuxDistantLight::Define(stage_, pxr::SdfPath(light_path)); @@ -57,6 +62,35 @@ void USDSerializer::writeLighting() { light.CreateColorAttr().Set(pxr::GfVec3f(1.0f, 1.0f, 1.0f)); } +void USDSerializer::writeMaterial(const pxr::UsdGeomMesh& mesh,const IfcGeom::Material& style) { + std::stringstream ss; + ss << "/Looks/" << style.original_name(); + pxr::UsdShadeMaterial::Define(stage_, pxr::SdfPath(ss.str())); + pxr::UsdShadeMaterial material(stage_->GetPrimAtPath(pxr::SdfPath(ss.str()))); + pxr::UsdShadeShader shader = pxr::UsdShadeShader::Define(stage_, pxr::SdfPath(ss.str() + "/Shader")); + shader.CreateIdAttr().Set(TfToken("UsdPreviewSurface")); + + float rgba[4] { 0.18f, 0.18f, 0.18f, 1.0f }; + if (style.hasDiffuse()) + for (int i = 0; i < 3; ++i) rgba[i] = static_cast style.diffuse()[i]; + shader.CreateInput(pxr::TfToken("diffuseColor"), pxr::SdfValueTypeNames->Color3f).Set(pxr::GfVec3f(rgba[0], rgba[1], rgba[2])); + + if(style.hasTransparency()) + rgba[3] = 1.0f - style.transparency(); + shader.CreateInput(pxr::TfToken("opacity"), pxr::SdfValueTypeNames->Float).Set(rgba[3]); + + if(style.hasSpecular()) { + for (int i = 0; i < 3; ++i) rgba[i] = static_cast style.specular()[i]; + shader.CreateInput(pxr::TfToken("useSpecularWorkflow"), pxr::SdfValueTypeNames->Int).Set(1); + } else { + shader.CreateInput(pxr::TfToken("useSpecularWorkflow"), pxr::SdfValueTypeNames->Int).Set(0); + } + shader.CreateInput(pxr::TfToken("specularColor"), pxr::SdfValueTypeNames->Color3f).Set(pxr::GfVec3f(rgba[0], rgba[1], rgba[2])); + + material.CreateSurfaceOutput().ConnectToSource(shader, pxr::TfToken("surface")); + pxr::UsdShadeMaterialBindingAPI(mesh).Bind(material); +} + bool USDSerializer::ready() { return ready_; } @@ -64,7 +98,7 @@ bool USDSerializer::ready() { void USDSerializer::writeHeader() { std::stringstream ss; ss << "File generated by IfcOpenShell " << IFCOPENSHELL_VERSION; - stage_->SetMetadata("comment", ss.str()); + stage_->GetRootLayer()->SetComment(ss.str()); } void USDSerializer::write(const IfcGeom::TriangulationElement* o) { diff --git a/src/serializers/USDSerializer.h b/src/serializers/USDSerializer.h index 24428c7e60..aa50258802 100644 --- a/src/serializers/USDSerializer.h +++ b/src/serializers/USDSerializer.h @@ -35,8 +35,8 @@ private: bool ready_ = false; pxr::UsdStageRefPtr stage_; - int writeMaterial(const IfcGeom::Material& style); - void writeLighting(); + int writeMaterial(const IfcGeom::Material&); + void createLighting(); public: USDSerializer(const std::string&, const SerializerSettings&); virtual ~USDSerializer(); From a7bbb35c5e596de6e442c9d33eb35ecfd0a82b13 Mon Sep 17 00:00:00 2001 From: D4ve-R Date: Sun, 7 May 2023 11:45:47 +0200 Subject: [PATCH 049/225] compile & link successful --- cmake/CMakeLists.txt | 70 +++++++++++++++++++++++++++---- src/ifcconvert/IfcConvert.cpp | 5 ++- src/serializers/USDSerializer.cpp | 57 +++++++++++-------------- src/serializers/USDSerializer.h | 19 ++++++++- 4 files changed, 108 insertions(+), 43 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 2dc3730e32..80efd3d98b 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -54,12 +54,14 @@ OPTION(USE_VLD "Use Visual Leak Detector for debugging memory leaks, MSVC-only." OPTION(USE_MMAP "Adds a command line options to parse IFC files from memory mapped files using Boost.Iostreams" OFF) OPTION(BUILD_SHARED_LIBS "Build IfcParse and IfcGeom as shared libs (SO/DLL)." OFF) OPTION(MSVC_PARALLEL_BUILD "Multi-threaded compilation in Microsoft Visual Studio (/MP)" OFF) +OPTION(NO_WARN "Disable all warnings" OFF) OPTION(WASM_BUILD OFF) if (${HAS_MAX}) OPTION(BUILD_IFCMAX "Build IfcMax, a 3ds Max plug-in, Windows-only." OFF) endif() if (${BUILD_CONVERT}) OPTION(GLTF_SUPPORT "Build IfcConvert with glTF support (requires json.hpp)." OFF) +OPTION(USD_SUPPORT "Build IfcConvert with USD support (requires pixar's USD library)." OFF) endif() OPTION(USERSPACE_PYTHON_PREFIX "Installs IfcPython for the current user only instead of system-wide." OFF) OPTION(ADD_COMMIT_SHA "Add commit sha and branch in version number, warning results in many rebuilds, requires git" OFF) @@ -72,6 +74,14 @@ if(MSVC AND MSVC_PARALLEL_BUILD) add_definitions("/MP") endif() +if(NO_WARN) + if(MSVC) + add_compile_options("/w") + else() + add_compile_options("-w") + endif() +endif() + # QtViewer requires Qt5 OPTION(BUILD_QTVIEWER "Build IfcOpenShell Qt GUI Viewer" OFF) include(GNUInstallDirs) @@ -137,11 +147,6 @@ UNIFY_ENVVARS_AND_CACHE(PYTHON_EXECUTABLE) UNIFY_ENVVARS_AND_CACHE(HDF5_INCLUDE_DIR) UNIFY_ENVVARS_AND_CACHE(HDF5_LIBRARY_DIR) UNIFY_ENVVARS_AND_CACHE(HDF5_LIBRARIES) -endif() -UNIFY_ENVVARS_AND_CACHE(BOOST_ROOT) -UNIFY_ENVVARS_AND_CACHE(BOOST_LIBRARYDIR) - -if (NOT MINIMAL_BUILD) UNIFY_ENVVARS_AND_CACHE(CGAL_INCLUDE_DIR) UNIFY_ENVVARS_AND_CACHE(CGAL_LIBRARY_DIR) UNIFY_ENVVARS_AND_CACHE(GMP_INCLUDE_DIR) @@ -149,6 +154,8 @@ UNIFY_ENVVARS_AND_CACHE(GMP_LIBRARY_DIR) UNIFY_ENVVARS_AND_CACHE(MPFR_INCLUDE_DIR) UNIFY_ENVVARS_AND_CACHE(MPFR_LIBRARY_DIR) endif() +UNIFY_ENVVARS_AND_CACHE(BOOST_ROOT) +UNIFY_ENVVARS_AND_CACHE(BOOST_LIBRARYDIR) if(WASM_BUILD) # when using the nix/build-all.py build script we should not @@ -170,6 +177,54 @@ add_definitions(-DWITH_GLTF) set(SWIG_DEFINES ${SWIG_DEFINES} -DWITH_GLTF) endif() +# Add USD support to serializers +if(NOT MINIMAL_BUILD AND USD_SUPPORT) + UNIFY_ENVVARS_AND_CACHE(USD_INCLUDE_DIR) + UNIFY_ENVVARS_AND_CACHE(USD_LIBRARY_DIR) + + if("${USD_INCLUDE_DIR}" STREQUAL "") + find_path(USD_INCLUDE_DIR pxr.h + [PATHS + /usr/include/pxr + /usr/local/include/pxr + ] + REQUIRED + ) + if(USD_INCLUDE_DIR) + message(STATUS "Found USD include files in: ${USD_INCLUDE_DIR}") + else() + message(FATAL_ERROR "Unable to find USD include directory, specify USD_INCLUDE_DIR manually.") + endif() + else() + set(USD_INCLUDE_DIR ${USD_INCLUDE_DIR} CACHE FILEPATH "USD header files") + message(STATUS "Looking for USD include files in: ${USD_INCLUDE_DIR}") + endif() + + set(USD_LIBRARIES + usd_usd + usd_usdGeom + usd_usdShade + usd_usdLux + usd_vt + usd_sdf + usd_tf + usd_gf + ) + + find_library(USD_LIBRARY + NAMES ${USD_LIBRARIES} + PATHS ${USD_LIBRARY_DIR}) + if(USD_LIBRARY) + message(STATUS "USD libraries ${USD_LIBRARIES} found in: ${USD_LIBRARY_DIR}") + link_directories(${USD_LIBRARY_DIR}) + else() + message(FATAL_ERROR "Unable to find USD libraries in: ${USD_LIBRARY_DIR}") + endif() + + add_definitions(-DWITH_USD) + set(SWIG_DEFINES ${SWIG_DEFINES} -DWITH_USD) +endif() + # Set INSTALL_RPATH for target MACRO(SET_INSTALL_RPATHS _target _paths) SET(${_target}_rpaths "") @@ -633,6 +688,7 @@ ENDIF() INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES} ${OCC_INCLUDE_DIR} ${OPENCOLLADA_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ${LIBXML2_INCLUDE_DIR} ${JSON_INCLUDE_DIR} ${HDF5_INCLUDE_DIR} + ${USD_INCLUDE_DIR} ) function(files_for_ifc_version IFC_VERSION RESULT_NAME) @@ -841,7 +897,7 @@ endforeach() add_library(Serializers ${SERIALIZERS_FILES}) set_target_properties(Serializers PROPERTIES COMPILE_FLAGS "-DIFC_GEOM_EXPORTS ${CONVERT_PRECISION}" VERSION "0.6.0" SOVERSION "0.6") -TARGET_LINK_LIBRARIES(Serializers ${SERIALIZER_SCHEMA_LIBRARIES} ${OPENCOLLADA_LIBRARIES}) +TARGET_LINK_LIBRARIES(Serializers ${SERIALIZER_SCHEMA_LIBRARIES} ${OPENCOLLADA_LIBRARIES} ${USD_LIBRARIES}) endif(BUILD_CONVERT or BUILD_IFCPYTHON) @@ -854,7 +910,7 @@ set(IFCCONVERT_FILES ${IFCCONVERT_CPP_FILES} ${IFCCONVERT_H_FILES}) ADD_EXECUTABLE(IfcConvert ${IFCCONVERT_FILES}) set_target_properties(IfcConvert PROPERTIES COMPILE_FLAGS "${CONVERT_PRECISION}") -TARGET_LINK_LIBRARIES(IfcConvert ${IFCOPENSHELL_LIBRARIES} ${OPENCASCADE_LIBRARIES} ${Boost_LIBRARIES} ${HDF5_LIBRARIES}) +TARGET_LINK_LIBRARIES(IfcConvert ${IFCOPENSHELL_LIBRARIES} ${OPENCASCADE_LIBRARIES} ${Boost_LIBRARIES} ${HDF5_LIBRARIES} ${USD_LIBRARIES}) if ((NOT WIN32) AND BUILD_SHARED_LIBS) # Only set RPATHs when building shared libraries (i.e. IfcParse and diff --git a/src/ifcconvert/IfcConvert.cpp b/src/ifcconvert/IfcConvert.cpp index ba427dbd0a..fdc73f5807 100644 --- a/src/ifcconvert/IfcConvert.cpp +++ b/src/ifcconvert/IfcConvert.cpp @@ -711,7 +711,8 @@ int main(int argc, char** argv) { CACHE = IfcUtil::path::from_utf8(".cache"), HDF = IfcUtil::path::from_utf8(".h5"), XML = IfcUtil::path::from_utf8(".xml"), - IFC = IfcUtil::path::from_utf8(".ifc"); + IFC = IfcUtil::path::from_utf8(".ifc"), + USD = IfcUtil::path::from_utf8(".usd"); // @todo clean up serializer selection // @todo detect program options that conflict with the chosen serializer @@ -857,7 +858,7 @@ int main(int argc, char** argv) { #endif #ifdef WITH_USD } else if (output_extension == USD) { - serializer = boost::make_shared(IfcUtil::path::to_utf8(output_temp_filename), settings); + serializer = boost::make_shared(IfcUtil::path::to_utf8(output_temp_filename), settings); #endif } else if (output_extension == STP) { serializer = boost::make_shared(IfcUtil::path::to_utf8(output_temp_filename), settings); diff --git a/src/serializers/USDSerializer.cpp b/src/serializers/USDSerializer.cpp index 95d5c161fc..18667566a2 100644 --- a/src/serializers/USDSerializer.cpp +++ b/src/serializers/USDSerializer.cpp @@ -2,15 +2,11 @@ #include "USDSerializer.h" -#include "../ifcparse/utils.h" - -#include "pxr/usd/sdf/path.h" -#include "pxr/usd/gf/vec3f.h" -#include "pxr/usd/gf/rotation.h" -#include "pxr/usd/tf/token.h" +#include "pxr/base/tf/token.h" +#include "pxr/base/gf/vec3f.h" +#include "pxr/base/gf/rotation.h" #include "pxr/usd/usdGeom/xform.h" #include "pxr/usd/usdGeom/xformOp.h" -#include "pxr/usd/usdGeom/mesh.h" #include "pxr/usd/usdGeom/tokens.h" #include "pxr/usd/usdGeom/scope.h" #include "pxr/usd/usdLux/distantLight.h" @@ -20,23 +16,16 @@ #include "pxr/usd/usdShade/materialBindingAPI.h" #include "pxr/usd/usdShade/connectableAPI.h" - -#include #include #include - USDSerializer::USDSerializer(const std::string& filename, const SerializerSettings& settings) : WriteOnlyGeometrySerializer(settings) , filename_(filename) - , settings_(settings) { // create a new stage stage_ = pxr::UsdStage::CreateNew(filename + ".usda"); - if( !settings().get(SerializerSettings::USE_Y_UP) ) - stage_->SetDefaultPrim(pxr::UsdGeomXform::Define(stage_, pxr::SdfPath("/"), pxr::UsdGeomTokens->z)); - else - stage_->SetDefaultPrim(pxr::UsdGeomXform::Define(stage_, pxr::SdfPath("/"), pxr::UsdGeomTokens->y)); + // create root xform prim 'World' pxr::UsdGeomXform::Define(stage_, pxr::SdfPath("/World")); pxr::UsdGeomScope::Define(stage_, pxr::SdfPath("/Looks")); @@ -55,7 +44,7 @@ void USDSerializer::createLighting() { // set the light's orientation pxr::UsdGeomXform xform(stage_->GetPrimAtPath(pxr::SdfPath(light_path))); pxr::GfVec3f light_direction(0.0f, 0.0f, -1.0f); - xform.AddRotateOp(pxr::UsdGeomXformOp::PrecisionFloat, pxr::UsdGeomXformOp::TypeRotateXYZ).Set(pxr::GfRotation(pxr::GfVec3f(0.0f, 1.0f, 0.0f), light_direction).GetQuaternion()); + //xform.AddRotateOp(pxr::UsdGeomXformOp::PrecisionFloat, pxr::UsdGeomXformOp::TypeRotateXYZ).Set(pxr::GfRotation(pxr::GfVec3f(0.0f, 1.0f, 0.0f), light_direction).GetQuaternion()); // set the light's color pxr::UsdLuxDistantLight light(stage_->GetPrimAtPath(pxr::SdfPath(light_path))); light.CreateIntensityAttr().Set(1000.0f); @@ -68,11 +57,11 @@ void USDSerializer::writeMaterial(const pxr::UsdGeomMesh& mesh,const IfcGeom::Ma pxr::UsdShadeMaterial::Define(stage_, pxr::SdfPath(ss.str())); pxr::UsdShadeMaterial material(stage_->GetPrimAtPath(pxr::SdfPath(ss.str()))); pxr::UsdShadeShader shader = pxr::UsdShadeShader::Define(stage_, pxr::SdfPath(ss.str() + "/Shader")); - shader.CreateIdAttr().Set(TfToken("UsdPreviewSurface")); + shader.CreateIdAttr().Set(pxr::TfToken("UsdPreviewSurface")); float rgba[4] { 0.18f, 0.18f, 0.18f, 1.0f }; if (style.hasDiffuse()) - for (int i = 0; i < 3; ++i) rgba[i] = static_cast style.diffuse()[i]; + for (int i = 0; i < 3; ++i) rgba[i] = static_cast(style.diffuse()[i]); shader.CreateInput(pxr::TfToken("diffuseColor"), pxr::SdfValueTypeNames->Color3f).Set(pxr::GfVec3f(rgba[0], rgba[1], rgba[2])); if(style.hasTransparency()) @@ -80,15 +69,15 @@ void USDSerializer::writeMaterial(const pxr::UsdGeomMesh& mesh,const IfcGeom::Ma shader.CreateInput(pxr::TfToken("opacity"), pxr::SdfValueTypeNames->Float).Set(rgba[3]); if(style.hasSpecular()) { - for (int i = 0; i < 3; ++i) rgba[i] = static_cast style.specular()[i]; + for (int i = 0; i < 3; ++i) rgba[i] = static_cast(style.specular()[i]); shader.CreateInput(pxr::TfToken("useSpecularWorkflow"), pxr::SdfValueTypeNames->Int).Set(1); } else { shader.CreateInput(pxr::TfToken("useSpecularWorkflow"), pxr::SdfValueTypeNames->Int).Set(0); } shader.CreateInput(pxr::TfToken("specularColor"), pxr::SdfValueTypeNames->Color3f).Set(pxr::GfVec3f(rgba[0], rgba[1], rgba[2])); - material.CreateSurfaceOutput().ConnectToSource(shader, pxr::TfToken("surface")); - pxr::UsdShadeMaterialBindingAPI(mesh).Bind(material); + //material.CreateSurfaceOutput().ConnectToSource(shader, pxr::TfToken("surface")); + //pxr::UsdShadeMaterialBindingAPI(mesh).Bind(material); } bool USDSerializer::ready() { @@ -102,23 +91,25 @@ void USDSerializer::writeHeader() { } void USDSerializer::write(const IfcGeom::TriangulationElement* o) { - if ( o->geometry().material_ids().empty() ) + const IfcGeom::Representation::Triangulation& mesh = o->geometry(); + if ( mesh.material_ids().empty() || mesh.verts().empty() || mesh.faces().empty() ) return; - std:sstringstream ss("/World/"); - ss << o->geometry().id(); - pxr::UsdGeomMesh::Define(stage_, pxr::SdfPath(ss.str())); - const IfcGeom::Representation::Triangulation& mesh = o->geometry(); + std::stringstream ss("/World/"); + ss << mesh.id(); + pxr::UsdGeomMesh usd_mesh = pxr::UsdGeomMesh::Define(stage_, pxr::SdfPath(ss.str())); const std::vector& m = o->transformation().matrix().data(); - const int vcount = (int)mesh.verts().size() / 3; + const int vcount = (int) mesh.verts().size() / 3; + pxr::VtVec3dArray points; for ( std::vector::const_iterator it = mesh.verts().begin(); it != mesh.verts().end(); ) { - const double x = *(it++); - const double y = *(it++); - const double z = *(it++); - - - } + points.push_back(pxr::GfVec3d(*(it++), *(it++), *(it++))); + } + usd_mesh.CreatePointsAttr().Set(points); + usd_mesh.CreateFaceVertexIndicesAttr().Set(usd_utils::toVtArray(mesh.faces())); + const int fcount = (int) mesh.faces().size() / 3; + usd_mesh.CreateFaceVertexCountsAttr().Set(pxr::VtArray(fcount, 3)); + usd_mesh.CreateNormalsAttr().Set(usd_utils::toVtArray(mesh.normals())); } diff --git a/src/serializers/USDSerializer.h b/src/serializers/USDSerializer.h index aa50258802..39d9ef0aef 100644 --- a/src/serializers/USDSerializer.h +++ b/src/serializers/USDSerializer.h @@ -24,10 +24,27 @@ #include "../serializers/serializers_api.h" #include "../ifcgeom_schema_agnostic/GeometrySerializer.h" +#include "../ifcparse/utils.h" + +// undefine opencascade Handle macro, because it conflicts with USD +#undef Handle #include "pxr/pxr.h" #include "pxr/usd/usd/stage.h" +#include "pxr/base/vt/array.h" +#include "pxr/usd/usdGeom/mesh.h" +#include + +namespace usd_utils { + template + pxr::VtArray toVtArray(const std::vector& vec) { + auto array = pxr::VtArray(vec.size()); + for (size_t i = 0; i < vec.size(); ++i) + array[i] = vec[i]; + return array; + } +} class SERIALIZERS_API USDSerializer : public WriteOnlyGeometrySerializer { private: @@ -35,7 +52,7 @@ private: bool ready_ = false; pxr::UsdStageRefPtr stage_; - int writeMaterial(const IfcGeom::Material&); + void writeMaterial(const pxr::UsdGeomMesh&, const IfcGeom::Material&); void createLighting(); public: USDSerializer(const std::string&, const SerializerSettings&); From 1b5f9497d43c029b3a879e800ff1b2a01db06d70 Mon Sep 17 00:00:00 2001 From: D4ve-R Date: Sun, 7 May 2023 22:46:05 +0200 Subject: [PATCH 050/225] works fine --- .gitignore | 3 ++ cmake/CMakeLists.txt | 2 +- src/ifcconvert/IfcConvert.cpp | 11 ++-- src/serializers/USDSerializer.cpp | 85 +++++++++++++++++-------------- src/serializers/USDSerializer.h | 21 +++++++- 5 files changed, 77 insertions(+), 45 deletions(-) diff --git a/.gitignore b/.gitignore index 806fbe7bfd..ee3454b468 100644 --- a/.gitignore +++ b/.gitignore @@ -92,3 +92,6 @@ src/blenderbim/layouts # ifcopenshell swig and compiled files src/ifcopenshell-python/ifcopenshell/_ifcopenshell_wrapper.so src/ifcopenshell-python/ifcopenshell/ifcopenshell_wrapper.py + +# apple +.DS_Store \ No newline at end of file diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 80efd3d98b..372bc807cc 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -21,7 +21,7 @@ cmake_minimum_required(VERSION 3.1.3) set(CMAKE_CXX_STANDARD 14) set(CMAKE_CXX_STANDARD_REQUIRED ON) # not necessary, but encouraged -project (IfcOpenShell VERSION 0.7.0) +project(IfcOpenShell VERSION 0.7.0) cmake_policy(SET CMP0048 NEW) cmake_policy(SET CMP0074 NEW) diff --git a/src/ifcconvert/IfcConvert.cpp b/src/ifcconvert/IfcConvert.cpp index fdc73f5807..039b764e66 100644 --- a/src/ifcconvert/IfcConvert.cpp +++ b/src/ifcconvert/IfcConvert.cpp @@ -712,7 +712,8 @@ int main(int argc, char** argv) { HDF = IfcUtil::path::from_utf8(".h5"), XML = IfcUtil::path::from_utf8(".xml"), IFC = IfcUtil::path::from_utf8(".ifc"), - USD = IfcUtil::path::from_utf8(".usd"); + USD = IfcUtil::path::from_utf8(".usd"), + USDA = IfcUtil::path::from_utf8(".usda"); // @todo clean up serializer selection // @todo detect program options that conflict with the chosen serializer @@ -857,8 +858,8 @@ int main(int argc, char** argv) { serializer = boost::make_shared(IfcUtil::path::to_utf8(output_temp_filename), settings); #endif #ifdef WITH_USD - } else if (output_extension == USD) { - serializer = boost::make_shared(IfcUtil::path::to_utf8(output_temp_filename), settings); + } else if (output_extension == USD || output_extension == USDA) { + serializer = boost::make_shared(IfcUtil::path::to_utf8(output_filename), settings); #endif } else if (output_extension == STP) { serializer = boost::make_shared(IfcUtil::path::to_utf8(output_temp_filename), settings); @@ -1182,9 +1183,11 @@ int main(int argc, char** argv) { Logger::Message(Logger::LOG_PERF, "done file geometry conversion"); + // Renaming might fail (e.g. maybe the existing file was open in a viewer application) // Do not remove the temp file as user can salvage the conversion result from it. - bool successful = IfcUtil::path::rename_file(IfcUtil::path::to_utf8(output_temp_filename), IfcUtil::path::to_utf8(output_filename)); + bool successful = IfcUtil::path::rename_file(IfcUtil::path::to_utf8(output_temp_filename), IfcUtil::path::to_utf8(output_filename)) + || output_extension == USD || output_extension == USDA; if (!successful) { cerr_ << "Unable to write output file '" << output_filename << "', see '" << output_temp_filename << "' for the conversion result."; diff --git a/src/serializers/USDSerializer.cpp b/src/serializers/USDSerializer.cpp index 18667566a2..88c5e232cf 100644 --- a/src/serializers/USDSerializer.cpp +++ b/src/serializers/USDSerializer.cpp @@ -10,23 +10,18 @@ #include "pxr/usd/usdGeom/tokens.h" #include "pxr/usd/usdGeom/scope.h" #include "pxr/usd/usdLux/distantLight.h" -#include "pxr/usd/usdShade/material.h" #include "pxr/usd/usdShade/shader.h" #include "pxr/usd/usdShade/tokens.h" #include "pxr/usd/usdShade/materialBindingAPI.h" #include "pxr/usd/usdShade/connectableAPI.h" -#include -#include - -USDSerializer::USDSerializer(const std::string& filename, const SerializerSettings& settings) - : WriteOnlyGeometrySerializer(settings) - , filename_(filename) +USDSerializer::USDSerializer(const std::string& out_filename, const SerializerSettings& settings): + WriteOnlyGeometrySerializer(settings), + filename_(out_filename) { // create a new stage - stage_ = pxr::UsdStage::CreateNew(filename + ".usda"); - - // create root xform prim 'World' + stage_ = pxr::UsdStage::CreateNew(filename_ + ".usda"); + pxr::UsdGeomXform::Define(stage_, pxr::SdfPath("/World")); pxr::UsdGeomScope::Define(stage_, pxr::SdfPath("/Looks")); createLighting(); @@ -52,32 +47,32 @@ void USDSerializer::createLighting() { } void USDSerializer::writeMaterial(const pxr::UsdGeomMesh& mesh,const IfcGeom::Material& style) { - std::stringstream ss; - ss << "/Looks/" << style.original_name(); - pxr::UsdShadeMaterial::Define(stage_, pxr::SdfPath(ss.str())); - pxr::UsdShadeMaterial material(stage_->GetPrimAtPath(pxr::SdfPath(ss.str()))); - pxr::UsdShadeShader shader = pxr::UsdShadeShader::Define(stage_, pxr::SdfPath(ss.str() + "/Shader")); + std::string path("/Looks/" + sanitize(style.original_name())); + auto material = pxr::UsdShadeMaterial::Define(stage_, pxr::SdfPath(path)); + auto shader = pxr::UsdShadeShader::Define(stage_, pxr::SdfPath(path + "/Shader")); shader.CreateIdAttr().Set(pxr::TfToken("UsdPreviewSurface")); float rgba[4] { 0.18f, 0.18f, 0.18f, 1.0f }; if (style.hasDiffuse()) - for (int i = 0; i < 3; ++i) rgba[i] = static_cast(style.diffuse()[i]); + for (int i = 0; i < 3; ++i) + rgba[i] = static_cast(style.diffuse()[i]); shader.CreateInput(pxr::TfToken("diffuseColor"), pxr::SdfValueTypeNames->Color3f).Set(pxr::GfVec3f(rgba[0], rgba[1], rgba[2])); if(style.hasTransparency()) - rgba[3] = 1.0f - style.transparency(); + rgba[3] -= style.transparency(); shader.CreateInput(pxr::TfToken("opacity"), pxr::SdfValueTypeNames->Float).Set(rgba[3]); if(style.hasSpecular()) { - for (int i = 0; i < 3; ++i) rgba[i] = static_cast(style.specular()[i]); + for (int i = 0; i < 3; ++i) + rgba[i] = static_cast(style.specular()[i]); shader.CreateInput(pxr::TfToken("useSpecularWorkflow"), pxr::SdfValueTypeNames->Int).Set(1); } else { shader.CreateInput(pxr::TfToken("useSpecularWorkflow"), pxr::SdfValueTypeNames->Int).Set(0); } shader.CreateInput(pxr::TfToken("specularColor"), pxr::SdfValueTypeNames->Color3f).Set(pxr::GfVec3f(rgba[0], rgba[1], rgba[2])); - //material.CreateSurfaceOutput().ConnectToSource(shader, pxr::TfToken("surface")); - //pxr::UsdShadeMaterialBindingAPI(mesh).Bind(material); + material.CreateSurfaceOutput().ConnectToSource(shader.ConnectableAPI(), pxr::TfToken("surface")); + pxr::UsdShadeMaterialBindingAPI(mesh).Bind(material); } bool USDSerializer::ready() { @@ -85,36 +80,50 @@ bool USDSerializer::ready() { } void USDSerializer::writeHeader() { - std::stringstream ss; - ss << "File generated by IfcOpenShell " << IFCOPENSHELL_VERSION; - stage_->GetRootLayer()->SetComment(ss.str()); + stage_->GetRootLayer()->SetComment("File generated by IfcOpenShell " + std::string(IFCOPENSHELL_VERSION)); } void USDSerializer::write(const IfcGeom::TriangulationElement* o) { const IfcGeom::Representation::Triangulation& mesh = o->geometry(); - if ( mesh.material_ids().empty() || mesh.verts().empty() || mesh.faces().empty() ) - return; - - std::stringstream ss("/World/"); - ss << mesh.id(); - pxr::UsdGeomMesh usd_mesh = pxr::UsdGeomMesh::Define(stage_, pxr::SdfPath(ss.str())); + auto verts = mesh.verts(); + auto faces = mesh.faces(); const std::vector& m = o->transformation().matrix().data(); - const int vcount = (int) mesh.verts().size() / 3; - pxr::VtVec3dArray points; - for ( std::vector::const_iterator it = mesh.verts().begin(); it != mesh.verts().end(); ) { - points.push_back(pxr::GfVec3d(*(it++), *(it++), *(it++))); + if ( mesh.material_ids().empty() || verts.empty() || faces.empty() ) + return; + + std::string name = o->name() + std::to_string(o->id()); + if(name.empty()) { + name = "Unnamed_" + std::to_string(unnamed_count_); + unnamed_count_++; + } else { + name = sanitize(name); + } + pxr::UsdGeomMesh usd_mesh = pxr::UsdGeomMesh::Define(stage_, pxr::SdfPath("/World/" + name)); + + usd_mesh.AddTranslateOp().Set(pxr::GfVec3d(m[9], m[10], m[11])); + + pxr::VtVec3fArray points; + for(std::size_t i = 0; i < verts.size(); i+=3) { + points.push_back(pxr::GfVec3f(static_cast(verts[i] * m[0] + verts[i+1] * m[3] + verts[i+2] * m[6]), + static_cast(verts[i] * m[1] + verts[i+1] * m[4] + verts[i+2] * m[7]), + static_cast(verts[i] * m[2] + verts[i+1] * m[5] + verts[i+2] * m[8]))); } usd_mesh.CreatePointsAttr().Set(points); - usd_mesh.CreateFaceVertexIndicesAttr().Set(usd_utils::toVtArray(mesh.faces())); - const int fcount = (int) mesh.faces().size() / 3; - usd_mesh.CreateFaceVertexCountsAttr().Set(pxr::VtArray(fcount, 3)); - usd_mesh.CreateNormalsAttr().Set(usd_utils::toVtArray(mesh.normals())); + usd_mesh.CreateFaceVertexIndicesAttr().Set(usd_utils::toVtArray(faces)); + usd_mesh.CreateFaceVertexCountsAttr().Set(pxr::VtArray((int) faces.size() / 3, 3)); + + pxr::VtVec3fArray normals; + for (std::vector::const_iterator it = mesh.normals().begin(); it != mesh.normals().end();) + normals.push_back(pxr::GfVec3f(static_cast(*(it++)), static_cast(*(it++)), static_cast(*(it++)))); + usd_mesh.CreateNormalsAttr().Set(normals); + + writeMaterial(usd_mesh, mesh.materials()[0]); } void USDSerializer::finalize() { - stage_->GetRootLayer()->Save(); + stage_->Save(); } #endif // WITH_USD \ No newline at end of file diff --git a/src/serializers/USDSerializer.h b/src/serializers/USDSerializer.h index 39d9ef0aef..92e7501a21 100644 --- a/src/serializers/USDSerializer.h +++ b/src/serializers/USDSerializer.h @@ -33,17 +33,21 @@ #include "pxr/usd/usd/stage.h" #include "pxr/base/vt/array.h" #include "pxr/usd/usdGeom/mesh.h" +#include "pxr/usd/usdShade/material.h" #include +#include +#include +#include namespace usd_utils { template pxr::VtArray toVtArray(const std::vector& vec) { auto array = pxr::VtArray(vec.size()); - for (size_t i = 0; i < vec.size(); ++i) + for (std::size_t i = 0; i < vec.size(); ++i) array[i] = vec[i]; return array; - } + } } class SERIALIZERS_API USDSerializer : public WriteOnlyGeometrySerializer { @@ -51,6 +55,19 @@ private: std::string filename_; bool ready_ = false; pxr::UsdStageRefPtr stage_; + std::size_t unnamed_count_ = 0; + std::map meshes_; + std::map materials_; + + std::string sanitize(std::string s) { + std::replace_if(s.begin(), s.end(), + [](char c) { return c == ' ' || c == '.' || c == ',' + || c == ';' || c == ':' || c == '/' + || c == '-' || c == '+' || c == '"' + || c > 127; }, + '_'); + return s; + } void writeMaterial(const pxr::UsdGeomMesh&, const IfcGeom::Material&); void createLighting(); From a8f1ab192301d57cfaee63daa43053cd7795b0ae Mon Sep 17 00:00:00 2001 From: D4ve-R Date: Mon, 8 May 2023 00:30:33 +0200 Subject: [PATCH 051/225] material subsets --- src/serializers/USDSerializer.cpp | 73 ++++++++++++++++++++----------- src/serializers/USDSerializer.h | 9 ++-- 2 files changed, 50 insertions(+), 32 deletions(-) diff --git a/src/serializers/USDSerializer.cpp b/src/serializers/USDSerializer.cpp index 88c5e232cf..6c81adc830 100644 --- a/src/serializers/USDSerializer.cpp +++ b/src/serializers/USDSerializer.cpp @@ -46,33 +46,40 @@ void USDSerializer::createLighting() { light.CreateColorAttr().Set(pxr::GfVec3f(1.0f, 1.0f, 1.0f)); } -void USDSerializer::writeMaterial(const pxr::UsdGeomMesh& mesh,const IfcGeom::Material& style) { - std::string path("/Looks/" + sanitize(style.original_name())); - auto material = pxr::UsdShadeMaterial::Define(stage_, pxr::SdfPath(path)); - auto shader = pxr::UsdShadeShader::Define(stage_, pxr::SdfPath(path + "/Shader")); - shader.CreateIdAttr().Set(pxr::TfToken("UsdPreviewSurface")); +std::vector USDSerializer::createMaterials(const pxr::UsdGeomMesh& mesh, + const std::vector& styles) +{ + std::vector materials {}; - float rgba[4] { 0.18f, 0.18f, 0.18f, 1.0f }; - if (style.hasDiffuse()) - for (int i = 0; i < 3; ++i) - rgba[i] = static_cast(style.diffuse()[i]); - shader.CreateInput(pxr::TfToken("diffuseColor"), pxr::SdfValueTypeNames->Color3f).Set(pxr::GfVec3f(rgba[0], rgba[1], rgba[2])); + for(auto style : styles) { + std::string path("/Looks/" + sanitize(style.original_name())); + auto material = pxr::UsdShadeMaterial::Define(stage_, pxr::SdfPath(path)); + auto shader = pxr::UsdShadeShader::Define(stage_, pxr::SdfPath(path + "/Shader")); + shader.CreateIdAttr().Set(pxr::TfToken("UsdPreviewSurface")); - if(style.hasTransparency()) - rgba[3] -= style.transparency(); - shader.CreateInput(pxr::TfToken("opacity"), pxr::SdfValueTypeNames->Float).Set(rgba[3]); + float rgba[4] { 0.18f, 0.18f, 0.18f, 1.0f }; + if (style.hasDiffuse()) + for (int i = 0; i < 3; ++i) + rgba[i] = static_cast(style.diffuse()[i]); + shader.CreateInput(pxr::TfToken("diffuseColor"), pxr::SdfValueTypeNames->Color3f).Set(pxr::GfVec3f(rgba[0], rgba[1], rgba[2])); - if(style.hasSpecular()) { - for (int i = 0; i < 3; ++i) - rgba[i] = static_cast(style.specular()[i]); - shader.CreateInput(pxr::TfToken("useSpecularWorkflow"), pxr::SdfValueTypeNames->Int).Set(1); - } else { - shader.CreateInput(pxr::TfToken("useSpecularWorkflow"), pxr::SdfValueTypeNames->Int).Set(0); + if(style.hasTransparency()) + rgba[3] -= style.transparency(); + shader.CreateInput(pxr::TfToken("opacity"), pxr::SdfValueTypeNames->Float).Set(rgba[3]); + + if(style.hasSpecular()) { + for (int i = 0; i < 3; ++i) + rgba[i] = static_cast(style.specular()[i]); + shader.CreateInput(pxr::TfToken("useSpecularWorkflow"), pxr::SdfValueTypeNames->Int).Set(1); + } else { + shader.CreateInput(pxr::TfToken("useSpecularWorkflow"), pxr::SdfValueTypeNames->Int).Set(0); + } + shader.CreateInput(pxr::TfToken("specularColor"), pxr::SdfValueTypeNames->Color3f).Set(pxr::GfVec3f(rgba[0], rgba[1], rgba[2])); + + material.CreateSurfaceOutput().ConnectToSource(shader.ConnectableAPI(), pxr::TfToken("surface")); + materials.push_back(material); } - shader.CreateInput(pxr::TfToken("specularColor"), pxr::SdfValueTypeNames->Color3f).Set(pxr::GfVec3f(rgba[0], rgba[1], rgba[2])); - - material.CreateSurfaceOutput().ConnectToSource(shader.ConnectableAPI(), pxr::TfToken("surface")); - pxr::UsdShadeMaterialBindingAPI(mesh).Bind(material); + return materials; } bool USDSerializer::ready() { @@ -92,12 +99,12 @@ void USDSerializer::write(const IfcGeom::TriangulationElement* o) { if ( mesh.material_ids().empty() || verts.empty() || faces.empty() ) return; - std::string name = o->name() + std::to_string(o->id()); + std::string name = o->name(); if(name.empty()) { name = "Unnamed_" + std::to_string(unnamed_count_); unnamed_count_++; } else { - name = sanitize(name); + name = sanitize(name) + std::to_string(o->id()); } pxr::UsdGeomMesh usd_mesh = pxr::UsdGeomMesh::Define(stage_, pxr::SdfPath("/World/" + name)); @@ -119,7 +126,21 @@ void USDSerializer::write(const IfcGeom::TriangulationElement* o) { normals.push_back(pxr::GfVec3f(static_cast(*(it++)), static_cast(*(it++)), static_cast(*(it++)))); usd_mesh.CreateNormalsAttr().Set(normals); - writeMaterial(usd_mesh, mesh.materials()[0]); + auto materials = createMaterials(usd_mesh, mesh.materials()); + pxr::UsdShadeMaterialBindingAPI material_api(usd_mesh); + if(materials.size() > 1) { + auto material_ids = mesh.material_ids(); + std::vector> subsets(materials.size()); + for(int i = 0; i < material_ids.size(); ++i) { + subsets[material_ids[i]].push_back(i); + } + for(std::size_t i = 0; i < subsets.size(); ++i){ + auto subset = material_api.CreateMaterialBindSubset(pxr::TfToken("subset_" + std::to_string(i)), subsets[i]); + pxr::UsdShadeMaterialBindingAPI(subset).Bind(materials[i]); + } + } else { + material_api.Bind(materials[0]); + } } void USDSerializer::finalize() { diff --git a/src/serializers/USDSerializer.h b/src/serializers/USDSerializer.h index 92e7501a21..2d09c303aa 100644 --- a/src/serializers/USDSerializer.h +++ b/src/serializers/USDSerializer.h @@ -59,17 +59,14 @@ private: std::map meshes_; std::map materials_; - std::string sanitize(std::string s) { + inline std::string sanitize(std::string s) { std::replace_if(s.begin(), s.end(), - [](char c) { return c == ' ' || c == '.' || c == ',' - || c == ';' || c == ':' || c == '/' - || c == '-' || c == '+' || c == '"' - || c > 127; }, + [](char c) { return c > 122 || c < 48 || (c > 57 && c < 65) || (c > 90 && c < 97); }, '_'); return s; } - void writeMaterial(const pxr::UsdGeomMesh&, const IfcGeom::Material&); + std::vector createMaterials(const pxr::UsdGeomMesh&, const std::vector&); void createLighting(); public: USDSerializer(const std::string&, const SerializerSettings&); From fe7504edf2f835adbb7ce3e7e3fa5dfcdc0505cf Mon Sep 17 00:00:00 2001 From: D4ve-R Date: Tue, 9 May 2023 21:07:36 +0200 Subject: [PATCH 052/225] cmake warnings --- cmake/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 372bc807cc..39cdf8bf07 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -899,7 +899,7 @@ set_target_properties(Serializers PROPERTIES COMPILE_FLAGS "-DIFC_GEOM_EXPORTS $ TARGET_LINK_LIBRARIES(Serializers ${SERIALIZER_SCHEMA_LIBRARIES} ${OPENCOLLADA_LIBRARIES} ${USD_LIBRARIES}) -endif(BUILD_CONVERT or BUILD_IFCPYTHON) +endif(BUILD_CONVERT OR BUILD_IFCPYTHON) if (BUILD_CONVERT) From 77e4e939cec6754e73b1194861e1ee8caa50a9f3 Mon Sep 17 00:00:00 2001 From: D4ve-R Date: Mon, 15 May 2023 11:52:36 +0200 Subject: [PATCH 053/225] filename bug --- src/serializers/USDSerializer.cpp | 223 ++++++++++++++++-------------- src/serializers/USDSerializer.h | 22 ++- 2 files changed, 132 insertions(+), 113 deletions(-) diff --git a/src/serializers/USDSerializer.cpp b/src/serializers/USDSerializer.cpp index 6c81adc830..29fe543da2 100644 --- a/src/serializers/USDSerializer.cpp +++ b/src/serializers/USDSerializer.cpp @@ -1,31 +1,48 @@ +/******************************************************************************** + * * + * 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 . * + * * + ********************************************************************************/ + #ifdef WITH_USD #include "USDSerializer.h" -#include "pxr/base/tf/token.h" #include "pxr/base/gf/vec3f.h" -#include "pxr/base/gf/rotation.h" #include "pxr/usd/usdGeom/xform.h" -#include "pxr/usd/usdGeom/xformOp.h" -#include "pxr/usd/usdGeom/tokens.h" #include "pxr/usd/usdGeom/scope.h" #include "pxr/usd/usdLux/distantLight.h" #include "pxr/usd/usdShade/shader.h" -#include "pxr/usd/usdShade/tokens.h" #include "pxr/usd/usdShade/materialBindingAPI.h" -#include "pxr/usd/usdShade/connectableAPI.h" USDSerializer::USDSerializer(const std::string& out_filename, const SerializerSettings& settings): - WriteOnlyGeometrySerializer(settings), - filename_(out_filename) + WriteOnlyGeometrySerializer(settings), + filename_(out_filename) { - // create a new stage - stage_ = pxr::UsdStage::CreateNew(filename_ + ".usda"); + // why does this not work with just the filename ??? + stage_ = pxr::UsdStage::CreateNew(filename_ + ".usda"); - pxr::UsdGeomXform::Define(stage_, pxr::SdfPath("/World")); - pxr::UsdGeomScope::Define(stage_, pxr::SdfPath("/Looks")); - createLighting(); - ready_ = true; + if(!stage_) + throw std::runtime_error("Could not create USD stage"); + + auto world = pxr::UsdGeomXform::Define(stage_, pxr::SdfPath("/World")); + stage_->SetDefaultPrim(world.GetPrim()); + pxr::UsdGeomScope::Define(stage_, pxr::SdfPath("/Looks")); + createLighting(); + ready_ = true; } USDSerializer::~USDSerializer() { @@ -33,118 +50,122 @@ USDSerializer::~USDSerializer() { } void USDSerializer::createLighting() { - // create a distant light - const std::string& light_path = "/World/defaultLight"; - pxr::UsdLuxDistantLight::Define(stage_, pxr::SdfPath(light_path)); - // set the light's orientation - pxr::UsdGeomXform xform(stage_->GetPrimAtPath(pxr::SdfPath(light_path))); - pxr::GfVec3f light_direction(0.0f, 0.0f, -1.0f); - //xform.AddRotateOp(pxr::UsdGeomXformOp::PrecisionFloat, pxr::UsdGeomXformOp::TypeRotateXYZ).Set(pxr::GfRotation(pxr::GfVec3f(0.0f, 1.0f, 0.0f), light_direction).GetQuaternion()); - // set the light's color - pxr::UsdLuxDistantLight light(stage_->GetPrimAtPath(pxr::SdfPath(light_path))); - light.CreateIntensityAttr().Set(1000.0f); - light.CreateColorAttr().Set(pxr::GfVec3f(1.0f, 1.0f, 1.0f)); + const std::string& light_path = "/World/defaultLight"; + pxr::UsdLuxDistantLight::Define(stage_, pxr::SdfPath(light_path)); + pxr::UsdGeomXform xform(stage_->GetPrimAtPath(pxr::SdfPath(light_path))); + pxr::GfVec3f light_direction(0.0f, 0.0f, -1.0f); + pxr::UsdLuxDistantLight light(stage_->GetPrimAtPath(pxr::SdfPath(light_path))); + light.CreateIntensityAttr().Set(1000.0f); + light.CreateColorAttr().Set(pxr::GfVec3f(1.0f, 1.0f, 1.0f)); } -std::vector USDSerializer::createMaterials(const pxr::UsdGeomMesh& mesh, - const std::vector& styles) +std::vector USDSerializer::createMaterials(const std::vector& styles) { - std::vector materials {}; + if(styles.empty()) + throw std::runtime_error("No styles to create materials from"); - for(auto style : styles) { - std::string path("/Looks/" + sanitize(style.original_name())); - auto material = pxr::UsdShadeMaterial::Define(stage_, pxr::SdfPath(path)); - auto shader = pxr::UsdShadeShader::Define(stage_, pxr::SdfPath(path + "/Shader")); - shader.CreateIdAttr().Set(pxr::TfToken("UsdPreviewSurface")); + std::vector materials {}; - float rgba[4] { 0.18f, 0.18f, 0.18f, 1.0f }; - if (style.hasDiffuse()) - for (int i = 0; i < 3; ++i) - rgba[i] = static_cast(style.diffuse()[i]); - shader.CreateInput(pxr::TfToken("diffuseColor"), pxr::SdfValueTypeNames->Color3f).Set(pxr::GfVec3f(rgba[0], rgba[1], rgba[2])); + for(auto style : styles) { + std::string material_path(style.original_name()); + usd_utils::toPath(material_path); - if(style.hasTransparency()) - rgba[3] -= style.transparency(); - shader.CreateInput(pxr::TfToken("opacity"), pxr::SdfValueTypeNames->Float).Set(rgba[3]); + if(materials_.find(material_path) != materials_.end()) { + materials.push_back(materials_[material_path]); + continue; + } - if(style.hasSpecular()) { - for (int i = 0; i < 3; ++i) - rgba[i] = static_cast(style.specular()[i]); - shader.CreateInput(pxr::TfToken("useSpecularWorkflow"), pxr::SdfValueTypeNames->Int).Set(1); - } else { - shader.CreateInput(pxr::TfToken("useSpecularWorkflow"), pxr::SdfValueTypeNames->Int).Set(0); - } - shader.CreateInput(pxr::TfToken("specularColor"), pxr::SdfValueTypeNames->Color3f).Set(pxr::GfVec3f(rgba[0], rgba[1], rgba[2])); + const std::string path("/Looks/" + material_path); + auto material = pxr::UsdShadeMaterial::Define(stage_, pxr::SdfPath(path)); + auto shader = pxr::UsdShadeShader::Define(stage_, pxr::SdfPath(path + "/Shader")); + shader.CreateIdAttr().Set(pxr::TfToken("UsdPreviewSurface")); - material.CreateSurfaceOutput().ConnectToSource(shader.ConnectableAPI(), pxr::TfToken("surface")); - materials.push_back(material); - } - return materials; -} + float rgba[4] { 0.18f, 0.18f, 0.18f, 1.0f }; + if (style.hasDiffuse()) + for (int i = 0; i < 3; ++i) + rgba[i] = static_cast(style.diffuse()[i]); + shader.CreateInput(pxr::TfToken("diffuseColor"), pxr::SdfValueTypeNames->Color3f).Set(pxr::GfVec3f(rgba[0], rgba[1], rgba[2])); -bool USDSerializer::ready() { - return ready_; + if(style.hasTransparency()) + rgba[3] -= style.transparency(); + shader.CreateInput(pxr::TfToken("opacity"), pxr::SdfValueTypeNames->Float).Set(rgba[3]); + + if(style.hasSpecular()) { + for (int i = 0; i < 3; ++i) + rgba[i] = static_cast(style.specular()[i]); + shader.CreateInput(pxr::TfToken("useSpecularWorkflow"), pxr::SdfValueTypeNames->Int).Set(1); + } else { + shader.CreateInput(pxr::TfToken("useSpecularWorkflow"), pxr::SdfValueTypeNames->Int).Set(0); + } + shader.CreateInput(pxr::TfToken("specularColor"), pxr::SdfValueTypeNames->Color3f).Set(pxr::GfVec3f(rgba[0], rgba[1], rgba[2])); + + material.CreateSurfaceOutput().ConnectToSource(shader.ConnectableAPI(), pxr::TfToken("surface")); + materials.push_back(material); + materials_[material_path] = material; + } + + return materials; } void USDSerializer::writeHeader() { - stage_->GetRootLayer()->SetComment("File generated by IfcOpenShell " + std::string(IFCOPENSHELL_VERSION)); + stage_->GetRootLayer()->SetComment("File generated by IfcOpenShell " + std::string(IFCOPENSHELL_VERSION)); } void USDSerializer::write(const IfcGeom::TriangulationElement* o) { - const IfcGeom::Representation::Triangulation& mesh = o->geometry(); - auto verts = mesh.verts(); - auto faces = mesh.faces(); - const std::vector& m = o->transformation().matrix().data(); + const IfcGeom::Representation::Triangulation& mesh = o->geometry(); + const auto verts = mesh.verts(); + const auto faces = mesh.faces(); + const auto material_ids = mesh.material_ids(); + const std::vector& m = o->transformation().matrix().data(); - if ( mesh.material_ids().empty() || verts.empty() || faces.empty() ) + if (material_ids.empty() || verts.empty() || faces.empty()) return; - - std::string name = o->name(); - if(name.empty()) { - name = "Unnamed_" + std::to_string(unnamed_count_); - unnamed_count_++; - } else { - name = sanitize(name) + std::to_string(o->id()); - } - pxr::UsdGeomMesh usd_mesh = pxr::UsdGeomMesh::Define(stage_, pxr::SdfPath("/World/" + name)); - usd_mesh.AddTranslateOp().Set(pxr::GfVec3d(m[9], m[10], m[11])); + std::string name = o->name(); + if(name.empty()) { + name = "UnNamed"; + } else { + name = usd_utils::toPath(name); + } + name += "_" + std::to_string(o->id()); + auto usd_mesh = pxr::UsdGeomMesh::Define(stage_, pxr::SdfPath("/World/" + name)); - pxr::VtVec3fArray points; - for(std::size_t i = 0; i < verts.size(); i+=3) { - points.push_back(pxr::GfVec3f(static_cast(verts[i] * m[0] + verts[i+1] * m[3] + verts[i+2] * m[6]), - static_cast(verts[i] * m[1] + verts[i+1] * m[4] + verts[i+2] * m[7]), - static_cast(verts[i] * m[2] + verts[i+1] * m[5] + verts[i+2] * m[8]))); - } - usd_mesh.CreatePointsAttr().Set(points); + usd_mesh.AddTranslateOp().Set(pxr::GfVec3d(m[9], m[10], m[11])); - usd_mesh.CreateFaceVertexIndicesAttr().Set(usd_utils::toVtArray(faces)); - usd_mesh.CreateFaceVertexCountsAttr().Set(pxr::VtArray((int) faces.size() / 3, 3)); + pxr::VtVec3fArray points; + for(std::size_t i = 0; i < verts.size(); i+=3) { + points.push_back(pxr::GfVec3f(static_cast(verts[i] * m[0] + verts[i+1] * m[3] + verts[i+2] * m[6]), + static_cast(verts[i] * m[1] + verts[i+1] * m[4] + verts[i+2] * m[7]), + static_cast(verts[i] * m[2] + verts[i+1] * m[5] + verts[i+2] * m[8]))); + } + usd_mesh.CreatePointsAttr().Set(points); - pxr::VtVec3fArray normals; - for (std::vector::const_iterator it = mesh.normals().begin(); it != mesh.normals().end();) - normals.push_back(pxr::GfVec3f(static_cast(*(it++)), static_cast(*(it++)), static_cast(*(it++)))); - usd_mesh.CreateNormalsAttr().Set(normals); + usd_mesh.CreateFaceVertexIndicesAttr().Set(usd_utils::toVtArray(faces)); + usd_mesh.CreateFaceVertexCountsAttr().Set(pxr::VtArray((int) faces.size() / 3, 3)); - auto materials = createMaterials(usd_mesh, mesh.materials()); - pxr::UsdShadeMaterialBindingAPI material_api(usd_mesh); - if(materials.size() > 1) { - auto material_ids = mesh.material_ids(); - std::vector> subsets(materials.size()); - for(int i = 0; i < material_ids.size(); ++i) { - subsets[material_ids[i]].push_back(i); - } - for(std::size_t i = 0; i < subsets.size(); ++i){ - auto subset = material_api.CreateMaterialBindSubset(pxr::TfToken("subset_" + std::to_string(i)), subsets[i]); - pxr::UsdShadeMaterialBindingAPI(subset).Bind(materials[i]); - } - } else { - material_api.Bind(materials[0]); - } + pxr::VtVec3fArray normals; + for (std::vector::const_iterator it = mesh.normals().begin(); it != mesh.normals().end();) + normals.push_back(pxr::GfVec3f(static_cast(*(it++)), static_cast(*(it++)), static_cast(*(it++)))); + usd_mesh.CreateNormalsAttr().Set(normals); + + auto materials = createMaterials(mesh.materials()); + pxr::UsdShadeMaterialBindingAPI material_api(usd_mesh); + if(materials.size() > 1) { + std::vector> subsets(materials.size()); + for(int i = 0; i < material_ids.size(); ++i) + subsets[material_ids[i]].push_back(i); + + for(std::size_t i = 0; i < subsets.size(); ++i){ + auto subset = material_api.CreateMaterialBindSubset(pxr::TfToken("subset_" + std::to_string(i)), subsets[i]); + pxr::UsdShadeMaterialBindingAPI(subset).Bind(materials[i]); + } + } else { + material_api.Bind(materials[0]); + } } void USDSerializer::finalize() { - stage_->Save(); + stage_->Save(); } #endif // WITH_USD \ No newline at end of file diff --git a/src/serializers/USDSerializer.h b/src/serializers/USDSerializer.h index 2d09c303aa..ca950961f1 100644 --- a/src/serializers/USDSerializer.h +++ b/src/serializers/USDSerializer.h @@ -41,6 +41,13 @@ #include namespace usd_utils { + inline std::string toPath(std::string& s) { + std::replace_if(s.begin(), s.end(), + [](char c) { return c < 48 || (c < 65 && c > 57) || (c < 97 && c > 90) || c > 122; }, + '_'); + return s; + } + template pxr::VtArray toVtArray(const std::vector& vec) { auto array = pxr::VtArray(vec.size()); @@ -52,26 +59,17 @@ namespace usd_utils { class SERIALIZERS_API USDSerializer : public WriteOnlyGeometrySerializer { private: - std::string filename_; bool ready_ = false; + const std::string filename_; pxr::UsdStageRefPtr stage_; - std::size_t unnamed_count_ = 0; - std::map meshes_; std::map materials_; - inline std::string sanitize(std::string s) { - std::replace_if(s.begin(), s.end(), - [](char c) { return c > 122 || c < 48 || (c > 57 && c < 65) || (c > 90 && c < 97); }, - '_'); - return s; - } - - std::vector createMaterials(const pxr::UsdGeomMesh&, const std::vector&); + std::vector createMaterials(const std::vector&); void createLighting(); public: USDSerializer(const std::string&, const SerializerSettings&); virtual ~USDSerializer(); - bool ready(); + bool ready() { return ready_; } void writeHeader(); void write(const IfcGeom::TriangulationElement*); void write(const IfcGeom::BRepElement*) {} From d316efe9029143f0e1e9e4849525cd55f5a39876 Mon Sep 17 00:00:00 2001 From: D4ve-R Date: Wed, 17 May 2023 14:24:09 +0200 Subject: [PATCH 054/225] fix filename bug --- src/ifcconvert/IfcConvert.cpp | 21 ++++++++++++++------- src/serializers/USDSerializer.cpp | 8 ++------ src/svgfill | 2 +- 3 files changed, 17 insertions(+), 14 deletions(-) diff --git a/src/ifcconvert/IfcConvert.cpp b/src/ifcconvert/IfcConvert.cpp index 039b764e66..9a227b6090 100644 --- a/src/ifcconvert/IfcConvert.cpp +++ b/src/ifcconvert/IfcConvert.cpp @@ -691,7 +691,7 @@ int main(int argc, char** argv) { std::vector tokens; split(tokens, output_filename, boost::is_any_of(".")); - std::vector::iterator tok_iter; + std::vector::iterator tok_itxer; path_t ext = *(tokens.end() - 1); path_t dot; dot = '.'; @@ -713,7 +713,8 @@ int main(int argc, char** argv) { XML = IfcUtil::path::from_utf8(".xml"), IFC = IfcUtil::path::from_utf8(".ifc"), USD = IfcUtil::path::from_utf8(".usd"), - USDA = IfcUtil::path::from_utf8(".usda"); + USDA = IfcUtil::path::from_utf8(".usda"), + USDC = IfcUtil::path::from_utf8(".usdc"); // @todo clean up serializer selection // @todo detect program options that conflict with the chosen serializer @@ -858,7 +859,7 @@ int main(int argc, char** argv) { serializer = boost::make_shared(IfcUtil::path::to_utf8(output_temp_filename), settings); #endif #ifdef WITH_USD - } else if (output_extension == USD || output_extension == USDA) { + } else if (output_extension == USD || output_extension == USDA || output_extension == USDC) { serializer = boost::make_shared(IfcUtil::path::to_utf8(output_filename), settings); #endif } else if (output_extension == STP) { @@ -1183,11 +1184,17 @@ int main(int argc, char** argv) { Logger::Message(Logger::LOG_PERF, "done file geometry conversion"); + bool successful; + if(output_extension == USD || output_extension == USDC || output_extension == USDA) { + // No need to rename the file + successful = true; + } + else { + // Renaming might fail (e.g. maybe the existing file was open in a viewer application) + // Do not remove the temp file as user can salvage the conversion result from it. + successful = IfcUtil::path::rename_file(IfcUtil::path::to_utf8(output_temp_filename), IfcUtil::path::to_utf8(output_filename)); + } - // Renaming might fail (e.g. maybe the existing file was open in a viewer application) - // Do not remove the temp file as user can salvage the conversion result from it. - bool successful = IfcUtil::path::rename_file(IfcUtil::path::to_utf8(output_temp_filename), IfcUtil::path::to_utf8(output_filename)) - || output_extension == USD || output_extension == USDA; if (!successful) { cerr_ << "Unable to write output file '" << output_filename << "', see '" << output_temp_filename << "' for the conversion result."; diff --git a/src/serializers/USDSerializer.cpp b/src/serializers/USDSerializer.cpp index 29fe543da2..f111064124 100644 --- a/src/serializers/USDSerializer.cpp +++ b/src/serializers/USDSerializer.cpp @@ -32,8 +32,7 @@ USDSerializer::USDSerializer(const std::string& out_filename, const SerializerSe WriteOnlyGeometrySerializer(settings), filename_(out_filename) { - // why does this not work with just the filename ??? - stage_ = pxr::UsdStage::CreateNew(filename_ + ".usda"); + stage_ = pxr::UsdStage::CreateNew(filename_); if(!stage_) throw std::runtime_error("Could not create USD stage"); @@ -51,10 +50,7 @@ USDSerializer::~USDSerializer() { void USDSerializer::createLighting() { const std::string& light_path = "/World/defaultLight"; - pxr::UsdLuxDistantLight::Define(stage_, pxr::SdfPath(light_path)); - pxr::UsdGeomXform xform(stage_->GetPrimAtPath(pxr::SdfPath(light_path))); - pxr::GfVec3f light_direction(0.0f, 0.0f, -1.0f); - pxr::UsdLuxDistantLight light(stage_->GetPrimAtPath(pxr::SdfPath(light_path))); + auto light = pxr::UsdLuxDistantLight::Define(stage_, pxr::SdfPath(light_path)); light.CreateIntensityAttr().Set(1000.0f); light.CreateColorAttr().Set(pxr::GfVec3f(1.0f, 1.0f, 1.0f)); } diff --git a/src/svgfill b/src/svgfill index 4d2aa7acf7..22216ac584 160000 --- a/src/svgfill +++ b/src/svgfill @@ -1 +1 @@ -Subproject commit 4d2aa7acf76cb8509ab3ba2961c34502adf3abe9 +Subproject commit 22216ac584997552f35b7cab7e07411d391649f8 From 92b03c6b594239930e9856bd264d84111343f527 Mon Sep 17 00:00:00 2001 From: D4ve-R Date: Wed, 17 May 2023 16:00:32 +0200 Subject: [PATCH 055/225] stage up axis --- src/serializers/USDSerializer.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/serializers/USDSerializer.cpp b/src/serializers/USDSerializer.cpp index f111064124..8cbb2a1986 100644 --- a/src/serializers/USDSerializer.cpp +++ b/src/serializers/USDSerializer.cpp @@ -24,6 +24,8 @@ #include "pxr/base/gf/vec3f.h" #include "pxr/usd/usdGeom/xform.h" #include "pxr/usd/usdGeom/scope.h" +#include "pxr/usd/usdGeom/tokens.h" +#include "pxr/usd/usdGeom/metrics.h" #include "pxr/usd/usdLux/distantLight.h" #include "pxr/usd/usdShade/shader.h" #include "pxr/usd/usdShade/materialBindingAPI.h" @@ -37,6 +39,8 @@ USDSerializer::USDSerializer(const std::string& out_filename, const SerializerSe if(!stage_) throw std::runtime_error("Could not create USD stage"); + pxr::UsdGeomSetStageUpAxis(stage_, pxr::UsdGeomTokens->z); + auto world = pxr::UsdGeomXform::Define(stage_, pxr::SdfPath("/World")); stage_->SetDefaultPrim(world.GetPrim()); pxr::UsdGeomScope::Define(stage_, pxr::SdfPath("/Looks")); From a8ca66b4250182af09875766783a3398e437d814 Mon Sep 17 00:00:00 2001 From: D4ve-R Date: Wed, 17 May 2023 16:12:48 +0200 Subject: [PATCH 056/225] refactor --- src/serializers/USDSerializer.cpp | 11 +++-------- src/serializers/USDSerializer.h | 2 +- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/src/serializers/USDSerializer.cpp b/src/serializers/USDSerializer.cpp index 8cbb2a1986..870b15f696 100644 --- a/src/serializers/USDSerializer.cpp +++ b/src/serializers/USDSerializer.cpp @@ -44,19 +44,14 @@ USDSerializer::USDSerializer(const std::string& out_filename, const SerializerSe auto world = pxr::UsdGeomXform::Define(stage_, pxr::SdfPath("/World")); stage_->SetDefaultPrim(world.GetPrim()); pxr::UsdGeomScope::Define(stage_, pxr::SdfPath("/Looks")); - createLighting(); + auto light = pxr::UsdLuxDistantLight::Define(stage_, pxr::SdfPath("/defaultLight")); + light.CreateIntensityAttr().Set(1000.0f); + light.CreateColorAttr().Set(pxr::GfVec3f(1.0f, 1.0f, 1.0f)); ready_ = true; } USDSerializer::~USDSerializer() { - -} -void USDSerializer::createLighting() { - const std::string& light_path = "/World/defaultLight"; - auto light = pxr::UsdLuxDistantLight::Define(stage_, pxr::SdfPath(light_path)); - light.CreateIntensityAttr().Set(1000.0f); - light.CreateColorAttr().Set(pxr::GfVec3f(1.0f, 1.0f, 1.0f)); } std::vector USDSerializer::createMaterials(const std::vector& styles) diff --git a/src/serializers/USDSerializer.h b/src/serializers/USDSerializer.h index ca950961f1..ce23ee2316 100644 --- a/src/serializers/USDSerializer.h +++ b/src/serializers/USDSerializer.h @@ -41,6 +41,7 @@ #include namespace usd_utils { + // creates a valid USD path from a string inline std::string toPath(std::string& s) { std::replace_if(s.begin(), s.end(), [](char c) { return c < 48 || (c < 65 && c > 57) || (c < 97 && c > 90) || c > 122; }, @@ -65,7 +66,6 @@ private: std::map materials_; std::vector createMaterials(const std::vector&); - void createLighting(); public: USDSerializer(const std::string&, const SerializerSettings&); virtual ~USDSerializer(); From 0828a89b66867b76af891decf3e7064c95c13c02 Mon Sep 17 00:00:00 2001 From: D4ve-R Date: Wed, 17 May 2023 16:18:50 +0200 Subject: [PATCH 057/225] fix typo --- src/ifcconvert/IfcConvert.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ifcconvert/IfcConvert.cpp b/src/ifcconvert/IfcConvert.cpp index 9a227b6090..a446b7dbfb 100644 --- a/src/ifcconvert/IfcConvert.cpp +++ b/src/ifcconvert/IfcConvert.cpp @@ -691,7 +691,7 @@ int main(int argc, char** argv) { std::vector tokens; split(tokens, output_filename, boost::is_any_of(".")); - std::vector::iterator tok_itxer; + std::vector::iterator tok_iter; path_t ext = *(tokens.end() - 1); path_t dot; dot = '.'; From f0875835c11333cd0740f6d9dae405127cbcfa29 Mon Sep 17 00:00:00 2001 From: D4ve-R Date: Thu, 18 May 2023 13:41:26 +0200 Subject: [PATCH 058/225] Update submodule --- src/svgfill | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/svgfill b/src/svgfill index 22216ac584..4d2aa7acf7 160000 --- a/src/svgfill +++ b/src/svgfill @@ -1 +1 @@ -Subproject commit 22216ac584997552f35b7cab7e07411d391649f8 +Subproject commit 4d2aa7acf76cb8509ab3ba2961c34502adf3abe9 From 42f1d9c160c6c0661e45a37be59002596de27256 Mon Sep 17 00:00:00 2001 From: D4ve-R Date: Thu, 18 May 2023 14:36:22 +0200 Subject: [PATCH 059/225] usd rotateXYZop --- src/serializers/USDSerializer.cpp | 27 ++++++++++++++++++++++++--- src/serializers/USDSerializer.h | 1 + 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/src/serializers/USDSerializer.cpp b/src/serializers/USDSerializer.cpp index 870b15f696..4396595b61 100644 --- a/src/serializers/USDSerializer.cpp +++ b/src/serializers/USDSerializer.cpp @@ -30,6 +30,8 @@ #include "pxr/usd/usdShade/shader.h" #include "pxr/usd/usdShade/materialBindingAPI.h" +#include + USDSerializer::USDSerializer(const std::string& out_filename, const SerializerSettings& settings): WriteOnlyGeometrySerializer(settings), filename_(out_filename) @@ -102,6 +104,24 @@ std::vector USDSerializer::createMaterials(const std::vec return materials; } +pxr::GfVec3f USDSerializer::rotation_degrees_from_matrix(const std::vector& matrix) const { + const double epsilon = 1e-6; + double angleX, angleY, angleZ; + + angleX = atan2(-matrix[5], matrix[8]); + if (std::abs(std::abs(matrix[5]) - 1.0) < epsilon) { + angleZ = 0.0; + angleY = atan2(matrix[6], matrix[0]); + } else { + angleZ = atan2(matrix[1], matrix[4]); + angleY = atan2(matrix[2], matrix[8]); + } + + return pxr::GfVec3f(static_cast(angleX * 180.0 / M_PI), + static_cast(angleY * 180.0 / M_PI), + static_cast(angleZ * 180.0 / M_PI)); +} + void USDSerializer::writeHeader() { stage_->GetRootLayer()->SetComment("File generated by IfcOpenShell " + std::string(IFCOPENSHELL_VERSION)); } @@ -126,12 +146,13 @@ void USDSerializer::write(const IfcGeom::TriangulationElement* o) { auto usd_mesh = pxr::UsdGeomMesh::Define(stage_, pxr::SdfPath("/World/" + name)); usd_mesh.AddTranslateOp().Set(pxr::GfVec3d(m[9], m[10], m[11])); + usd_mesh.AddRotateXYZOp().Set(rotation_degrees_from_matrix(m)); pxr::VtVec3fArray points; for(std::size_t i = 0; i < verts.size(); i+=3) { - points.push_back(pxr::GfVec3f(static_cast(verts[i] * m[0] + verts[i+1] * m[3] + verts[i+2] * m[6]), - static_cast(verts[i] * m[1] + verts[i+1] * m[4] + verts[i+2] * m[7]), - static_cast(verts[i] * m[2] + verts[i+1] * m[5] + verts[i+2] * m[8]))); + points.push_back(pxr::GfVec3f(static_cast(verts[i]), + static_cast(verts[i+1]), + static_cast(verts[i+2]))); } usd_mesh.CreatePointsAttr().Set(points); diff --git a/src/serializers/USDSerializer.h b/src/serializers/USDSerializer.h index ce23ee2316..4f0c2a0692 100644 --- a/src/serializers/USDSerializer.h +++ b/src/serializers/USDSerializer.h @@ -66,6 +66,7 @@ private: std::map materials_; std::vector createMaterials(const std::vector&); + pxr::GfVec3f rotation_degrees_from_matrix(const std::vector&) const; public: USDSerializer(const std::string&, const SerializerSettings&); virtual ~USDSerializer(); From 9f3fb13cded5686a4f40a37cd946c85b0706b07a Mon Sep 17 00:00:00 2001 From: D4ve-R Date: Thu, 18 May 2023 15:05:32 +0200 Subject: [PATCH 060/225] metersPerUnit --- src/serializers/USDSerializer.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/serializers/USDSerializer.cpp b/src/serializers/USDSerializer.cpp index 4396595b61..6c3ad9d4d9 100644 --- a/src/serializers/USDSerializer.cpp +++ b/src/serializers/USDSerializer.cpp @@ -42,6 +42,7 @@ USDSerializer::USDSerializer(const std::string& out_filename, const SerializerSe throw std::runtime_error("Could not create USD stage"); pxr::UsdGeomSetStageUpAxis(stage_, pxr::UsdGeomTokens->z); + pxr::UsdGeomSetStageMetersPerUnit(stage_, 1.0f); auto world = pxr::UsdGeomXform::Define(stage_, pxr::SdfPath("/World")); stage_->SetDefaultPrim(world.GetPrim()); From 1f6b55e63987205b54dea2def8efcddf76495902 Mon Sep 17 00:00:00 2001 From: D4ve-R Date: Fri, 19 May 2023 07:58:43 +0200 Subject: [PATCH 061/225] prepare for referencing --- src/serializers/USDSerializer.cpp | 24 ++++++++++++++---------- src/serializers/USDSerializer.h | 2 ++ 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/src/serializers/USDSerializer.cpp b/src/serializers/USDSerializer.cpp index 6c3ad9d4d9..8f02a9eaec 100644 --- a/src/serializers/USDSerializer.cpp +++ b/src/serializers/USDSerializer.cpp @@ -36,12 +36,16 @@ USDSerializer::USDSerializer(const std::string& out_filename, const SerializerSe WriteOnlyGeometrySerializer(settings), filename_(out_filename) { + std::size_t found = filename_.find_last_of("/\\"); + parent_path_ = filename_.substr(0, found != std::string::npos ? found + 1 : 0); stage_ = pxr::UsdStage::CreateNew(filename_); if(!stage_) throw std::runtime_error("Could not create USD stage"); - pxr::UsdGeomSetStageUpAxis(stage_, pxr::UsdGeomTokens->z); + if(!settings.get(SerializerSettings::USE_Y_UP)) + pxr::UsdGeomSetStageUpAxis(stage_, pxr::UsdGeomTokens->z); + pxr::UsdGeomSetStageMetersPerUnit(stage_, 1.0f); auto world = pxr::UsdGeomXform::Define(stage_, pxr::SdfPath("/World")); @@ -128,6 +132,7 @@ void USDSerializer::writeHeader() { } void USDSerializer::write(const IfcGeom::TriangulationElement* o) { + pxr::UsdGeomMesh usd_mesh; const IfcGeom::Representation::Triangulation& mesh = o->geometry(); const auto verts = mesh.verts(); const auto faces = mesh.faces(); @@ -138,17 +143,14 @@ void USDSerializer::write(const IfcGeom::TriangulationElement* o) { return; std::string name = o->name(); + const std::string type = o->type(); + const std::string id = std::to_string(o->id()); if(name.empty()) { - name = "UnNamed"; + name = type + "_UnNamed_" + id; } else { - name = usd_utils::toPath(name); + name = type + "_" + usd_utils::toPath(name) + "_" + id; } - name += "_" + std::to_string(o->id()); - auto usd_mesh = pxr::UsdGeomMesh::Define(stage_, pxr::SdfPath("/World/" + name)); - - usd_mesh.AddTranslateOp().Set(pxr::GfVec3d(m[9], m[10], m[11])); - usd_mesh.AddRotateXYZOp().Set(rotation_degrees_from_matrix(m)); - + usd_mesh = pxr::UsdGeomMesh::Define(stage_, pxr::SdfPath("/World/" + name)); pxr::VtVec3fArray points; for(std::size_t i = 0; i < verts.size(); i+=3) { points.push_back(pxr::GfVec3f(static_cast(verts[i]), @@ -156,10 +158,12 @@ void USDSerializer::write(const IfcGeom::TriangulationElement* o) { static_cast(verts[i+2]))); } usd_mesh.CreatePointsAttr().Set(points); - usd_mesh.CreateFaceVertexIndicesAttr().Set(usd_utils::toVtArray(faces)); usd_mesh.CreateFaceVertexCountsAttr().Set(pxr::VtArray((int) faces.size() / 3, 3)); + usd_mesh.AddTranslateOp().Set(pxr::GfVec3d(m[9], m[10], m[11])); + usd_mesh.AddRotateXYZOp().Set(rotation_degrees_from_matrix(m)); + pxr::VtVec3fArray normals; for (std::vector::const_iterator it = mesh.normals().begin(); it != mesh.normals().end();) normals.push_back(pxr::GfVec3f(static_cast(*(it++)), static_cast(*(it++)), static_cast(*(it++)))); diff --git a/src/serializers/USDSerializer.h b/src/serializers/USDSerializer.h index 4f0c2a0692..37b04326ee 100644 --- a/src/serializers/USDSerializer.h +++ b/src/serializers/USDSerializer.h @@ -62,8 +62,10 @@ class SERIALIZERS_API USDSerializer : public WriteOnlyGeometrySerializer { private: bool ready_ = false; const std::string filename_; + std::string parent_path_; pxr::UsdStageRefPtr stage_; std::map materials_; + std::map meshes_; std::vector createMaterials(const std::vector&); pxr::GfVec3f rotation_degrees_from_matrix(const std::vector&) const; From 2b88c542aa58ff076de720c591ffb0446979a188 Mon Sep 17 00:00:00 2001 From: D4ve-R Date: Fri, 19 May 2023 10:32:20 +0200 Subject: [PATCH 062/225] build scripts --- nix/build-all.py | 47 +++++++++++++++++++++++++++++++++++++++++++++- win/build-deps.cmd | 41 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 87 insertions(+), 1 deletion(-) diff --git a/nix/build-all.py b/nix/build-all.py index e83955ca15..30a131bf75 100644 --- a/nix/build-all.py +++ b/nix/build-all.py @@ -90,6 +90,8 @@ HDF5_VERSION = "1.12.1" GMP_VERSION = "6.2.1" MPFR_VERSION = "3.1.6" # latest is 4.1.0 CGAL_VERSION = "5.3" +USD_VERSION = "23.05" +TBB_VERSION = "2021.9.0" # binaries cp = "cp" @@ -201,6 +203,7 @@ dependency_tree = { 'hdf5': (), 'cgal': (), 'freetype': (), + 'usd': ('boost', 'oneTBB') } def v(dep): @@ -741,7 +744,42 @@ if "cgal" in targets: download_tool=download_tool_git, revision=f"v{CGAL_VERSION}" ) - + +if "usd" in targets: + build_dependency( + name=f"oneTBB-{TBB_VERSION}", + mode="cmake", + build_tool_args=[ + f"-DCMAKE_INSTALL_PREFIX={DEPS_DIR}/install/tbb-{TBB_VERSION}", + f"-DTBB_TEST=OFF" + ], + download_url="https://github.com/oneapi-src/oneTBB", + download_name="oneTBB", + download_tool=download_tool_git, + revision=f"v{TBB_VERSION}" + ) + + build_dependency( + name=f"usd-{USD_VERSION}", + mode="cmake", + build_tool_args=[ + f"-DCMAKE_INSTALL_PREFIX={DEPS_DIR}/install/usd-{USD_VERSION}", + f"-DBOOST_ROOT={DEPS_DIR}/install/boost-{BOOST_VERSION}", + f"-DTBB_ROOT_DIR={DEPS_DIR}/install/tbb-{TBB_VERSION}", + f"-DPXR_ENABLE_PYTHON_SUPPORT=FALSE", + f"-DPXR_ENABLE_GL_SUPPORT=FALSE", + f"-DPXR_BUILD_IMAGING=FALSE", + f"-DPXR_BUILD_TUTORIALS=FALSE", + f"-DPXR_BUILD_EXAMPLES=FALSE", + f"-DPXR_BUILD_USD_TOOLS=FALSE", + f"-DPXR_BUILD_TESTS=FALSE" + ], + download_url="https://github.com/PixarAnimationStudios/USD", + download_name="USD", + download_tool=download_tool_git, + revision=f"v{USD_VERSION}" + ) + cecho("Building IfcOpenShell:", GREEN) IFCOS_DIR = os.path.join(DEPS_DIR, "build", "ifcopenshell") @@ -824,6 +862,13 @@ if "hdf5" in targets: else: cmake_args.append("-DHDF5_SUPPORT=Off") +if "usd" in targets: + cmake_args.extend([ + "-DUSD_SUPPORT=" "On", + "-DUSD_INCLUDE_DIR=" f"{DEPS_DIR}/install/usd-{USD_VERSION}/include", + "-DUSD_LIBRARY_DIR=" f"{DEPS_DIR}/install/usd-{USD_VERSION}/lib" + ]) + if not explicit_targets or {"IfcGeom", "IfcConvert", "IfcGeomServer"} & set(explicit_targets): logger.info("\rConfiguring executables...") diff --git a/win/build-deps.cmd b/win/build-deps.cmd index 4c7d1aa591..b610657e84 100644 --- a/win/build-deps.cmd +++ b/win/build-deps.cmd @@ -473,6 +473,47 @@ IF NOT %ERRORLEVEL%==0 GOTO :Error call :InstallCMakeProject "%DEPENDENCY_DIR%\%BUILD_DIR%" %BUILD_CFG% IF NOT %ERRORLEVEL%==0 GOTO :Error +:tbb +set DEPENDENCY_NAME=tbb +set DEPENDENCY_DIR=%DEPS_DIR%\tbb +call :GitCloneAndCheckoutRevision https://github.com/oneapi-src/oneTBB.git "%DEPENDENCY_DIR%" v2021.9.0 +IF NOT %ERRORLEVEL%==0 GOTO :Error +cd "%DEPENDENCY_DIR%" +:: git reset --hard +:: git apply --ignore-whitespace "%~dp0patches\cgal_no_zlib.patch" +call :RunCMake -DCMAKE_INSTALL_PREFIX="%INSTALL_DIR%\tbb" ^ + -DTBB_TEST=OFF +IF NOT %ERRORLEVEL%==0 GOTO :Error +call :BuildSolution "%DEPENDENCY_DIR%\%BUILD_DIR%\oneTBB.sln" %BUILD_CFG% +IF NOT %ERRORLEVEL%==0 GOTO :Error +call :InstallCMakeProject "%DEPENDENCY_DIR%\%BUILD_DIR%" %BUILD_CFG% +IF NOT %ERRORLEVEL%==0 GOTO :Error + +:usd +set DEPENDENCY_NAME=usd +set DEPENDENCY_DIR=%DEPS_DIR%\usd +call :GitCloneAndCheckoutRevision https://github.com/PixarAnimationStudios/USD.git "%DEPENDENCY_DIR%" v23.05 +IF NOT %ERRORLEVEL%==0 GOTO :Error +cd "%DEPENDENCY_DIR%" +:: git reset --hard +:: git apply --ignore-whitespace "%~dp0patches\cgal_no_zlib.patch" +call :RunCMake -DCMAKE_INSTALL_PREFIX="%INSTALL_DIR%\usd" ^ + -DBOOST_ROOT="%DEPS_DIR%\boost_%BOOST_VER%" ^ + -DTBB_ROOT_DIR="%INSTALL_DIR%\tbb" ^ + -DPXR_ENABLE_PYTHON_SUPPORT=FALSE ^ + -DPXR_ENABLE_GL_SUPPORT=FALSE ^ + -DPXR_BUILD_IMAGING=FALSE ^ + -DPXR_BUILD_TUTORIALS=FALSE ^ + -DPXR_BUILD_EXAMPLES=FALSE ^ + -DPXR_BUILD_USD_TOOLS=FALSE ^ + -DPXR_BUILD_TESTS=FALSE ^ + -DBOOST_LIBRARYDIR="%DEPS_DIR%\boost_%BOOST_VER%\stage\vs%VS_VER%-%VS_PLATFORM%\lib" +IF NOT %ERRORLEVEL%==0 GOTO :Error +call :BuildSolution "%DEPENDENCY_DIR%\%BUILD_DIR%\USD.sln" %BUILD_CFG% +IF NOT %ERRORLEVEL%==0 GOTO :Error +call :InstallCMakeProject "%DEPENDENCY_DIR%\%BUILD_DIR%" %BUILD_CFG% +IF NOT %ERRORLEVEL%==0 GOTO :Error + :Successful echo. call "%~dp0\utils\cecho.cmd" 0 10 "%PROJECT_NAME% dependencies built." From 741c78cd6c565e2b6a74a876657e21e073757c88 Mon Sep 17 00:00:00 2001 From: D4ve-R Date: Wed, 24 May 2023 15:16:48 +0200 Subject: [PATCH 063/225] Revert "build scripts" This reverts commit 6c1218d3521b4d3eb3e71ab98e3109461362deb0. --- nix/build-all.py | 47 +--------------------------------------------- win/build-deps.cmd | 41 ---------------------------------------- 2 files changed, 1 insertion(+), 87 deletions(-) diff --git a/nix/build-all.py b/nix/build-all.py index 30a131bf75..e83955ca15 100644 --- a/nix/build-all.py +++ b/nix/build-all.py @@ -90,8 +90,6 @@ HDF5_VERSION = "1.12.1" GMP_VERSION = "6.2.1" MPFR_VERSION = "3.1.6" # latest is 4.1.0 CGAL_VERSION = "5.3" -USD_VERSION = "23.05" -TBB_VERSION = "2021.9.0" # binaries cp = "cp" @@ -203,7 +201,6 @@ dependency_tree = { 'hdf5': (), 'cgal': (), 'freetype': (), - 'usd': ('boost', 'oneTBB') } def v(dep): @@ -744,42 +741,7 @@ if "cgal" in targets: download_tool=download_tool_git, revision=f"v{CGAL_VERSION}" ) - -if "usd" in targets: - build_dependency( - name=f"oneTBB-{TBB_VERSION}", - mode="cmake", - build_tool_args=[ - f"-DCMAKE_INSTALL_PREFIX={DEPS_DIR}/install/tbb-{TBB_VERSION}", - f"-DTBB_TEST=OFF" - ], - download_url="https://github.com/oneapi-src/oneTBB", - download_name="oneTBB", - download_tool=download_tool_git, - revision=f"v{TBB_VERSION}" - ) - - build_dependency( - name=f"usd-{USD_VERSION}", - mode="cmake", - build_tool_args=[ - f"-DCMAKE_INSTALL_PREFIX={DEPS_DIR}/install/usd-{USD_VERSION}", - f"-DBOOST_ROOT={DEPS_DIR}/install/boost-{BOOST_VERSION}", - f"-DTBB_ROOT_DIR={DEPS_DIR}/install/tbb-{TBB_VERSION}", - f"-DPXR_ENABLE_PYTHON_SUPPORT=FALSE", - f"-DPXR_ENABLE_GL_SUPPORT=FALSE", - f"-DPXR_BUILD_IMAGING=FALSE", - f"-DPXR_BUILD_TUTORIALS=FALSE", - f"-DPXR_BUILD_EXAMPLES=FALSE", - f"-DPXR_BUILD_USD_TOOLS=FALSE", - f"-DPXR_BUILD_TESTS=FALSE" - ], - download_url="https://github.com/PixarAnimationStudios/USD", - download_name="USD", - download_tool=download_tool_git, - revision=f"v{USD_VERSION}" - ) - + cecho("Building IfcOpenShell:", GREEN) IFCOS_DIR = os.path.join(DEPS_DIR, "build", "ifcopenshell") @@ -862,13 +824,6 @@ if "hdf5" in targets: else: cmake_args.append("-DHDF5_SUPPORT=Off") -if "usd" in targets: - cmake_args.extend([ - "-DUSD_SUPPORT=" "On", - "-DUSD_INCLUDE_DIR=" f"{DEPS_DIR}/install/usd-{USD_VERSION}/include", - "-DUSD_LIBRARY_DIR=" f"{DEPS_DIR}/install/usd-{USD_VERSION}/lib" - ]) - if not explicit_targets or {"IfcGeom", "IfcConvert", "IfcGeomServer"} & set(explicit_targets): logger.info("\rConfiguring executables...") diff --git a/win/build-deps.cmd b/win/build-deps.cmd index b610657e84..4c7d1aa591 100644 --- a/win/build-deps.cmd +++ b/win/build-deps.cmd @@ -473,47 +473,6 @@ IF NOT %ERRORLEVEL%==0 GOTO :Error call :InstallCMakeProject "%DEPENDENCY_DIR%\%BUILD_DIR%" %BUILD_CFG% IF NOT %ERRORLEVEL%==0 GOTO :Error -:tbb -set DEPENDENCY_NAME=tbb -set DEPENDENCY_DIR=%DEPS_DIR%\tbb -call :GitCloneAndCheckoutRevision https://github.com/oneapi-src/oneTBB.git "%DEPENDENCY_DIR%" v2021.9.0 -IF NOT %ERRORLEVEL%==0 GOTO :Error -cd "%DEPENDENCY_DIR%" -:: git reset --hard -:: git apply --ignore-whitespace "%~dp0patches\cgal_no_zlib.patch" -call :RunCMake -DCMAKE_INSTALL_PREFIX="%INSTALL_DIR%\tbb" ^ - -DTBB_TEST=OFF -IF NOT %ERRORLEVEL%==0 GOTO :Error -call :BuildSolution "%DEPENDENCY_DIR%\%BUILD_DIR%\oneTBB.sln" %BUILD_CFG% -IF NOT %ERRORLEVEL%==0 GOTO :Error -call :InstallCMakeProject "%DEPENDENCY_DIR%\%BUILD_DIR%" %BUILD_CFG% -IF NOT %ERRORLEVEL%==0 GOTO :Error - -:usd -set DEPENDENCY_NAME=usd -set DEPENDENCY_DIR=%DEPS_DIR%\usd -call :GitCloneAndCheckoutRevision https://github.com/PixarAnimationStudios/USD.git "%DEPENDENCY_DIR%" v23.05 -IF NOT %ERRORLEVEL%==0 GOTO :Error -cd "%DEPENDENCY_DIR%" -:: git reset --hard -:: git apply --ignore-whitespace "%~dp0patches\cgal_no_zlib.patch" -call :RunCMake -DCMAKE_INSTALL_PREFIX="%INSTALL_DIR%\usd" ^ - -DBOOST_ROOT="%DEPS_DIR%\boost_%BOOST_VER%" ^ - -DTBB_ROOT_DIR="%INSTALL_DIR%\tbb" ^ - -DPXR_ENABLE_PYTHON_SUPPORT=FALSE ^ - -DPXR_ENABLE_GL_SUPPORT=FALSE ^ - -DPXR_BUILD_IMAGING=FALSE ^ - -DPXR_BUILD_TUTORIALS=FALSE ^ - -DPXR_BUILD_EXAMPLES=FALSE ^ - -DPXR_BUILD_USD_TOOLS=FALSE ^ - -DPXR_BUILD_TESTS=FALSE ^ - -DBOOST_LIBRARYDIR="%DEPS_DIR%\boost_%BOOST_VER%\stage\vs%VS_VER%-%VS_PLATFORM%\lib" -IF NOT %ERRORLEVEL%==0 GOTO :Error -call :BuildSolution "%DEPENDENCY_DIR%\%BUILD_DIR%\USD.sln" %BUILD_CFG% -IF NOT %ERRORLEVEL%==0 GOTO :Error -call :InstallCMakeProject "%DEPENDENCY_DIR%\%BUILD_DIR%" %BUILD_CFG% -IF NOT %ERRORLEVEL%==0 GOTO :Error - :Successful echo. call "%~dp0\utils\cecho.cmd" 0 10 "%PROJECT_NAME% dependencies built." From ed990c3e834bc80edca81e0acc3c130de7685949 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Fri, 9 Jun 2023 22:16:34 +1000 Subject: [PATCH 064/225] Experimental support for storage of IFC in MySQL and SQLite --- src/blenderbim/scripts/ifc2sql.py | 262 ++++++++++++++++++++++++++++++ 1 file changed, 262 insertions(+) create mode 100644 src/blenderbim/scripts/ifc2sql.py diff --git a/src/blenderbim/scripts/ifc2sql.py b/src/blenderbim/scripts/ifc2sql.py new file mode 100644 index 0000000000..135f037b24 --- /dev/null +++ b/src/blenderbim/scripts/ifc2sql.py @@ -0,0 +1,262 @@ +import os +import json +import itertools +import ifcopenshell +import ifcopenshell.util.schema +import ifcopenshell.util.attribute + +import sqlite3 +import mysql.connector + + +class Ifc2Sql: + def execute(self): + self.sql_type = "sqlite" + # self.sql_type = "mysql" + + self.is_strict = False + self.should_get_psets = True + self.should_expand = True + self.should_get_geometry_blob = True + self.should_skip_geometry_data = True + + filepath = "/home/dion/test2.ifc" + self.file = ifcopenshell.open(filepath) + self.schema = ifcopenshell.ifcopenshell_wrapper.schema_by_name(self.file.schema) + + if self.sql_type == "sqlite": + db_file = "/home/dion/test.db" + os.remove(db_file) + self.db = sqlite3.connect(db_file) + elif self.sql_type == "mysql": + self.db = mysql.connector.connect( + host="localhost", + user="root", + password="root", + database="test" + ) + + self.create_id_map() + if self.should_get_psets: + self.create_pset_table() + + for ifc_class in self.file.wrapped_data.types(): + declaration = self.schema.declaration_by_name(ifc_class) + + if self.should_skip_geometry_data: + if ifcopenshell.util.schema.is_a(declaration, "IfcRepresentation") or ifcopenshell.util.schema.is_a( + declaration, "IfcRepresentationItem" + ): + continue + + if self.sql_type == "sqlite": + self.create_sqlite_table(ifc_class, declaration) + elif self.sql_type == "mysql": + self.create_mysql_table(ifc_class, declaration) + self.insert_data(ifc_class) + + self.db.close() + + def create_id_map(self): + if self.sql_type == "sqlite": + statement = ( + "CREATE TABLE IF NOT EXISTS id_map (ifc_id integer PRIMARY KEY NOT NULL UNIQUE, ifc_class text);" + ) + elif self.sql_type == "mysql": + statement = """ + CREATE TABLE `id_map` ( + `ifc_id` int(10) unsigned NOT NULL, + `ifc_class` varchar(255) NOT NULL, + PRIMARY KEY (`ifc_id`) + ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci; + """ + c = self.db.cursor() + c.execute(statement) + + def create_pset_table(self): + statement = """ + CREATE TABLE IF NOT EXISTS psets ( + ifc_id integer NOT NULL, + pset_name text, + name text, + value text + ); + """ + c = self.db.cursor() + c.execute(statement) + + def create_sqlite_table(self, ifc_class, declaration): + statement = f"CREATE TABLE IF NOT EXISTS {ifc_class} (" + + if self.should_expand: + statement += "ifc_id INTEGER NOT NULL," + else: + statement += "ifc_id INTEGER PRIMARY KEY NOT NULL UNIQUE," + + total_attributes = declaration.attribute_count() + derived = declaration.derived() + for i in range(0, total_attributes): + attribute = declaration.attribute_by_index(i) + primitive = ifcopenshell.util.attribute.get_primitive_type(attribute) + print(attribute.name(), primitive) + if primitive in ("string", "enum"): + data_type = "TEXT" + elif primitive in ("entity", "integer", "boolean"): + data_type = "INTEGER" + elif primitive == "float": + data_type = "REAL" + elif self.should_expand and self.is_entity_list(primitive): + data_type = "INTEGER" + elif isinstance(primitive, tuple): + data_type = "JSON" + else: + print(attribute, primitive) # Not implemented? + if not self.is_strict or derived[i]: + optional = "" + else: + optional = "" if attribute.optional() else " NOT NULL" + comma = "" if i == total_attributes - 1 else "," + statement += f" {attribute.name()} {data_type}{optional}{comma}" + statement += ");" + print(statement) + c = self.db.cursor() + c.execute(statement) + + def create_mysql_table(self, ifc_class, declaration): + declaration = self.schema.declaration_by_name(ifc_class) + statement = f"CREATE TABLE IF NOT EXISTS {ifc_class} (" + statement += "`ifc_id` int(10) unsigned NOT NULL," + derived = declaration.derived() + for attribute in declaration.all_attributes(): + primitive = ifcopenshell.util.attribute.get_primitive_type(attribute) + if primitive in ("string", "enum"): + if "IfcText" in str(attribute.type_of_attribute()): + data_type = "text" + else: + data_type = "varchar(255)" + elif primitive == "entity": + data_type = "int(10) unsigned" + elif primitive == "boolean": + data_type = "tinyint(1)" + elif primitive == "integer": + data_type = "int(10)" + if "Positive" in str(attribute.type_of_attribute()): + data_type += " unsigned" + elif primitive == "float": + data_type = "decimal(10,0)" + elif self.should_expand and self.is_entity_list(primitive): + data_type = "int(10) unsigned" + elif isinstance(primitive, tuple): + data_type = "JSON" + else: + print(attribute, primitive) # Not implemented? + if not self.is_strict or derived[i]: + optional = "DEFAULT NULL" + else: + optional = "DEFAULT NULL" if attribute.optional() else "NOT NULL" + statement += f" `{attribute.name()}` {data_type} {optional}," + statement += " PRIMARY KEY (`ifc_id`)" + statement += ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;" + print(statement) + c = self.db.cursor() + c.execute(statement) + + def insert_data(self, ifc_class): + elements = self.file.by_type(ifc_class, include_subtypes=False) + + rows = [] + id_map_rows = [] + pset_rows = [] + + for element in elements: + nested_indices = [] + values = [element.id()] + for i, attribute in enumerate(element): + if isinstance(attribute, ifcopenshell.entity_instance): + if attribute.id(): + values.append(attribute.id()) + else: + values.append(json.dumps({"type": attribute.is_a(), "value": attribute.wrappedValue})) + elif ( + self.should_expand + and attribute + and isinstance(attribute, tuple) + and isinstance(attribute[0], ifcopenshell.entity_instance) + ): + nested_indices.append(i + 1) + attribute = self.serialise_value(element, attribute) + values.append(attribute) + elif isinstance(attribute, tuple): + attribute = self.serialise_value(element, attribute) + values.append(json.dumps(attribute)) + else: + values.append(attribute) + + if self.should_expand: + print(values) + rows.extend(self.get_permutations(values, nested_indices)) + else: + rows.append(values) + + id_map_rows.append([element.id(), ifc_class]) + + if self.should_get_psets: + psets = ifcopenshell.util.element.get_psets(element) + if psets: + print(psets) + for pset_name, pset_data in psets.items(): + for prop_name, value in pset_data.items(): + if prop_name == "id": + continue + pset_rows.append([element.id(), pset_name, prop_name, value]) + c = self.db.cursor() + + print(rows) + + if self.sql_type == "sqlite": + c.executemany(f"INSERT INTO {ifc_class} VALUES ({','.join(['?']*len(rows[0]))});", rows) + c.executemany("INSERT INTO id_map VALUES (?, ?);", id_map_rows) + if pset_rows: + c.executemany("INSERT INTO psets VALUES (?, ?, ?, ?);", pset_rows) + elif self.sql_type == "mysql": + c.executemany(f"INSERT INTO {ifc_class} VALUES ({','.join(['%s']*len(rows[0]))});", rows) + c.executemany("INSERT INTO id_map VALUES (%s, %s);", id_map_rows) + if pset_rows: + c.executemany("INSERT INTO psets VALUES (%s, %s, %s, %s);", pset_rows) + + self.db.commit() + + def serialise_value(self, element, value): + return element.walk( + lambda v: isinstance(v, ifcopenshell.entity_instance), + lambda v: v.id() if v.id() else {"type": v.is_a(), "value": v.wrappedValue}, + value, + ) + + def get_permutations(self, lst, indexes): + nested_lists = [lst[i] for i in indexes] + + # Generate the Cartesian product of the nested lists + products = list(itertools.product(*nested_lists)) + + # Place the elements of each product back in their original positions + final_lists = [] + for product in products: + temp_list = lst[:] + for i, index in enumerate(indexes): + temp_list[index] = product[i] + final_lists.append(temp_list) + + return final_lists + + def is_entity_list(self, primitive): + if not isinstance(primitive, tuple): + return False + elif primitive[1] == "entity": + return True + elif isinstance(primitive[1], tuple): + return self.is_entity_list(primitive[1]) + return False + + +Ifc2Sql().execute() From 04fe2bdf2eec4a22b52273a3e2d67ab53d52253b Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Fri, 9 Jun 2023 18:39:50 +0500 Subject: [PATCH 065/225] External Styles Added support for external blender styles that will be saved to ifc. What it basically means that you can append material from external .blend file as a style that can be loaded in your blender material anytime. 1) External style can be added in Material Tab https://i.imgur.com/BYfesi5.png Note that you select material name at the right side of file selecting panel: https://i.imgur.com/mvqaaod.png 2) After adding external style you can switch between external and other surface styles: https://i.imgur.com/YtCz8an.png 3) There is also option to switch styles to External for all objects in the scene: https://i.imgur.com/u3zTcX9.png Some other changes: - some ui adjustments - moved functions that create blender shaders to tool.Loader (they also reset shader graph now so it's possible to use them on non-default blender materials) - some new tools for copying node graph from one material to another, appending data blocks - new operator for browsing external styles can be reused later to append other data blocks --- src/blenderbim/blenderbim/bim/import_ifc.py | 161 +------------- .../blenderbim/bim/module/misc/ui.py | 3 +- .../blenderbim/bim/module/style/__init__.py | 12 +- .../blenderbim/bim/module/style/data.py | 23 +- .../blenderbim/bim/module/style/operator.py | 200 +++++++++++++++++- .../blenderbim/bim/module/style/prop.py | 62 ++++++ .../blenderbim/bim/module/style/ui.py | 78 ++++++- src/blenderbim/blenderbim/core/style.py | 28 +++ src/blenderbim/blenderbim/tool/blender.py | 53 ++++- src/blenderbim/blenderbim/tool/loader.py | 174 +++++++++++++++ src/blenderbim/blenderbim/tool/style.py | 36 +++- 11 files changed, 651 insertions(+), 179 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/import_ifc.py b/src/blenderbim/blenderbim/bim/import_ifc.py index a7213eab5b..e85357c6b1 100644 --- a/src/blenderbim/blenderbim/bim/import_ifc.py +++ b/src/blenderbim/blenderbim/bim/import_ifc.py @@ -1490,173 +1490,18 @@ class IfcImporter: for surface_style in style.Styles: if surface_style.is_a() == "IfcSurfaceStyleShading": - self.create_surface_style_shading(blender_material, surface_style) + tool.Loader.create_surface_style_shading(blender_material, surface_style) elif surface_style.is_a("IfcSurfaceStyleRendering"): rendering_style = surface_style - self.create_surface_style_rendering(blender_material, surface_style) + tool.Loader.create_surface_style_rendering(blender_material, surface_style) elif surface_style.is_a("IfcSurfaceStyleWithTextures"): texture_style = surface_style if rendering_style and texture_style: - self.create_surface_style_with_textures(blender_material, rendering_style, texture_style) + tool.Loader.create_surface_style_with_textures(blender_material, rendering_style, texture_style) tool.Style.record_shading(blender_material) - def create_surface_style_shading(self, blender_material, surface_style): - alpha = 1.0 - # Transparency was added in IFC4 - if hasattr(surface_style, "Transparency") and surface_style.Transparency: - alpha = 1 - surface_style.Transparency - blender_material.diffuse_color = ( - surface_style.SurfaceColour.Red, - surface_style.SurfaceColour.Green, - surface_style.SurfaceColour.Blue, - alpha, - ) - - def create_surface_style_rendering(self, blender_material, surface_style): - self.create_surface_style_shading(blender_material, surface_style) - if surface_style.ReflectanceMethod in ["PHYSICAL", "NOTDEFINED"]: - blender_material.use_nodes = True - bsdf = blender_material.node_tree.nodes["Principled BSDF"] - if surface_style.DiffuseColour: - if surface_style.DiffuseColour.is_a("IfcColourRgb"): - bsdf.inputs["Base Color"].default_value = ( - surface_style.DiffuseColour.Red, - surface_style.DiffuseColour.Green, - surface_style.DiffuseColour.Blue, - 1, - ) - elif surface_style.DiffuseColour.is_a("IfcNormalisedRatioMeasure"): - bsdf.inputs["Base Color"].default_value = ( - surface_style.SurfaceColour.Red * surface_style.DiffuseColour.wrappedValue, - surface_style.SurfaceColour.Green * surface_style.DiffuseColour.wrappedValue, - surface_style.SurfaceColour.Blue * surface_style.DiffuseColour.wrappedValue, - 1, - ) - if surface_style.SpecularColour and surface_style.SpecularColour.is_a("IfcNormalisedRatioMeasure"): - bsdf.inputs["Metallic"].default_value = surface_style.SpecularColour.wrappedValue - if surface_style.SpecularHighlight and surface_style.SpecularHighlight.is_a("IfcSpecularRoughness"): - bsdf.inputs["Roughness"].default_value = surface_style.SpecularHighlight.wrappedValue - if hasattr(surface_style, "Transparency") and surface_style.Transparency: - bsdf.inputs["Alpha"].default_value = 1 - surface_style.Transparency - blender_material.blend_method = "BLEND" - elif surface_style.ReflectanceMethod == "FLAT": - blender_material.use_nodes = True - - output = {n.type: n for n in blender_material.node_tree.nodes}.get("OUTPUT_MATERIAL", None) - bsdf = blender_material.node_tree.nodes["Principled BSDF"] - - mix = blender_material.node_tree.nodes.new(type="ShaderNodeMixShader") - mix.location = bsdf.location - blender_material.node_tree.links.new(mix.outputs[0], output.inputs["Surface"]) - - blender_material.node_tree.nodes.remove(bsdf) - - lightpath = blender_material.node_tree.nodes.new(type="ShaderNodeLightPath") - lightpath.location = mix.location - mathutils.Vector((200, -200)) - blender_material.node_tree.links.new(lightpath.outputs[0], mix.inputs[0]) - - bsdf = blender_material.node_tree.nodes.new(type="ShaderNodeBsdfTransparent") - bsdf.location = mix.location - mathutils.Vector((200, 0)) - blender_material.node_tree.links.new(bsdf.outputs[0], mix.inputs[1]) - - rgb = blender_material.node_tree.nodes.new(type="ShaderNodeRGB") - rgb.location = mix.location - mathutils.Vector((200, 200)) - blender_material.node_tree.links.new(rgb.outputs[0], mix.inputs[2]) - - if surface_style.DiffuseColour and surface_style.DiffuseColour.is_a("IfcColourRgb"): - rgb.outputs[0].default_value = ( - surface_style.DiffuseColour.Red, - surface_style.DiffuseColour.Green, - surface_style.DiffuseColour.Blue, - 1, - ) - - def create_surface_style_with_textures(self, blender_material, rendering_style, texture_style): - for texture in texture_style.Textures: - mode = getattr(texture, "Mode", None) - node = None - - if texture.is_a("IfcImageTexture"): - image_url = texture.URLReference - if not os.path.abspath(texture.URLReference) and tool.Ifc.get_path(): - image_url = os.path.join(os.path.dirname(tool.Ifc.get_path()), texture.URLReference) - - if rendering_style.ReflectanceMethod in ["PHYSICAL", "NOTDEFINED"]: - bsdf = blender_material.node_tree.nodes["Principled BSDF"] - if mode == "NORMAL": - normalmap = blender_material.node_tree.nodes.new(type="ShaderNodeNormalMap") - normalmap.location = bsdf.location - mathutils.Vector((200, 0)) - blender_material.node_tree.links.new(normalmap.outputs[0], bsdf.inputs["Normal"]) - - node = blender_material.node_tree.nodes.new(type="ShaderNodeTexImage") - node.location = normalmap.location - mathutils.Vector((200, 0)) - image = bpy.data.images.load(image_url) - image.colorspace_settings.name = "Non-Color" - node.image = image - blender_material.node_tree.links.new(node.outputs[0], normalmap.inputs["Color"]) - elif mode == "EMISSIVE": - output = {n.type: n for n in blender_material.node_tree.nodes}.get("OUTPUT_MATERIAL", None) - - add = blender_material.node_tree.nodes.new(type="ShaderNodeAddShader") - add.location = bsdf.location + mathutils.Vector((200, 0)) - blender_material.node_tree.links.new(bsdf.outputs[0], add.inputs[1]) - blender_material.node_tree.links.new(add.outputs[0], output.inputs[0]) - - emission = blender_material.node_tree.nodes.new(type="ShaderNodeEmission") - emission.location = add.location - mathutils.Vector((200, 0)) - blender_material.node_tree.links.new(emission.outputs[0], add.inputs[0]) - - node = blender_material.node_tree.nodes.new(type="ShaderNodeTexImage") - node.location = emission.location - mathutils.Vector((200, 0)) - image = bpy.data.images.load(image_url) - node.image = image - blender_material.node_tree.links.new(node.outputs[0], emission.inputs[0]) - elif mode == "METALLICROUGHNESS": - separate = blender_material.node_tree.nodes.new(type="ShaderNodeSeparateRGB") - separate.location = bsdf.location - mathutils.Vector((200, 0)) - blender_material.node_tree.links.new(separate.outputs[1], bsdf.inputs["Roughness"]) - blender_material.node_tree.links.new(separate.outputs[2], bsdf.inputs["Metallic"]) - - node = blender_material.node_tree.nodes.new(type="ShaderNodeTexImage") - node.location = separate.location - mathutils.Vector((200, 0)) - image = bpy.data.images.load(image_url) - image.colorspace_settings.name = "Non-Color" - node.image = image - blender_material.node_tree.links.new(node.outputs[0], separate.inputs[0]) - elif mode == "OCCLUSION": - # TODO work out how to implement glTF settings here - # https://docs.blender.org/manual/en/dev/addons/import_export/scene_gltf2.html - pass - elif mode == "DIFFUSE": - node = blender_material.node_tree.nodes.new(type="ShaderNodeTexImage") - node.location = bsdf.location - mathutils.Vector((400, 0)) - image = bpy.data.images.load(image_url) - node.image = image - blender_material.node_tree.links.new(node.outputs[0], bsdf.inputs["Base Color"]) - blender_material.node_tree.links.new(node.outputs[1], bsdf.inputs["Alpha"]) - blender_material.blend_method = "BLEND" - elif rendering_style.ReflectanceMethod == "FLAT": - bsdf = blender_material.node_tree.nodes["Mix Shader"] - if mode == "EMISSIVE": - node = blender_material.node_tree.nodes.new(type="ShaderNodeTexImage") - node.location = bsdf.location - mathutils.Vector((200, 0)) - image = bpy.data.images.load(image_url) - node.image = image - blender_material.node_tree.links.new(node.outputs[0], bsdf.inputs[2]) - - if node and getattr(texture, "IsMappedBy", None): - coordinates = texture.IsMappedBy[0] - coord = blender_material.node_tree.nodes.new(type="ShaderNodeTexCoord") - coord.location = node.location - mathutils.Vector((200, 0)) - if coordinates.is_a("IfcTextureCoordinateGenerator") and coordinates.Mode == "COORD": - blender_material.node_tree.links.new(coord.outputs["Generated"], node.inputs["Vector"]) - elif coordinates.is_a("IfcTextureCoordinateGenerator") and coordinates.Mode == "COORD-EYE": - blender_material.node_tree.links.new(coord.outputs["Camera"], node.inputs["Vector"]) - else: - blender_material.node_tree.links.new(coord.outputs["UV"], node.inputs["Vector"]) - def place_objects_in_collections(self): for ifc_definition_id, obj in self.added_data.items(): if isinstance(obj, bpy.types.Object): diff --git a/src/blenderbim/blenderbim/bim/module/misc/ui.py b/src/blenderbim/blenderbim/bim/module/misc/ui.py index 278c8184e5..e706fc4caf 100644 --- a/src/blenderbim/blenderbim/bim/module/misc/ui.py +++ b/src/blenderbim/blenderbim/bim/module/misc/ui.py @@ -30,7 +30,8 @@ class BIM_PT_misc_utilities(bpy.types.Panel): def draw(self, context): layout = self.layout props = context.scene.BIMMiscProperties - + row = layout.row() + row.prop(context.scene.BIMStylesProperties, "active_style_type", icon="SHADING_RENDERED", text="") row = layout.split(factor=0.2, align=True) row.prop(props, "override_colour", text="") row.operator("bim.set_override_colour") diff --git a/src/blenderbim/blenderbim/bim/module/style/__init__.py b/src/blenderbim/blenderbim/bim/module/style/__init__.py index d8d6b7f344..c831f47d57 100644 --- a/src/blenderbim/blenderbim/bim/module/style/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/style/__init__.py @@ -21,10 +21,15 @@ from . import ui, prop, operator classes = ( operator.AddStyle, - operator.DisableEditingStyle, - operator.DisableEditingStyles, - operator.EditStyle, operator.EnableEditingStyle, + operator.DisableEditingStyle, + operator.EditStyle, + operator.EnableEditingExternalStyle, + operator.DisableEditingExternalStyle, + operator.EditExternalStyle, + operator.DisableEditingStyles, + operator.BrowseExternalStyle, + operator.ActivateExternalStyle, operator.LoadStyles, operator.RemoveStyle, operator.SelectByStyle, @@ -37,6 +42,7 @@ classes = ( ui.BIM_PT_styles, ui.BIM_PT_style, ui.BIM_PT_style_attributes, + ui.BIM_PT_external_style_attributes, ui.BIM_UL_styles, ) diff --git a/src/blenderbim/blenderbim/bim/module/style/data.py b/src/blenderbim/blenderbim/bim/module/style/data.py index 9826b994fa..f4fcbb56b5 100644 --- a/src/blenderbim/blenderbim/bim/module/style/data.py +++ b/src/blenderbim/blenderbim/bim/module/style/data.py @@ -56,7 +56,12 @@ class StyleAttributesData: @classmethod def load(cls): - cls.data = {"ifc_style_id": cls.ifc_style_id(), "attributes": cls.get_attributes()} + cls.data = { + "ifc_style_id": cls.ifc_style_id(), + "attributes": cls.get_attributes(), + "style_elements": cls.get_style_elements(), + } + cls.data["external_style_attributes"] = cls.get_external_style_attributes() cls.is_loaded = True @classmethod @@ -72,3 +77,19 @@ class StyleAttributesData: continue results.append({"name": name, "value": str(value)}) return results + + @classmethod + def get_style_elements(cls): + return tool.Style.get_style_elements(bpy.context.active_object.active_material) + + @classmethod + def get_external_style_attributes(cls): + external_style = cls.data["style_elements"].get("IfcExternallyDefinedSurfaceStyle", None) + if not external_style: + return None + results = [] + for name, value in external_style.get_info().items(): + if name in ["id", "type"]: + continue + results.append({"name": name, "value": str(value)}) + return results diff --git a/src/blenderbim/blenderbim/bim/module/style/operator.py b/src/blenderbim/blenderbim/bim/module/style/operator.py index 09e1215b1f..976016e6af 100644 --- a/src/blenderbim/blenderbim/bim/module/style/operator.py +++ b/src/blenderbim/blenderbim/bim/module/style/operator.py @@ -22,11 +22,15 @@ import blenderbim.tool as tool import blenderbim.core.style as core import ifcopenshell.util.representation from blenderbim.bim.ifc import IfcStore +from blenderbim.bim.module.style.data import StylesData, StyleAttributesData +from pathlib import Path +import os class UpdateStyleColours(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.update_style_colours" - bl_label = "Update Style Colours" + bl_label = "Save Current Shading Style" + bl_description = "Save current style values to IfcSurfaceStyleShading" bl_options = {"REGISTER", "UNDO"} def _execute(self, context): @@ -103,6 +107,200 @@ class EditStyle(bpy.types.Operator, tool.Ifc.Operator): core.edit_style(tool.Ifc, tool.Style, obj=context.active_object.active_material) +class BrowseExternalStyle(bpy.types.Operator): + bl_idname = "bim.browse_external_style" + bl_label = "Browse External Style" + bl_options = {"REGISTER", "UNDO"} + + filepath: bpy.props.StringProperty( + name="File Path", description="Filepath used to import from", maxlen=1024, default="", subtype="FILE_PATH" + ) + + filter_glob: bpy.props.StringProperty( + default="*.blend", + options={"HIDDEN"}, + ) + + def get_data_block_types(self, context): + return [("materials", "materials", "materials")] + # NOTE: the code below can be used later when we'll be adding other data-blocks besides materials + l = [("0", "", "")] + SUPPORTED_DATA_BLOCKS = ("materials", "textures", "brushes") + if os.path.exists(self.filepath) and self.filepath.endswith(".blend"): + with bpy.data.libraries.load(self.filepath) as (data_from, data_to): + for data_block_type in dir(data_from): + if data_block_type not in SUPPORTED_DATA_BLOCKS: + continue + data = getattr(data_from, data_block_type) + if data: + item = (data_block_type,) * 3 + l.append(item) + return l + + def get_data_blocks(self, context): + l = [("", "", "")] + if self.data_block_type != "0" and os.path.exists(self.filepath) and self.filepath.endswith(".blend"): + with bpy.data.libraries.load(self.filepath) as (data_from, data_to): + objects = getattr(data_from, self.data_block_type) + for o in objects: + l.append((o, o, o)) + return l + + data_block_type: bpy.props.EnumProperty( + name="Data Block Type", + description="List of data blocks in the .blend file", + items=get_data_block_types, + ) + + data_block: bpy.props.EnumProperty( + name="List of objects in the .blend file", + description="List of objects in the .blend file", + items=get_data_blocks, + ) + use_relative_path: bpy.props.BoolProperty(name="Use Relative Path", default=True) + directory: bpy.props.StringProperty( + name="Directory", + description="Start file browsing directory", + default="", + ) + + def invoke(self, context, event): + mat = context.active_object.active_material + external_style = tool.Style.get_style_elements(mat).get("IfcExternallyDefinedSurfaceStyle", None) + # automatically select previously selected external style in file browser + if external_style and self.filepath == "": + style_path = Path(tool.Ifc.resolve_uri(external_style.Location)) + self.directory = str(style_path.parent) + self.filepath = str(style_path) + self.data_block_type, self.data_block = external_style.Identification.split("/") + + context.window_manager.fileselect_add(self) + return {"RUNNING_MODAL"} + + def draw(self, context): + layout = self.layout + layout.label(text="Data Block Type") + layout.prop(self, "data_block_type", text="", icon="GROUP") + layout.label(text="Data Block") + layout.prop(self, "data_block", text="") + if bpy.data.is_saved: + layout.prop(self, "use_relative_path") + else: + self.use_relative_path = False + layout.label(text="Save the .blend file first ") + layout.label(text="to use relative paths for .ifc.") + + def execute(self, context): + if self.data_block_type == "0": + self.report({"ERROR"}, "Select a data block type") + return {"CANCELLED"} + + if self.data_block == "": + self.report({"ERROR"}, "Select a data block") + return {"CANCELLED"} + + if not os.path.exists(self.filepath): + self.report({"ERROR"}, f"File not found:\n'{self.filepath}'") + return {"CANCELLED"} + + db = tool.Blender.append_data_block(self.filepath, self.data_block_type, self.data_block) + if not db["data_block"]: + self.report({"ERROR"}, db["msg"]) + return {"CANCELLED"} + + bpy.data.materials.remove(db["data_block"]) + + if not StyleAttributesData.is_loaded: + StyleAttributesData.load() + external_style = StyleAttributesData.data["style_elements"].get("IfcExternallyDefinedSurfaceStyle", None) + + if self.use_relative_path: + filepath = os.path.relpath(self.filepath, bpy.path.abspath("//")) + else: + filepath = self.filepath + + attributes = { + "Location": filepath, + "Identification": f"{self.data_block_type}/{self.data_block}", + "Name": self.data_block, + } + if not external_style: + core.add_external_style( + tool.Ifc, tool.Style, obj=context.active_object.active_material, attributes=attributes + ) + else: + core.update_external_style(tool.Ifc, tool.Style, external_style=external_style, attributes=attributes) + + StyleAttributesData.is_loaded = False + return {"FINISHED"} + + +class EnableEditingExternalStyle(bpy.types.Operator, tool.Ifc.Operator): + bl_idname = "bim.enable_editing_external_style" + bl_label = "Enable Editing External Style" + bl_options = {"REGISTER", "UNDO"} + + def _execute(self, context): + core.enable_editing_external_style(tool.Style, obj=context.active_object.active_material) + + +class DisableEditingExternalStyle(bpy.types.Operator, tool.Ifc.Operator): + bl_idname = "bim.disable_editing_external_style" + bl_options = {"REGISTER", "UNDO"} + bl_label = "Disable Editing External Style" + + def _execute(self, context): + core.disable_editing_external_style(tool.Style, obj=context.active_object.active_material) + + +class EditExternalStyle(bpy.types.Operator, tool.Ifc.Operator): + bl_idname = "bim.edit_external_style" + bl_label = "Edit External Style" + bl_options = {"REGISTER", "UNDO"} + + def _execute(self, context): + core.edit_external_style(tool.Ifc, tool.Style, obj=context.active_object.active_material) + + +class ActivateExternalStyle(bpy.types.Operator, tool.Ifc.Operator): + bl_idname = "bim.activate_external_style" + bl_label = "Activate External Style" + bl_options = {"REGISTER", "UNDO", "INTERNAL"} + + def _execute(self, context): + material = context.active_object.active_material + external_style = tool.Style.get_style_elements(material)["IfcExternallyDefinedSurfaceStyle"] + data_block_type, data_block = external_style.Identification.split("/") + style_path = Path(tool.Ifc.resolve_uri(external_style.Location)) + + if style_path.suffix != ".blend": + self.report({"ERROR"}, f"Only Blender external styles are supported") + return {"CANCELLED"} + + if not style_path.exists(): + self.report({"ERROR"}, f"File not found:\n'{style_path}'") + return {"CANCELLED"} + + db = tool.Blender.append_data_block(str(style_path), data_block_type, data_block) + if not db["data_block"]: + self.report({"ERROR"}, db["msg"]) + return {"CANCELLED"} + + props_to_copy = [ + "diffuse_color", + "metallic", + "roughness", + "specular_intensity", + "use_nodes", + ] + for prop_name in props_to_copy: + setattr(material, prop_name, getattr(db["data_block"], prop_name)) + + if material.use_nodes: + tool.Blender.copy_node_graph_to_active_object(context, db["data_block"]) + bpy.data.materials.remove(db["data_block"]) + + class DisableEditingStyles(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.disable_editing_styles" bl_options = {"REGISTER", "UNDO"} diff --git a/src/blenderbim/blenderbim/bim/module/style/prop.py b/src/blenderbim/blenderbim/bim/module/style/prop.py index f8666f8793..a44bb91919 100644 --- a/src/blenderbim/blenderbim/bim/module/style/prop.py +++ b/src/blenderbim/blenderbim/bim/module/style/prop.py @@ -31,6 +31,7 @@ from bpy.props import ( FloatVectorProperty, CollectionProperty, ) +import blenderbim.tool as tool def get_style_types(self, context): @@ -45,13 +46,74 @@ class Style(PropertyGroup): total_elements: IntProperty(name="Total Elements") +STYLE_TYPES = [ + ("Shading", "Shading", ""), + ("External", "External", ""), +] + + +def update_shading_styles(self, context): + materials_to_objects = dict() + + for obj in bpy.data.objects: + blender_material = obj.active_material + if blender_material and blender_material.BIMMaterialProperties.ifc_style_id != 0: + materials_to_objects[blender_material] = obj + + for mat, obj in materials_to_objects.items(): + tool.Style.change_current_style_type(context, obj, mat, self.active_style_type) + + class BIMStylesProperties(PropertyGroup): is_editing: BoolProperty(name="Is Editing") style_type: EnumProperty(items=get_style_types, name="Style Type") styles: CollectionProperty(name="Styles", type=Style) active_style_index: IntProperty(name="Active Style Index") + active_style_type: EnumProperty( + name="Active Style Type", + description="Update current blender material to match style type for all objects in the scene", + items=STYLE_TYPES, + default="Shading", + update=update_shading_styles, + ) + + +def update_shading_style(self, context): + blender_material = context.active_object.active_material + style_elements = tool.Style.get_style_elements(blender_material) + if self.active_style_type == "External": + if "IfcExternallyDefinedSurfaceStyle" in style_elements: + bpy.ops.bim.activate_external_style() + + elif self.active_style_type == "Shading": + style_elements = tool.Style.get_style_elements(blender_material) + rendering_style = None + texture_style = None + + for surface_style in style_elements.values(): + if surface_style.is_a() == "IfcSurfaceStyleShading": + tool.Loader.create_surface_style_shading(blender_material, surface_style) + elif surface_style.is_a("IfcSurfaceStyleRendering"): + rendering_style = surface_style + tool.Loader.create_surface_style_rendering(blender_material, surface_style) + elif surface_style.is_a("IfcSurfaceStyleWithTextures"): + texture_style = surface_style + + if rendering_style and texture_style: + tool.Loader.create_surface_style_with_textures(blender_material, rendering_style, texture_style) class BIMStyleProperties(PropertyGroup): attributes: CollectionProperty(name="Attributes", type=Attribute) is_editing: BoolProperty(name="Is Editing") + + external_style_attributes: CollectionProperty(name="External Style Attributes", type=Attribute) + is_editing_external_style: BoolProperty(name="Is Editing External Style") + + active_style_type: EnumProperty( + name="Active Style Type", + description="Update current blender material to match style type", + items=STYLE_TYPES, + default="Shading", + update=update_shading_style, + ) diff --git a/src/blenderbim/blenderbim/bim/module/style/ui.py b/src/blenderbim/blenderbim/bim/module/style/ui.py index cefc9ff1f0..0d2fcdeba7 100644 --- a/src/blenderbim/blenderbim/bim/module/style/ui.py +++ b/src/blenderbim/blenderbim/bim/module/style/ui.py @@ -82,18 +82,22 @@ class BIM_PT_style(MaterialButtonsPanel, Panel): def draw(self, context): props = context.active_object.active_material.BIMMaterialProperties + style_props = context.active_object.active_material.BIMStyleProperties mat = context.material row = self.layout.row(align=True) - if props.ifc_style_id: - row.operator("bim.update_style_colours", icon="GREASEPENCIL") - row.operator("bim.update_style_textures", icon="TEXTURE", text="") - row.operator("bim.unlink_style", icon="UNLINKED", text="") - row.operator("bim.remove_style", icon="X", text="").style = props.ifc_style_id - row = self.layout.row(align=True) - row.prop(mat, "diffuse_color", text="Color") - - else: + if not props.ifc_style_id: row.operator("bim.add_style", icon="ADD") + return + + row.prop(style_props, "active_style_type", icon="SHADING_RENDERED", text="") + row = self.layout.row(align=True) + row.operator("bim.update_style_colours", icon="GREASEPENCIL") + row.operator("bim.update_style_textures", icon="TEXTURE", text="") + row.operator("bim.unlink_style", icon="UNLINKED", text="") + row.operator("bim.remove_style", icon="X", text="").style = props.ifc_style_id + + row = self.layout.row(align=True) + row.prop(mat, "diffuse_color", text="Viewport Color" if mat.use_nodes else "Render Color") class BIM_PT_style_attributes(Panel): @@ -102,6 +106,7 @@ class BIM_PT_style_attributes(Panel): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "material" + bl_parent_id = "BIM_PT_style" @classmethod def poll(cls, context): @@ -143,6 +148,61 @@ class BIM_PT_style_attributes(Panel): row.label(text=attribute["value"]) +class BIM_PT_external_style_attributes(Panel): + bl_label = "IFC External Surface Style" + bl_idname = "BIM_PT_external_style_attributes" + bl_space_type = "PROPERTIES" + bl_region_type = "WINDOW" + bl_context = "material" + bl_parent_id = "BIM_PT_style" + + @classmethod + def poll(cls, context): + if not IfcStore.get_file(): + return False + try: + return bool(context.active_object.active_material.BIMMaterialProperties.ifc_style_id) + except: + return False + + def draw(self, context): + if not StyleAttributesData.is_loaded or ( + context.active_object.active_material.BIMMaterialProperties.ifc_style_id + != StyleAttributesData.data["ifc_style_id"] + ): + StyleAttributesData.load() + + mat = context.active_object.active_material + mprops = mat.BIMMaterialProperties + props = mat.BIMStyleProperties + + external_style = StyleAttributesData.data["style_elements"].get("IfcExternallyDefinedSurfaceStyle", None) + if not external_style: + row = self.layout.row(align=True) + row.operator("bim.browse_external_style", text="Add External Style", icon="ADD") + return + + row = self.layout.row(align=True) + row.label(text="Parameters:") + + if props.is_editing_external_style: + row.operator("bim.edit_external_style", icon="CHECKMARK", text="") + row.operator("bim.disable_editing_external_style", icon="CANCEL", text="") + blenderbim.bim.helper.draw_attributes(props.external_style_attributes, self.layout) + else: + row.operator("bim.browse_external_style", icon="APPEND_BLEND", text="") + row.operator("bim.enable_editing_external_style", icon="GREASEPENCIL", text="") + + row = self.layout.row(align=True) + row.label(text="STEP ID") + row.label(text=str(external_style.id())) + + for attribute in StyleAttributesData.data["external_style_attributes"]: + row = self.layout.row(align=True) + row.label(text=attribute["name"]) + row.label(text=attribute["value"]) + + class BIM_UL_styles(UIList): def draw_item(self, context, layout, data, item, icon, active_data, active_propname): if item: diff --git a/src/blenderbim/blenderbim/core/style.py b/src/blenderbim/blenderbim/core/style.py index c08ba48d09..e8eb462f9c 100644 --- a/src/blenderbim/blenderbim/core/style.py +++ b/src/blenderbim/blenderbim/core/style.py @@ -33,6 +33,17 @@ def add_style(ifc, style, obj=None): return element +def add_external_style(ifc, style, obj, attributes): + element = style.get_style(obj) + ifc.run( + "style.add_surface_style", style=element, ifc_class="IfcExternallyDefinedSurfaceStyle", attributes=attributes + ) + + +def update_external_style(ifc, style, external_style, attributes): + ifc.run("style.edit_surface_style", style=external_style, attributes=attributes) + + def remove_style(ifc, material, style_tool, style=None): obj = ifc.get_object(style) ifc.unlink(obj=obj, element=style) @@ -95,16 +106,33 @@ def enable_editing_style(style, obj=None): style.import_surface_attributes(style.get_style(obj), obj) +def enable_editing_external_style(style, obj=None): + external_style = style.get_style_elements(obj)["IfcExternallyDefinedSurfaceStyle"] + style.enable_editing_external_style(obj) + style.import_external_style_attributes(external_style, obj) + + def disable_editing_style(style, obj=None): style.disable_editing(obj) +def disable_editing_external_style(style, obj=None): + style.disable_editing_external_style(obj) + + def edit_style(ifc, style, obj=None): attributes = style.export_surface_attributes(obj) ifc.run("style.edit_presentation_style", style=style.get_style(obj), attributes=attributes) style.disable_editing(obj) +def edit_external_style(ifc, style, obj=None): + attributes = style.export_external_style_attributes(obj) + external_style = style.get_style_elements(obj)["IfcExternallyDefinedSurfaceStyle"] + update_external_style(ifc, style, external_style, attributes) + style.disable_editing_external_style(obj) + + def load_styles(style, style_type=None): style.import_presentation_styles(style_type) style.enable_editing_styles() diff --git a/src/blenderbim/blenderbim/tool/blender.py b/src/blenderbim/blenderbim/tool/blender.py index 63ec2b6d01..44aca1ceab 100644 --- a/src/blenderbim/blenderbim/tool/blender.py +++ b/src/blenderbim/blenderbim/tool/blender.py @@ -108,11 +108,48 @@ class Blender: return context_override @classmethod - def update_viewport(cls): - # if it stops working in future Blender versions - # there is an alternative: - # bpy.ops.wm.redraw_timer(type='DRAW_WIN_SWAP', iterations=1) + def get_shader_editor_context(cls): + for screen in bpy.data.screens: + for area in screen.areas: + if area.type == "NODE_EDITOR": + for space in area.spaces: + if space.tree_type == "ShaderNodeTree": + context_override = {"area": area, "space": space, "screen": screen} + return context_override + @classmethod + def copy_node_graph_to_active_object(cls, context, material): + """make sure to override `context.active_object` + to you want change node graph for the object that's not actually active + """ + temp_override = cls.get_shader_editor_context() + old_material = context.active_object.active_material + new_material = material + + # remove all nodes from the current material + for n in old_material.node_tree.nodes[:]: + old_material.node_tree.nodes.remove(n) + + # change current material and make other window's shader editor is updated + context.active_object.active_material = new_material + temp_override["space"].node_tree = new_material.node_tree + + # select all nodes and copy them to clipboard + for node in new_material.node_tree.nodes: + node.select = True + bpy.ops.node.clipboard_copy(temp_override) + + # back to original material + context.active_object.active_material = old_material + temp_override["space"].node_tree = old_material.node_tree + bpy.ops.node.clipboard_paste(temp_override, offset=(0, 0)) + + @classmethod + def update_screen(cls): + bpy.ops.wm.redraw_timer(type="DRAW_WIN_SWAP", iterations=1) + + @classmethod + def update_viewport(cls): tool.Blender.get_viewport_context()["area"].tag_redraw() @classmethod @@ -215,6 +252,14 @@ class Blender: context.view_layer.objects.active = active_object active_object.select_set(True) + @classmethod + def append_data_block(cls, filepath, data_block_type, name, link=False, relative=False): + with bpy.data.libraries.load(filepath, link=link, relative=relative) as (data_from, data_to): + if name not in getattr(data_from, data_block_type): + return {"data_block": None, "msg": f"Data-block {data_block_type}/{name} not found in {filepath}"} + getattr(data_to, data_block_type).append(name) + return {"data_block": getattr(data_to, data_block_type)[0], "msg": ""} + ## BMESH UTILS ## @classmethod def apply_bmesh(cls, mesh, bm, obj=None): diff --git a/src/blenderbim/blenderbim/tool/loader.py b/src/blenderbim/blenderbim/tool/loader.py index 589751bbae..f0958b2e06 100644 --- a/src/blenderbim/blenderbim/tool/loader.py +++ b/src/blenderbim/blenderbim/tool/loader.py @@ -21,6 +21,8 @@ import bpy import ifcopenshell.util.element import blenderbim.core.tool import blenderbim.tool as tool +import os +import mathutils # Progressively we'll refactor loading elements into Blender objects into this @@ -28,6 +30,7 @@ import blenderbim.tool as tool # partially load and unload objects for huge models, partial model editing, and # supplementary objects (e.g. drawings, structural analysis models, etc). + class Loader(blenderbim.core.tool.Loader): @classmethod def get_mesh_name(cls, geometry): @@ -52,3 +55,174 @@ class Loader(blenderbim.core.tool.Loader): else: # TODO: See #2002 mesh.BIMMeshProperties.ifc_definition_id = int(geometry.id.replace(",", "")) + + @classmethod + def create_surface_style_shading(cls, blender_material, surface_style): + alpha = 1.0 + # Transparency was added in IFC4 + if hasattr(surface_style, "Transparency") and surface_style.Transparency: + alpha = 1 - surface_style.Transparency + blender_material.diffuse_color = ( + surface_style.SurfaceColour.Red, + surface_style.SurfaceColour.Green, + surface_style.SurfaceColour.Blue, + alpha, + ) + + @classmethod + def restart_material_node_tree(cls, blender_material): + nodes = blender_material.node_tree.nodes + links = blender_material.node_tree.links + for n in nodes[:]: + nodes.remove(n) + output = nodes.new("ShaderNodeOutputMaterial") + bsdf = nodes.new("ShaderNodeBsdfPrincipled") + links.new(bsdf.outputs["BSDF"], output.inputs["Surface"]) + + @classmethod + def create_surface_style_rendering(cls, blender_material, surface_style): + cls.create_surface_style_shading(blender_material, surface_style) + if surface_style.ReflectanceMethod in ["PHYSICAL", "NOTDEFINED"]: + blender_material.use_nodes = True + cls.restart_material_node_tree(blender_material) + bsdf = blender_material.node_tree.nodes["Principled BSDF"] + if surface_style.DiffuseColour: + if surface_style.DiffuseColour.is_a("IfcColourRgb"): + bsdf.inputs["Base Color"].default_value = ( + surface_style.DiffuseColour.Red, + surface_style.DiffuseColour.Green, + surface_style.DiffuseColour.Blue, + 1, + ) + elif surface_style.DiffuseColour.is_a("IfcNormalisedRatioMeasure"): + bsdf.inputs["Base Color"].default_value = ( + surface_style.SurfaceColour.Red * surface_style.DiffuseColour.wrappedValue, + surface_style.SurfaceColour.Green * surface_style.DiffuseColour.wrappedValue, + surface_style.SurfaceColour.Blue * surface_style.DiffuseColour.wrappedValue, + 1, + ) + if surface_style.SpecularColour and surface_style.SpecularColour.is_a("IfcNormalisedRatioMeasure"): + bsdf.inputs["Metallic"].default_value = surface_style.SpecularColour.wrappedValue + if surface_style.SpecularHighlight and surface_style.SpecularHighlight.is_a("IfcSpecularRoughness"): + bsdf.inputs["Roughness"].default_value = surface_style.SpecularHighlight.wrappedValue + if hasattr(surface_style, "Transparency") and surface_style.Transparency: + bsdf.inputs["Alpha"].default_value = 1 - surface_style.Transparency + blender_material.blend_method = "BLEND" + + elif surface_style.ReflectanceMethod == "FLAT": + blender_material.use_nodes = True + cls.restart_material_node_tree(blender_material) + + output = {n.type: n for n in blender_material.node_tree.nodes}.get("OUTPUT_MATERIAL", None) + bsdf = blender_material.node_tree.nodes["Principled BSDF"] + + mix = blender_material.node_tree.nodes.new(type="ShaderNodeMixShader") + mix.location = bsdf.location + blender_material.node_tree.links.new(mix.outputs[0], output.inputs["Surface"]) + + blender_material.node_tree.nodes.remove(bsdf) + + lightpath = blender_material.node_tree.nodes.new(type="ShaderNodeLightPath") + lightpath.location = mix.location - mathutils.Vector((200, -200)) + blender_material.node_tree.links.new(lightpath.outputs[0], mix.inputs[0]) + + bsdf = blender_material.node_tree.nodes.new(type="ShaderNodeBsdfTransparent") + bsdf.location = mix.location - mathutils.Vector((200, 0)) + blender_material.node_tree.links.new(bsdf.outputs[0], mix.inputs[1]) + + rgb = blender_material.node_tree.nodes.new(type="ShaderNodeRGB") + rgb.location = mix.location - mathutils.Vector((200, 200)) + blender_material.node_tree.links.new(rgb.outputs[0], mix.inputs[2]) + + if surface_style.DiffuseColour and surface_style.DiffuseColour.is_a("IfcColourRgb"): + rgb.outputs[0].default_value = ( + surface_style.DiffuseColour.Red, + surface_style.DiffuseColour.Green, + surface_style.DiffuseColour.Blue, + 1, + ) + + @classmethod + def create_surface_style_with_textures(cls, blender_material, rendering_style, texture_style): + for texture in texture_style.Textures: + mode = getattr(texture, "Mode", None) + node = None + + if texture.is_a("IfcImageTexture"): + image_url = texture.URLReference + if not os.path.abspath(texture.URLReference) and tool.Ifc.get_path(): + image_url = os.path.join(os.path.dirname(tool.Ifc.get_path()), texture.URLReference) + + if rendering_style.ReflectanceMethod in ["PHYSICAL", "NOTDEFINED"]: + bsdf = blender_material.node_tree.nodes["Principled BSDF"] + if mode == "NORMAL": + normalmap = blender_material.node_tree.nodes.new(type="ShaderNodeNormalMap") + normalmap.location = bsdf.location - mathutils.Vector((200, 0)) + blender_material.node_tree.links.new(normalmap.outputs[0], bsdf.inputs["Normal"]) + + node = blender_material.node_tree.nodes.new(type="ShaderNodeTexImage") + node.location = normalmap.location - mathutils.Vector((200, 0)) + image = bpy.data.images.load(image_url) + image.colorspace_settings.name = "Non-Color" + node.image = image + blender_material.node_tree.links.new(node.outputs[0], normalmap.inputs["Color"]) + elif mode == "EMISSIVE": + output = {n.type: n for n in blender_material.node_tree.nodes}.get("OUTPUT_MATERIAL", None) + + add = blender_material.node_tree.nodes.new(type="ShaderNodeAddShader") + add.location = bsdf.location + mathutils.Vector((200, 0)) + blender_material.node_tree.links.new(bsdf.outputs[0], add.inputs[1]) + blender_material.node_tree.links.new(add.outputs[0], output.inputs[0]) + + emission = blender_material.node_tree.nodes.new(type="ShaderNodeEmission") + emission.location = add.location - mathutils.Vector((200, 0)) + blender_material.node_tree.links.new(emission.outputs[0], add.inputs[0]) + + node = blender_material.node_tree.nodes.new(type="ShaderNodeTexImage") + node.location = emission.location - mathutils.Vector((200, 0)) + image = bpy.data.images.load(image_url) + node.image = image + blender_material.node_tree.links.new(node.outputs[0], emission.inputs[0]) + elif mode == "METALLICROUGHNESS": + separate = blender_material.node_tree.nodes.new(type="ShaderNodeSeparateRGB") + separate.location = bsdf.location - mathutils.Vector((200, 0)) + blender_material.node_tree.links.new(separate.outputs[1], bsdf.inputs["Roughness"]) + blender_material.node_tree.links.new(separate.outputs[2], bsdf.inputs["Metallic"]) + + node = blender_material.node_tree.nodes.new(type="ShaderNodeTexImage") + node.location = separate.location - mathutils.Vector((200, 0)) + image = bpy.data.images.load(image_url) + image.colorspace_settings.name = "Non-Color" + node.image = image + blender_material.node_tree.links.new(node.outputs[0], separate.inputs[0]) + elif mode == "OCCLUSION": + # TODO work out how to implement glTF settings here + # https://docs.blender.org/manual/en/dev/addons/import_export/scene_gltf2.html + pass + elif mode == "DIFFUSE": + node = blender_material.node_tree.nodes.new(type="ShaderNodeTexImage") + node.location = bsdf.location - mathutils.Vector((400, 0)) + image = bpy.data.images.load(image_url) + node.image = image + blender_material.node_tree.links.new(node.outputs[0], bsdf.inputs["Base Color"]) + blender_material.node_tree.links.new(node.outputs[1], bsdf.inputs["Alpha"]) + blender_material.blend_method = "BLEND" + elif rendering_style.ReflectanceMethod == "FLAT": + bsdf = blender_material.node_tree.nodes["Mix Shader"] + if mode == "EMISSIVE": + node = blender_material.node_tree.nodes.new(type="ShaderNodeTexImage") + node.location = bsdf.location - mathutils.Vector((200, 0)) + image = bpy.data.images.load(image_url) + node.image = image + blender_material.node_tree.links.new(node.outputs[0], bsdf.inputs[2]) + + if node and getattr(texture, "IsMappedBy", None): + coordinates = texture.IsMappedBy[0] + coord = blender_material.node_tree.nodes.new(type="ShaderNodeTexCoord") + coord.location = node.location - mathutils.Vector((200, 0)) + if coordinates.is_a("IfcTextureCoordinateGenerator") and coordinates.Mode == "COORD": + blender_material.node_tree.links.new(coord.outputs["Generated"], node.inputs["Vector"]) + elif coordinates.is_a("IfcTextureCoordinateGenerator") and coordinates.Mode == "COORD-EYE": + blender_material.node_tree.links.new(coord.outputs["Camera"], node.inputs["Vector"]) + else: + blender_material.node_tree.links.new(coord.outputs["UV"], node.inputs["Vector"]) diff --git a/src/blenderbim/blenderbim/tool/style.py b/src/blenderbim/blenderbim/tool/style.py index cfea6d1fce..cf2e58b0fa 100644 --- a/src/blenderbim/blenderbim/tool/style.py +++ b/src/blenderbim/blenderbim/tool/style.py @@ -33,6 +33,10 @@ class Style(blenderbim.core.tool.Style): def disable_editing(cls, obj): obj.BIMStyleProperties.is_editing = False + @classmethod + def disable_editing_external_style(cls, obj): + obj.BIMStyleProperties.is_editing_external_style = False + @classmethod def disable_editing_styles(cls): bpy.context.scene.BIMStylesProperties.is_editing = False @@ -41,6 +45,10 @@ class Style(blenderbim.core.tool.Style): def enable_editing(cls, obj): obj.BIMStyleProperties.is_editing = True + @classmethod + def enable_editing_external_style(cls, obj): + obj.BIMStyleProperties.is_editing_external_style = True + @classmethod def enable_editing_styles(cls): bpy.context.scene.BIMStylesProperties.is_editing = True @@ -49,6 +57,10 @@ class Style(blenderbim.core.tool.Style): def export_surface_attributes(cls, obj): return blenderbim.bim.helper.export_attributes(obj.BIMStyleProperties.attributes) + @classmethod + def export_external_style_attributes(cls, obj): + return blenderbim.bim.helper.export_attributes(obj.BIMStyleProperties.external_style_attributes) + @classmethod def get_active_style_type(cls): return bpy.context.scene.BIMStylesProperties.style_type @@ -73,6 +85,14 @@ class Style(blenderbim.core.tool.Style): except: return + @classmethod + def get_style_elements(cls, blender_material): + style = tool.Ifc.get().by_id(blender_material.BIMMaterialProperties.ifc_style_id) + style_elements = {} + for style in style.Styles: + style_elements[style.is_a()] = style + return style_elements + @classmethod def get_surface_rendering_attributes(cls, obj): transparency = 1 - obj.diffuse_color[3] @@ -197,8 +217,15 @@ class Style(blenderbim.core.tool.Style): @classmethod def import_surface_attributes(cls, style, obj): - obj.BIMStyleProperties.attributes.clear() - blenderbim.bim.helper.import_attributes2(style, obj.BIMStyleProperties.attributes) + attributes = obj.BIMStyleProperties.attributes + attributes.clear() + blenderbim.bim.helper.import_attributes2(style, attributes) + + @classmethod + def import_external_style_attributes(cls, style, obj): + attributes = obj.BIMStyleProperties.external_style_attributes + attributes.clear() + blenderbim.bim.helper.import_attributes2(style, attributes) @classmethod def is_editing_styles(cls): @@ -214,3 +241,8 @@ class Style(blenderbim.core.tool.Style): obj = tool.Ifc.get_object(element) if obj: obj.select_set(True) + + @classmethod + def change_current_style_type(cls, context, obj, blender_material, style_type): + with context.temp_override(active_object=obj): + blender_material.BIMStyleProperties.active_style_type = style_type From 678f50f17d1dc8654f5fd894c5e6ceb2f947791b Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Fri, 9 Jun 2023 19:38:16 +0500 Subject: [PATCH 066/225] IfcGitData update to ifcgit operators poll() methods Added loading IfcGitData to ifcgit operator's poll() methods because it was getting a bit spammy in console if you don't use git. Traceback (most recent call last): File "\scripts\addons\blenderbim\bim\module\ifcgit\operator.py", line 255, in poll if IfcGitData.data["ifcmerge_exe"]: KeyError: 'ifcmerge_exe' Traceback (most recent call last): File "\scripts\addons\blenderbim\bim\module\ifcgit\operator.py", line 147, in poll repo = IfcGitData.data["repo"] KeyError: 'repo' Traceback (most recent call last): File "\scripts\addons\blenderbim\bim\module\ifcgit\operator.py", line 18, in poll path_ifc = IfcGitData.data["path_ifc"] KeyError: 'path_ifc' Traceback (most recent call last): File "\scripts\addons\blenderbim\bim\module\ifcgit\operator.py", line 45, in poll path_ifc = IfcGitData.data["path_ifc"] KeyError: 'path_ifc' Traceback (most recent call last): File "\scripts\addons\blenderbim\bim\module\ifcgit\operator.py", line 190, in poll repo = IfcGitData.data["repo"] KeyError: 'repo' Traceback (most recent call last): File "\scripts\addons\blenderbim\bim\module\ifcgit\operator.py", line 111, in poll repo = IfcGitData.data["repo"] KeyError: 'repo' --- src/blenderbim/blenderbim/bim/module/ifcgit/data.py | 5 +++++ src/blenderbim/blenderbim/bim/module/ifcgit/operator.py | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/src/blenderbim/blenderbim/bim/module/ifcgit/data.py b/src/blenderbim/blenderbim/bim/module/ifcgit/data.py index 4373aa8df5..611b879c64 100644 --- a/src/blenderbim/blenderbim/bim/module/ifcgit/data.py +++ b/src/blenderbim/blenderbim/bim/module/ifcgit/data.py @@ -15,6 +15,11 @@ class IfcGitData: data = {} is_loaded = False + @classmethod + def make_sure_is_loaded(cls): + if not cls.is_loaded: + cls.load() + @classmethod def load(cls): cls.data = { diff --git a/src/blenderbim/blenderbim/bim/module/ifcgit/operator.py b/src/blenderbim/blenderbim/bim/module/ifcgit/operator.py index b60bbd163f..f866772350 100644 --- a/src/blenderbim/blenderbim/bim/module/ifcgit/operator.py +++ b/src/blenderbim/blenderbim/bim/module/ifcgit/operator.py @@ -15,6 +15,7 @@ class CreateRepo(bpy.types.Operator): @classmethod def poll(cls, context): + IfcGitData.make_sure_is_loaded() path_ifc = IfcGitData.data["path_ifc"] if not os.path.isfile(path_ifc): return False @@ -42,6 +43,7 @@ class AddFileToRepo(bpy.types.Operator): @classmethod def poll(cls, context): + IfcGitData.make_sure_is_loaded() path_ifc = IfcGitData.data["path_ifc"] if not os.path.isfile(path_ifc): return False @@ -107,6 +109,7 @@ class CommitChanges(bpy.types.Operator): @classmethod def poll(cls, context): + IfcGitData.make_sure_is_loaded() props = context.scene.IfcGitProperties repo = IfcGitData.data["repo"] if props.commit_message == "": @@ -143,6 +146,7 @@ class AddTag(bpy.types.Operator): @classmethod def poll(cls, context): + IfcGitData.make_sure_is_loaded() props = context.scene.IfcGitProperties repo = IfcGitData.data["repo"] if repo and ( @@ -187,6 +191,7 @@ class RefreshGit(bpy.types.Operator): @classmethod def poll(cls, context): + IfcGitData.make_sure_is_loaded() repo = IfcGitData.data["repo"] if repo != None and repo.heads: return True @@ -252,6 +257,7 @@ class Merge(bpy.types.Operator): @classmethod def poll(cls, context): + IfcGitData.make_sure_is_loaded() if IfcGitData.data["ifcmerge_exe"]: return True return False From 3803942c5f444b4ddee568b91fb7b3b95b275ec4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bal=C3=A1zs=20Dukai?= Date: Sat, 10 Jun 2023 06:59:42 +0200 Subject: [PATCH 067/225] Update to v1.1 CityObject types --- src/ifccityjson/cityjson2ifc/cityjson2ifc.py | 21 +++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/src/ifccityjson/cityjson2ifc/cityjson2ifc.py b/src/ifccityjson/cityjson2ifc/cityjson2ifc.py index d9128e074c..81b2e10fc8 100644 --- a/src/ifccityjson/cityjson2ifc/cityjson2ifc.py +++ b/src/ifccityjson/cityjson2ifc/cityjson2ifc.py @@ -27,9 +27,14 @@ JSON_TO_IFC = { "Building": ["IfcBuilding"], "BuildingPart": ["IfcBuilding", {"CompositionType": "PARTIAL"}], "BuildingInstallation": ["IfcBuildingElementProxy"], + "BuildingConstructiveElement": ["IfcBuildingElementProxy"], + "BuildingFurniture": ["IfcFurniture"], + "BuildingStorey": ["IfcBuildingStorey", {"CompositionType": "PARTIAL"}], + "BuildingRoom": ["IfcSpace", {"CompositionType": "ELEMENT"}], + "BuildingUnit": ["IfcSpace", {"CompositionType": "ELEMENT"}], "Road": ["IfcCivilElement"], # Update for IFC4.3 "Railway": ["IfcCivilElement"], # Update for IFC4.3 - "TransportSquare": ["IfcCivilElement"], # Update for IFC4.3 + "TransportationSquare": ["IfcCivilElement"], # Update for IFC4.3 "TINRelief": ["IfcGeographicElement", {"PredefinedType": "TERRAIN"}], "WaterBody": ["IfcGeographicElement", {"PredefinedType": "USERDEFINED", "ObjectType": "WaterBody"}], # Update for IFC4.3 @@ -44,10 +49,15 @@ JSON_TO_IFC = { "Bridge": ["IfcCivilElement"], # Update for IFC4.3 "BridgePart": ["IfcCivilElement"], # Update for IFC4.3 "BridgeInstallation": ["IfcCivilElement"], # Update for IFC4.3 - "BridgeConstructionElement": ["IfcCivilElement"], # Update for IFC4.3 + "BridgeConstructiveElement": ["IfcCivilElement"], # Update for IFC4.3 + "BridgeRoom": ["IfcCivilElement"], # Update for IFC4.3 + "BridgeFurniture": ["IfcCivilElement"], # Update for IFC4.3 "Tunnel": ["IfcCivilElement"], # Update for IFC4.3 "TunnelPart": ["IfcCivilElement"], # Update for IFC4.3 "TunnelInstallation": ["IfcCivilElement"], # Update for IFC4.3 + "TunnelConstructiveElement": ["IfcCivilElement"], # Update for IFC4.3 + "TunnelHollowSpace": ["IfcCivilElement"], # Update for IFC4.3 + "TunnelFurniture": ["IfcCivilElement"], # Update for IFC4.3 "CityObjectGroup": ["IfcBuilding"], # Update for IFC4.3 "GroundSurface": ["IfcSlab", {"PredefinedType": "BASESLAB"}], "RoofSurface": ["IfcRoof"], @@ -57,6 +67,9 @@ JSON_TO_IFC = { "OuterFloorSurface": ["IfcSlab", {"PredefinedType": "FLOOR"}], "Window": ["IfcWindow"], "Door": ["IfcDoor"], + "InteriorWallSurface": ["IfcWall"], + "CeilingSurface": ["IfcCovering", {"PredefinedType": "CEILING"}], + "FloorSurface": ["IfcSlab", {"PredefinedType": "FLOOR"}], "WaterSurface": ["IfcGeographicElement", {"PredefinedType": "USERDEFINED", "ObjectType": "WaterSurface"}], # Update for IFC4.3 "WaterGroundSurface": ["IfcGeographicElement", {"PredefinedType": "USERDEFINED", @@ -64,7 +77,9 @@ JSON_TO_IFC = { "WaterClosureSurface": ["IfcGeographicElement", {"PredefinedType": "USERDEFINED", "ObjectType": "WaterClosureSurface"}], # Update for IFC4.3 "TrafficArea": ["IfcCivilElement"], # Update for IFC4.3 - "AuxiliaryTrafficArea": ["IfcCivilElement"] # Update for IFC4.3 + "AuxiliaryTrafficArea": ["IfcCivilElement"], # Update for IFC4.3 + "TransportationMarking": ["IfcCivilElement"], # Update for IFC4.3 + "TransportationHole": ["IfcCivilElement"], # Update for IFC4.3 } From 5ad7d4bb2a43d3a3f4d4f0172999263aca3bba09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bal=C3=A1zs=20Dukai?= Date: Sat, 10 Jun 2023 07:00:32 +0200 Subject: [PATCH 068/225] Update to ifcopenshell 0.7.0 and cjio 0.8 LoD is string in v1.1 --- src/ifccityjson/README.md | 2 +- src/ifccityjson/cityjson2ifc/cityjson2ifc.py | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/ifccityjson/README.md b/src/ifccityjson/README.md index 4d2d537345..5bca24f4bd 100644 --- a/src/ifccityjson/README.md +++ b/src/ifccityjson/README.md @@ -3,7 +3,7 @@ Converter for CityJSON files and IFC. Currently only supports one-way conversion ## Dependencies - [IfcOpenShell](https://github.com/IfcOpenShell/IfcOpenShell) (also IfcOpenShell api is needed) -- [CJIO](https://github.com/cityjson/cjio) +- [CJIO](https://github.com/cityjson/cjio) (>=0.8, <1.0) ## Usage of IFCCityJSON An extended ifccityjson tutorial can be found on [the OSARCH wiki](https://wiki.osarch.org/index.php?title=Ifccityjson) diff --git a/src/ifccityjson/cityjson2ifc/cityjson2ifc.py b/src/ifccityjson/cityjson2ifc/cityjson2ifc.py index 81b2e10fc8..79e0d8aaf6 100644 --- a/src/ifccityjson/cityjson2ifc/cityjson2ifc.py +++ b/src/ifccityjson/cityjson2ifc/cityjson2ifc.py @@ -45,7 +45,7 @@ JSON_TO_IFC = { "SolitaryVegetationObject": ["IfcGeographicElement", {"PredefinedType": "USERDEFINED", "ObjectType": "SolitaryVegetationObject"}], "CityFurniture": ["IfcFurnishingElement"], - "GenericCityObject": ["IfcCivilElement"], + "OtherConstruction": ["IfcCivilElement"], "Bridge": ["IfcCivilElement"], # Update for IFC4.3 "BridgePart": ["IfcCivilElement"], # Update for IFC4.3 "BridgeInstallation": ["IfcCivilElement"], # Update for IFC4.3 @@ -118,9 +118,9 @@ class Cityjson2ifc: # Georeferencing self.properties["local_translation"] = None self.properties["local_scale"] = None - if self.city_model.is_transform(): - self.properties["local_scale"] = self.city_model.j['transform']['scale'] - local_translation = self.city_model.j['transform']['translate'] + if not self.city_model.is_transformed: + self.properties["local_scale"] = self.city_model.transform['scale'] + local_translation = self.city_model.transform['translate'] self.properties["local_translation"] = { "Eastings": local_translation[0], "Northings": local_translation[1], @@ -141,7 +141,7 @@ class Cityjson2ifc: ifcopenshell.api.run("unit.assign_unit", self.IFC_model, length={"is_metric": True, "raw": "METERS"}) self.properties["owner_history"] = self.create_owner_history() self.IFC_representation_context = ifcopenshell.api.run("context.add_context", self.IFC_model, - **{"context": "Model"}) + **{"context_type": "Model"}) if not self.city_model.has_metadata() or "presentLoDs" not in self.city_model.j["metadata"]: self.city_model.update_metadata() @@ -174,7 +174,7 @@ class Cityjson2ifc: "ContextIdentifier": "Body", "TargetView": "USERDEFINED", "ParentContext": self.IFC_representation_context, - "UserDefinedTargetView": "LOD" + str(lod)}) + "UserDefinedTargetView": "LOD" + lod}) def create_owner_history(self): actor = self.IFC_model.createIfcActorRole("ENGINEER", None, None) @@ -246,10 +246,10 @@ class Cityjson2ifc: IFC_shape_representations = [] for geometry in obj.geometry: lod = geometry.lod - if self.properties["lod"] is not None and str(lod) != self.properties["lod"]: + if self.properties["lod"] is not None and lod != self.properties["lod"]: continue - if str(lod) not in self.IFC_representation_sub_contexts: - self.IFC_representation_sub_contexts[str(lod)] = self.create_representation_sub_context(lod) + if lod not in self.IFC_representation_sub_contexts: + self.IFC_representation_sub_contexts[lod] = self.create_representation_sub_context(lod) IFC_geometry, shape_representation_type = None, None @@ -325,7 +325,7 @@ class Cityjson2ifc: IFC_geometry = [IFC_geometry] shape_representation = self.IFC_model.create_entity("IfcShapeRepresentation", - self.IFC_representation_sub_contexts[str(lod)], 'Body', + self.IFC_representation_sub_contexts[lod], 'Body', shape_representation_type, IFC_geometry) return shape_representation From 3c53067567a90326ce722dbd224500d32940d6b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bal=C3=A1zs=20Dukai?= Date: Sat, 10 Jun 2023 07:31:17 +0200 Subject: [PATCH 069/225] Add copyright --- src/ifccityjson/cityjson2ifc/cityjson2ifc.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/ifccityjson/cityjson2ifc/cityjson2ifc.py b/src/ifccityjson/cityjson2ifc/cityjson2ifc.py index 79e0d8aaf6..3727e98b09 100644 --- a/src/ifccityjson/cityjson2ifc/cityjson2ifc.py +++ b/src/ifccityjson/cityjson2ifc/cityjson2ifc.py @@ -1,5 +1,6 @@ # ifccityjson - Python CityJSON to IFC converter # Copyright (C) 2021 Laurens J.N. Oostwegel +# Copyright (C) 2023 Balázs Dukai # # This file is part of ifccityjson. # From e2b52e7ed951252b784ab9ab7a71b079a26d0ba4 Mon Sep 17 00:00:00 2001 From: Bruno Postle Date: Sat, 10 Jun 2023 10:07:17 +0100 Subject: [PATCH 070/225] BlenderBIM fix warning writing .git/config (#3096) --- src/blenderbim/blenderbim/tool/ifcgit.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/blenderbim/blenderbim/tool/ifcgit.py b/src/blenderbim/blenderbim/tool/ifcgit.py index 654e52f832..0e809e5a18 100644 --- a/src/blenderbim/blenderbim/tool/ifcgit.py +++ b/src/blenderbim/blenderbim/tool/ifcgit.py @@ -368,14 +368,13 @@ class IfcGit: @classmethod def config_ifcmerge(cls): config_reader = IfcGitRepo.repo.config_reader() + config_writer = IfcGitRepo.repo.config_writer() section = 'mergetool "ifcmerge"' if not config_reader.has_section(section): - config_writer = IfcGitRepo.repo.config_writer() config_writer.set_value(section, "cmd", "ifcmerge $BASE $LOCAL $REMOTE $MERGED") config_writer.set_value(section, "trustExitCode", True) section = 'mergetool "ifcmerge-forward"' if not config_reader.has_section(section): - config_writer = IfcGitRepo.repo.config_writer() config_writer.set_value(section, "cmd", "ifcmerge $BASE $REMOTE $LOCAL $MERGED") config_writer.set_value(section, "trustExitCode", True) From 0d67c43e165200111b20334ec2567dca44bcdb57 Mon Sep 17 00:00:00 2001 From: Bruno Postle Date: Sat, 10 Jun 2023 11:08:49 +0100 Subject: [PATCH 071/225] BlenderBIM operator to delete a Git remote (#3096) --- .../blenderbim/bim/module/ifcgit/__init__.py | 1 + .../blenderbim/bim/module/ifcgit/operator.py | 17 +++++++++++++++++ .../blenderbim/bim/module/ifcgit/ui.py | 3 +-- src/blenderbim/blenderbim/core/ifcgit.py | 4 ++++ src/blenderbim/blenderbim/tool/ifcgit.py | 9 +++++++++ 5 files changed, 32 insertions(+), 2 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/ifcgit/__init__.py b/src/blenderbim/blenderbim/bim/module/ifcgit/__init__.py index 30325f789f..5b2a2a8fb7 100644 --- a/src/blenderbim/blenderbim/bim/module/ifcgit/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/ifcgit/__init__.py @@ -25,6 +25,7 @@ classes = ( operator.CloneRepo, operator.CommitChanges, operator.CreateRepo, + operator.DeleteRemote, operator.DeleteTag, operator.DiscardUncommitted, operator.DisplayRevision, diff --git a/src/blenderbim/blenderbim/bim/module/ifcgit/operator.py b/src/blenderbim/blenderbim/bim/module/ifcgit/operator.py index f866772350..2d7e9b43ad 100644 --- a/src/blenderbim/blenderbim/bim/module/ifcgit/operator.py +++ b/src/blenderbim/blenderbim/bim/module/ifcgit/operator.py @@ -303,6 +303,23 @@ class Fetch(bpy.types.Operator): return {"FINISHED"} +class DeleteRemote(bpy.types.Operator): + """Delete the selected remote""" + + bl_label = "Delete Remote" + bl_idname = "ifcgit.delete_remote" + bl_options = {"REGISTER"} + + def execute(self, context): + + props = context.scene.IfcGitProperties + repo = IfcGitData.data["repo"] + core.delete_remote(tool.IfcGit, repo) + bpy.ops.ifcgit.refresh() + refresh() + return {"FINISHED"} + + class ObjectLog(bpy.types.Operator): """Displays Git log of selected object""" diff --git a/src/blenderbim/blenderbim/bim/module/ifcgit/ui.py b/src/blenderbim/blenderbim/bim/module/ifcgit/ui.py index 0fdbe827d7..12a82bf2c1 100644 --- a/src/blenderbim/blenderbim/bim/module/ifcgit/ui.py +++ b/src/blenderbim/blenderbim/bim/module/ifcgit/ui.py @@ -120,8 +120,6 @@ class IFCGIT_PT_panel(bpy.types.Panel): row = column.row() row.operator("ifcgit.switch_revision", icon="CURRENT_FILE") - # TODO operator to tag selected - row = column.row() row.operator("ifcgit.merge", icon="EXPERIMENTAL", text="") @@ -168,6 +166,7 @@ class IFCGIT_PT_panel(bpy.types.Panel): row.prop(props, "select_remote", text="Select remote") urls = IfcGitData.data["remote_urls"] row.label(text=urls[props.select_remote]) + row.operator("ifcgit.delete_remote", text="", icon="PANEL_CLOSE") row = layout.row() row.operator("ifcgit.push", icon="EXPERIMENTAL") row.operator("ifcgit.fetch", icon="IMPORT") diff --git a/src/blenderbim/blenderbim/core/ifcgit.py b/src/blenderbim/blenderbim/core/ifcgit.py index e886d6b65b..68033f911c 100644 --- a/src/blenderbim/blenderbim/core/ifcgit.py +++ b/src/blenderbim/blenderbim/core/ifcgit.py @@ -42,6 +42,10 @@ def delete_tag(ifcgit, repo, tag_name): ifcgit.delete_tag(repo, tag_name) +def delete_remote(ifcgit, repo): + ifcgit.delete_remote(repo) + + def refresh_revision_list(ifcgit, repo, ifc): ifcgit.refresh_revision_list(ifc.get_path()) diff --git a/src/blenderbim/blenderbim/tool/ifcgit.py b/src/blenderbim/blenderbim/tool/ifcgit.py index 0e809e5a18..dfe10d7b64 100644 --- a/src/blenderbim/blenderbim/tool/ifcgit.py +++ b/src/blenderbim/blenderbim/tool/ifcgit.py @@ -102,6 +102,15 @@ class IfcGit: if tag_name in repo.tags: repo.delete_tag(tag_name) + @classmethod + def delete_remote(cls, repo): + props = bpy.context.scene.IfcGitProperties + remote_name = props.select_remote + if remote_name in repo.remotes: + repo.delete_remote(remote_name) + if repo.remotes: + props.select_remote = repo.remotes[0].name + @classmethod def create_new_branch(cls): props = bpy.context.scene.IfcGitProperties From 4806b9a260f054a3d146ac72e53fbd240d04eaa7 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sat, 10 Jun 2023 23:14:23 +1000 Subject: [PATCH 072/225] Toggle between full schema (i.e. all tables for every declaration) and partial schema dump into SQL --- src/blenderbim/scripts/ifc2sql.py | 49 +++++++++++++++++++++---------- 1 file changed, 34 insertions(+), 15 deletions(-) diff --git a/src/blenderbim/scripts/ifc2sql.py b/src/blenderbim/scripts/ifc2sql.py index 135f037b24..33ab7a5db0 100644 --- a/src/blenderbim/scripts/ifc2sql.py +++ b/src/blenderbim/scripts/ifc2sql.py @@ -14,6 +14,7 @@ class Ifc2Sql: self.sql_type = "sqlite" # self.sql_type = "mysql" + self.full_schema = False self.is_strict = False self.should_get_psets = True self.should_expand = True @@ -40,7 +41,12 @@ class Ifc2Sql: if self.should_get_psets: self.create_pset_table() - for ifc_class in self.file.wrapped_data.types(): + if self.full_schema: + ifc_classes = [d.name() for d in self.schema.declarations() if str(d).startswith(" Date: Sat, 10 Jun 2023 22:04:01 +0100 Subject: [PATCH 073/225] BlenderBIM operator to add remote repo (#3096) Procedure to merge a pull request would be: Add Remote, select the added remote in the pull-down, Fetch from remote, select the added remote branch in the pull-down, Merge, delete remote --- .../blenderbim/bim/module/ifcgit/__init__.py | 1 + .../blenderbim/bim/module/ifcgit/operator.py | 32 ++++++++++++++++++- .../blenderbim/bim/module/ifcgit/prop.py | 5 +++ .../blenderbim/bim/module/ifcgit/ui.py | 8 +++++ src/blenderbim/blenderbim/core/ifcgit.py | 4 +++ src/blenderbim/blenderbim/tool/ifcgit.py | 7 ++++ 6 files changed, 56 insertions(+), 1 deletion(-) diff --git a/src/blenderbim/blenderbim/bim/module/ifcgit/__init__.py b/src/blenderbim/blenderbim/bim/module/ifcgit/__init__.py index 5b2a2a8fb7..27352bbc3e 100644 --- a/src/blenderbim/blenderbim/bim/module/ifcgit/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/ifcgit/__init__.py @@ -21,6 +21,7 @@ from . import ui, prop, operator classes = ( operator.AddFileToRepo, + operator.AddRemote, operator.AddTag, operator.CloneRepo, operator.CommitChanges, diff --git a/src/blenderbim/blenderbim/bim/module/ifcgit/operator.py b/src/blenderbim/blenderbim/bim/module/ifcgit/operator.py index 2d7e9b43ad..b1e5102308 100644 --- a/src/blenderbim/blenderbim/bim/module/ifcgit/operator.py +++ b/src/blenderbim/blenderbim/bim/module/ifcgit/operator.py @@ -82,6 +82,7 @@ class CloneRepo(bpy.types.Operator): props = context.scene.IfcGitProperties core.clone_repo(tool.IfcGit, props.remote_url, props.local_folder, self) + props.remote_url = "" refresh() return {"FINISHED"} @@ -303,6 +304,36 @@ class Fetch(bpy.types.Operator): return {"FINISHED"} +class AddRemote(bpy.types.Operator): + """Add a remote repository""" + + bl_label = "Add Remote" + bl_idname = "ifcgit.add_remote" + bl_options = {"REGISTER"} + + @classmethod + def poll(cls, context): + IfcGitData.make_sure_is_loaded() + props = context.scene.IfcGitProperties + repo = IfcGitData.data["repo"] + if ( + not repo + or not tool.IfcGit.is_valid_ref_format(props.remote_name) + or props.remote_name in [remote.name for remote in repo.remotes] + or not props.remote_url + ): + return False + return True + + def execute(self, context): + + repo = IfcGitData.data["repo"] + core.add_remote(tool.IfcGit, repo) + bpy.ops.ifcgit.refresh() + refresh() + return {"FINISHED"} + + class DeleteRemote(bpy.types.Operator): """Delete the selected remote""" @@ -312,7 +343,6 @@ class DeleteRemote(bpy.types.Operator): def execute(self, context): - props = context.scene.IfcGitProperties repo = IfcGitData.data["repo"] core.delete_remote(tool.IfcGit, repo) bpy.ops.ifcgit.refresh() diff --git a/src/blenderbim/blenderbim/bim/module/ifcgit/prop.py b/src/blenderbim/blenderbim/bim/module/ifcgit/prop.py index 7a1655be24..ca9266d0e8 100644 --- a/src/blenderbim/blenderbim/bim/module/ifcgit/prop.py +++ b/src/blenderbim/blenderbim/bim/module/ifcgit/prop.py @@ -113,6 +113,11 @@ class IfcGitProperties(PropertyGroup): description="An optional human readable description of this tag", default="", ) + remote_name: StringProperty( + name="New remote name", + description="A local name for a remote Git repository", + default="", + ) remote_url: StringProperty( name="Git URL", description="A URL pointing to a Git repository", diff --git a/src/blenderbim/blenderbim/bim/module/ifcgit/ui.py b/src/blenderbim/blenderbim/bim/module/ifcgit/ui.py index 12a82bf2c1..e07ab65465 100644 --- a/src/blenderbim/blenderbim/bim/module/ifcgit/ui.py +++ b/src/blenderbim/blenderbim/bim/module/ifcgit/ui.py @@ -171,6 +171,14 @@ class IFCGIT_PT_panel(bpy.types.Panel): row.operator("ifcgit.push", icon="EXPERIMENTAL") row.operator("ifcgit.fetch", icon="IMPORT") + box = layout.box() + row = box.row() + row.prop(props, "remote_name") + row = box.row() + row.prop(props, "remote_url") + row = box.row() + row.operator("ifcgit.add_remote", icon="IMPORT") + class COMMIT_UL_List(bpy.types.UIList): """List of Git commits""" diff --git a/src/blenderbim/blenderbim/core/ifcgit.py b/src/blenderbim/blenderbim/core/ifcgit.py index 68033f911c..24e89cbf92 100644 --- a/src/blenderbim/blenderbim/core/ifcgit.py +++ b/src/blenderbim/blenderbim/core/ifcgit.py @@ -42,6 +42,10 @@ def delete_tag(ifcgit, repo, tag_name): ifcgit.delete_tag(repo, tag_name) +def add_remote(ifcgit, repo): + ifcgit.add_remote(repo) + + def delete_remote(ifcgit, repo): ifcgit.delete_remote(repo) diff --git a/src/blenderbim/blenderbim/tool/ifcgit.py b/src/blenderbim/blenderbim/tool/ifcgit.py index dfe10d7b64..ef9b4b770c 100644 --- a/src/blenderbim/blenderbim/tool/ifcgit.py +++ b/src/blenderbim/blenderbim/tool/ifcgit.py @@ -102,6 +102,13 @@ class IfcGit: if tag_name in repo.tags: repo.delete_tag(tag_name) + @classmethod + def add_remote(cls, repo): + props = bpy.context.scene.IfcGitProperties + repo.create_remote(name=props.remote_name, url=props.remote_url) + props.remote_name = "" + props.remote_url = "" + @classmethod def delete_remote(cls, repo): props = bpy.context.scene.IfcGitProperties From 3a1557bedc53e3f503cf427c25845cf49df67537 Mon Sep 17 00:00:00 2001 From: Ahmad Saleem Z Date: Sat, 10 Jun 2023 22:49:54 +0200 Subject: [PATCH 074/225] added aws/lambda sample --- aws/lambda/Dockerfile | 40 ++++++++++++++++++++++++++ aws/lambda/README.md | 37 ++++++++++++++++++++++++ aws/lambda/example_handler/__init__.py | 27 +++++++++++++++++ aws/lambda/requirements.txt | 1 + 4 files changed, 105 insertions(+) create mode 100644 aws/lambda/Dockerfile create mode 100644 aws/lambda/README.md create mode 100644 aws/lambda/example_handler/__init__.py create mode 100644 aws/lambda/requirements.txt diff --git a/aws/lambda/Dockerfile b/aws/lambda/Dockerfile new file mode 100644 index 0000000000..5340c675d3 --- /dev/null +++ b/aws/lambda/Dockerfile @@ -0,0 +1,40 @@ +# Dockerfile for Running AWS Lambda Function with Python and IfcOpenShell + +# Set the location of your Lambda function code +ARG FUNCTION_DIR="/var/task" + +# Base image: Python 3.9 from AWS's public container registry +FROM public.ecr.aws/docker/library/python:3.9 AS build + +# Install necessary packages +RUN apt-get -y update && apt-get -y install unzip curl + +# Install AWS Lambda runtime interface client +RUN pip install --target ${FUNCTION_DIR} awslambdaric + +# Set the IfcOpenShell build version (check available builds at: https://blenderbim.org/docs-python/ifcopenshell-python/installation.html) +ARG IFC_OPENSHELL_BUILD="v0.7.0-476ab50" + +# Download and extract IfcOpenShell +RUN curl https://s3.amazonaws.com/ifcopenshell-builds/ifcopenshell-python-${IFC_OPENSHELL_BUILD}-linux64.zip -O && \ + unzip ifcopenshell-python-${IFC_OPENSHELL_BUILD}-linux64.zip && \ + mv ifcopenshell ${FUNCTION_DIR} && \ + rm ifcopenshell-python-${IFC_OPENSHELL_BUILD}-linux64.zip + +# Copy the requirements file and install dependencies +COPY requirements.txt . +RUN pip install -r requirements.txt + +# Copy the Lambda function code +COPY ./example_handler ${FUNCTION_DIR}/example_handler + +# Set the working directory +WORKDIR ${FUNCTION_DIR} + +# Set the entrypoint for the Lambda function +ENTRYPOINT [ "/usr/local/bin/python", "-m", "awslambdaric" ] + +# Set the Python import path to the Lambda function handler +# This path is relative to the root of the Lambda function code (FUNCTION_DIR) +# Lambda invocation will look for this path +CMD ["example_handler.extract_wall_psets"] diff --git a/aws/lambda/README.md b/aws/lambda/README.md new file mode 100644 index 0000000000..84a413b5e3 --- /dev/null +++ b/aws/lambda/README.md @@ -0,0 +1,37 @@ +Dockerized AWS Lambda Function with Python and IfcOpenShell +=========================================================== + +This repository provides a Dockerfile and sample code to help you run an AWS Lambda function written in Python and utilizing IfcOpenShell library. + +Prerequisites +------------- + +Make sure you have Docker installed on your machine. You can download Docker from the official website: [Docker Instalation](https://docs.docker.com/engine/install/) + +Getting Started +--------------- + +1. Clone this repository to your local machine: + +2. Customize the Lambda function code: + - Replace the sample Lambda function code in the `example_handler` directory with your own code. + - Update the import path in the Dockerfile's `CMD` instruction to match your Lambda function's handler function. + +3. Install the required Python packages: + - Edit the `requirements.txt` file and add any additional dependencies required by your Lambda function. + +4. Build the Docker image: + + ```shell + $ docker build -t lambda-ifcopenshell . + ``` + +5. Run the Docker container: + + ```shell + $ docker run lambda-ifcopenshell + ``` + +6. Deploy to lambda + + This is beyond the scope of this example. Please refer to AWS documentation. Some tools that could be useful are - AWS CloudFormaton, AWS CDK, pulumi or terraform diff --git a/aws/lambda/example_handler/__init__.py b/aws/lambda/example_handler/__init__.py new file mode 100644 index 0000000000..5796334cf3 --- /dev/null +++ b/aws/lambda/example_handler/__init__.py @@ -0,0 +1,27 @@ +import ifcopenshell +import ifcopenshell.util.element +import boto3 + +s3 = boto3.resource('s3') + +def handler(event, context): + print("Hello from lambda") + print("Event: {}".format(event)) + print("Context: {}".format(context)) + + filename = event['body']['filename'] + + s3.Bucket('my_ifc_files').download_file(filename, f'/tmp/{filename}') + ifc_file = ifcopenshell.open(f'/tmp/{filename}') + walls = ifc_file.by_type('IfcWall') + + psets = [] + for wall in walls: + wall_data = ifcopenshell.util.element.get_psets(wall) + wall_data['id'] = wall.GlobalId + psets.append(wall_data) + + return { + 'statusCode': 200, + 'body': psets + } \ No newline at end of file diff --git a/aws/lambda/requirements.txt b/aws/lambda/requirements.txt new file mode 100644 index 0000000000..1db657b6b3 --- /dev/null +++ b/aws/lambda/requirements.txt @@ -0,0 +1 @@ +boto3 \ No newline at end of file From c3f20464914760a499a4a3a6dad8ea1c223431d1 Mon Sep 17 00:00:00 2001 From: Ahmad Saleem Z Date: Sun, 11 Jun 2023 10:18:10 +0200 Subject: [PATCH 075/225] example fixes --- aws/lambda/Dockerfile | 2 +- aws/lambda/example_handler/__init__.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/aws/lambda/Dockerfile b/aws/lambda/Dockerfile index 5340c675d3..9716f1dc84 100644 --- a/aws/lambda/Dockerfile +++ b/aws/lambda/Dockerfile @@ -37,4 +37,4 @@ ENTRYPOINT [ "/usr/local/bin/python", "-m", "awslambdaric" ] # Set the Python import path to the Lambda function handler # This path is relative to the root of the Lambda function code (FUNCTION_DIR) # Lambda invocation will look for this path -CMD ["example_handler.extract_wall_psets"] +CMD ["example_handler.extract_wall_psets_handler"] diff --git a/aws/lambda/example_handler/__init__.py b/aws/lambda/example_handler/__init__.py index 5796334cf3..5256cb90a2 100644 --- a/aws/lambda/example_handler/__init__.py +++ b/aws/lambda/example_handler/__init__.py @@ -2,16 +2,16 @@ import ifcopenshell import ifcopenshell.util.element import boto3 -s3 = boto3.resource('s3') +s3 = boto3.client('s3') -def handler(event, context): +def extract_wall_psets_handler(event, context): print("Hello from lambda") print("Event: {}".format(event)) print("Context: {}".format(context)) filename = event['body']['filename'] - s3.Bucket('my_ifc_files').download_file(filename, f'/tmp/{filename}') + s3.download_file('my_ifc_files_bucket', filename, f'/tmp/{filename}') ifc_file = ifcopenshell.open(f'/tmp/{filename}') walls = ifc_file.by_type('IfcWall') From 975b1c444ca4cd66214e6fed9a5d19af57a7b750 Mon Sep 17 00:00:00 2001 From: Ahmad Saleem Z Date: Sun, 11 Jun 2023 10:26:06 +0200 Subject: [PATCH 076/225] documentation --- aws/lambda/README.md | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/aws/lambda/README.md b/aws/lambda/README.md index 84a413b5e3..d95a2c526e 100644 --- a/aws/lambda/README.md +++ b/aws/lambda/README.md @@ -1,7 +1,9 @@ Dockerized AWS Lambda Function with Python and IfcOpenShell =========================================================== -This repository provides a Dockerfile and sample code to help you run an AWS Lambda function written in Python and utilizing IfcOpenShell library. +This guide provides a Dockerfile and sample code to help you run an AWS Lambda function written in Python and utilizing IfcOpenShell library. + +> Note: This is a superficial guideline, in order to make this work for your usecase you will need a good understanding of other AWS services like SQS, S3, API Gateway etc. Prerequisites ------------- @@ -11,27 +13,32 @@ Make sure you have Docker installed on your machine. You can download Docker fro Getting Started --------------- -1. Clone this repository to your local machine: +1. **Clone this repository to your local machine:** -2. Customize the Lambda function code: +2. **Customize the Lambda function code:** + - Replace the sample Lambda function code in the `example_handler` directory with your own code. - Update the import path in the Dockerfile's `CMD` instruction to match your Lambda function's handler function. -3. Install the required Python packages: +3. **Install the required Python packages:** - Edit the `requirements.txt` file and add any additional dependencies required by your Lambda function. -4. Build the Docker image: +4. **Build the Docker image:** ```shell $ docker build -t lambda-ifcopenshell . ``` -5. Run the Docker container: +5. **Run the Docker container:** ```shell $ docker run lambda-ifcopenshell ``` +6. **Test lambda locally** + + Follow the steps in this [guide](https://docs.aws.amazon.com/lambda/latest/dg/images-test.html) -6. Deploy to lambda + +7. **Deploy to lambda** This is beyond the scope of this example. Please refer to AWS documentation. Some tools that could be useful are - AWS CloudFormaton, AWS CDK, pulumi or terraform From 4fe896a3b682af726cbd6f47db250193ad957529 Mon Sep 17 00:00:00 2001 From: Ahmad Saleem Z Date: Sun, 11 Jun 2023 11:23:45 +0200 Subject: [PATCH 077/225] fix ARG in Dockerfile --- aws/lambda/Dockerfile | 8 ++++---- aws/lambda/README.md | 8 ++++++-- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/aws/lambda/Dockerfile b/aws/lambda/Dockerfile index 9716f1dc84..fcffa1e87b 100644 --- a/aws/lambda/Dockerfile +++ b/aws/lambda/Dockerfile @@ -1,11 +1,11 @@ # Dockerfile for Running AWS Lambda Function with Python and IfcOpenShell -# Set the location of your Lambda function code -ARG FUNCTION_DIR="/var/task" - # Base image: Python 3.9 from AWS's public container registry FROM public.ecr.aws/docker/library/python:3.9 AS build +# Set the location of your Lambda function code +ARG FUNCTION_DIR="/var/task" + # Install necessary packages RUN apt-get -y update && apt-get -y install unzip curl @@ -13,7 +13,7 @@ RUN apt-get -y update && apt-get -y install unzip curl RUN pip install --target ${FUNCTION_DIR} awslambdaric # Set the IfcOpenShell build version (check available builds at: https://blenderbim.org/docs-python/ifcopenshell-python/installation.html) -ARG IFC_OPENSHELL_BUILD="v0.7.0-476ab50" +ARG IFC_OPENSHELL_BUILD="39-v0.7.0-476ab50" # Download and extract IfcOpenShell RUN curl https://s3.amazonaws.com/ifcopenshell-builds/ifcopenshell-python-${IFC_OPENSHELL_BUILD}-linux64.zip -O && \ diff --git a/aws/lambda/README.md b/aws/lambda/README.md index d95a2c526e..0ba5a80273 100644 --- a/aws/lambda/README.md +++ b/aws/lambda/README.md @@ -3,8 +3,6 @@ Dockerized AWS Lambda Function with Python and IfcOpenShell This guide provides a Dockerfile and sample code to help you run an AWS Lambda function written in Python and utilizing IfcOpenShell library. -> Note: This is a superficial guideline, in order to make this work for your usecase you will need a good understanding of other AWS services like SQS, S3, API Gateway etc. - Prerequisites ------------- @@ -42,3 +40,9 @@ Getting Started 7. **Deploy to lambda** This is beyond the scope of this example. Please refer to AWS documentation. Some tools that could be useful are - AWS CloudFormaton, AWS CDK, pulumi or terraform + + +--------- +> Note: This is a superficial guide, in order to make this work for your usecase you will need a good understanding of other AWS services like SQS, S3, API Gateway etc. + +For more information on building lambda containers refer to this [guide](https://docs.aws.amazon.com/lambda/latest/dg/images-create.html). \ No newline at end of file From 820686a39b6dfc221b06c2addcb7555db7cb99ac Mon Sep 17 00:00:00 2001 From: Ahmad Saleem Z Date: Sun, 11 Jun 2023 11:36:12 +0200 Subject: [PATCH 078/225] added link to aws/lambda guide in installation guide --- .../docs/ifcopenshell-python/installation.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/ifcopenshell-python/docs/ifcopenshell-python/installation.rst b/src/ifcopenshell-python/docs/ifcopenshell-python/installation.rst index a66493196a..4708290f45 100644 --- a/src/ifcopenshell-python/docs/ifcopenshell-python/installation.rst +++ b/src/ifcopenshell-python/docs/ifcopenshell-python/installation.rst @@ -130,6 +130,12 @@ Docker Installing IfcOpenShell from Docker will also install IfcConvert. +.. using-container-on-aws-lambda:: + + Refer `AWS Lambda + Readme + `__. + Using the BlenderBIM Add-on --------------------------- From 83cd00271bfc67bc824fdb6dab7ae6b677246dc2 Mon Sep 17 00:00:00 2001 From: Gorgious Date: Sun, 11 Jun 2023 18:17:03 +0200 Subject: [PATCH 079/225] Fix #3142 : Use Tab hotkey to edit horizontally layered objects --- src/blenderbim/blenderbim/bim/module/geometry/operator.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/geometry/operator.py b/src/blenderbim/blenderbim/bim/module/geometry/operator.py index 0e94b929fa..a51631d0ec 100644 --- a/src/blenderbim/blenderbim/bim/module/geometry/operator.py +++ b/src/blenderbim/blenderbim/bim/module/geometry/operator.py @@ -783,7 +783,7 @@ class OverrideModeSetEdit(bpy.types.Operator): # We are switching from OBJECT to EDIT mode. usage_type = tool.Model.get_usage_type(element) - if usage_type is not None and usage_type != "PROFILE": + if usage_type is not None and usage_type not in ("PROFILE", "LAYER3"): # Parametric objects shall not be edited as meshes as they # can be modified to be incompatible with the parametric # constraints. @@ -811,6 +811,7 @@ class OverrideModeSetEdit(bpy.types.Operator): continue if ( tool.Geometry.is_profile_based(obj.data) + or usage_type == "LAYER3" or tool.Geometry.is_swept_profile(representation) or tool.Pset.get_element_pset(element, "BBIM_Roof") or tool.Pset.get_element_pset(element, "BBIM_Railing") @@ -944,7 +945,7 @@ class OverrideModeSetObject(bpy.types.Operator): bpy.ops.bim.cad_hotkey(hotkey="S_Q") elif tool.Pset.get_element_pset(element, "BBIM_Roof"): bpy.ops.bim.cad_hotkey(hotkey="S_Q") - elif tool.Model.get_usage_type(element): + elif tool.Model.get_usage_type(element) == "PROFILE": bpy.ops.bim.edit_extrusion_axis() else: bpy.ops.bim.edit_extrusion_profile() From 3a93b15b553969a3400fb46eaf0c687982f37167 Mon Sep 17 00:00:00 2001 From: Bruno Postle Date: Sun, 11 Jun 2023 20:49:55 +0100 Subject: [PATCH 080/225] BBIM show all fetched remote Git branches (#3096) --- src/blenderbim/blenderbim/bim/module/ifcgit/prop.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/ifcgit/prop.py b/src/blenderbim/blenderbim/bim/module/ifcgit/prop.py index ca9266d0e8..8273ac7cfa 100644 --- a/src/blenderbim/blenderbim/bim/module/ifcgit/prop.py +++ b/src/blenderbim/blenderbim/bim/module/ifcgit/prop.py @@ -22,8 +22,9 @@ def git_branches(self, context): IfcGitData.data["branch_names"] = ["main"] + IfcGitData.data["branch_names"] if IfcGitData.data["remotes"]: - props = context.scene.IfcGitProperties - IfcGitData.data["branch_names"] += [r.name for r in IfcGitData.data["remotes"][props.select_remote].refs] + for remote in IfcGitData.data["remotes"]: + for remote_branch in remote.refs: + IfcGitData.data["branch_names"].append(remote_branch.name) return [(myname, myname, myname) for myname in IfcGitData.data["branch_names"]] From 62944e04e96e4dc7d65dbe5a038eca973114f4b8 Mon Sep 17 00:00:00 2001 From: johanrd Date: Mon, 12 Jun 2023 11:09:04 +0200 Subject: [PATCH 081/225] fix typo in README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4ff0c2d290..5548b1a29d 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ IfcOpenShell

IfcOpenShell is an open source ([LGPL]) software library for working with Industry Foundation Classes ([IFC]). Complete -parsing support is provided for [IFC2x3 TC1], [IFC4 Add2 TC1], IFC4x1, IFC4x3, and IFC4x3. Extensive geometric support +parsing support is provided for [IFC2x3 TC1], [IFC4 Add2 TC1], IFC4x1, IFC4x2, and IFC4x3. Extensive geometric support is implemented for the IFC releases [IFC2x3 TC1] and [IFC4 Add2 TC1]. Extending with support for arbitrary IFC schemas is possible at compile-time when using C++ and at run-time when using Python. From 7c0c934b4fde415623f074af82b0d26873b46725 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Mon, 12 Jun 2023 11:54:17 +0500 Subject: [PATCH 082/225] prioritize external styles on ifc import also found a way to switch shade graph for two materials without juggling active materials and active objects - it was necessary to make it work on import without adding temporary active object --- src/blenderbim/blenderbim/bim/import_ifc.py | 21 ++++----------- .../blenderbim/bim/module/style/operator.py | 9 +++++-- .../blenderbim/bim/module/style/prop.py | 9 ++++--- src/blenderbim/blenderbim/tool/blender.py | 27 +++++++++---------- src/blenderbim/blenderbim/tool/style.py | 10 ++++--- 5 files changed, 37 insertions(+), 39 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/import_ifc.py b/src/blenderbim/blenderbim/bim/import_ifc.py index e85357c6b1..def8c6e939 100644 --- a/src/blenderbim/blenderbim/bim/import_ifc.py +++ b/src/blenderbim/blenderbim/bim/import_ifc.py @@ -1485,22 +1485,11 @@ class IfcImporter: blender_material.BIMMaterialProperties.ifc_style_id = style.id() self.material_creator.styles[style.id()] = blender_material - rendering_style = None - texture_style = None - - for surface_style in style.Styles: - if surface_style.is_a() == "IfcSurfaceStyleShading": - tool.Loader.create_surface_style_shading(blender_material, surface_style) - elif surface_style.is_a("IfcSurfaceStyleRendering"): - rendering_style = surface_style - tool.Loader.create_surface_style_rendering(blender_material, surface_style) - elif surface_style.is_a("IfcSurfaceStyleWithTextures"): - texture_style = surface_style - - if rendering_style and texture_style: - tool.Loader.create_surface_style_with_textures(blender_material, rendering_style, texture_style) - - tool.Style.record_shading(blender_material) + style_elements = tool.Style.get_style_elements(blender_material) + if tool.Style.has_blender_external_style(style_elements): + blender_material.BIMStyleProperties.active_style_type = "External" + else: + blender_material.BIMStyleProperties.active_style_type = "Shading" def place_objects_in_collections(self): for ifc_definition_id, obj in self.added_data.items(): diff --git a/src/blenderbim/blenderbim/bim/module/style/operator.py b/src/blenderbim/blenderbim/bim/module/style/operator.py index 976016e6af..1aebd3d97c 100644 --- a/src/blenderbim/blenderbim/bim/module/style/operator.py +++ b/src/blenderbim/blenderbim/bim/module/style/operator.py @@ -267,8 +267,13 @@ class ActivateExternalStyle(bpy.types.Operator, tool.Ifc.Operator): bl_label = "Activate External Style" bl_options = {"REGISTER", "UNDO", "INTERNAL"} + material_name: bpy.props.StringProperty(name="Material Name", default="") + def _execute(self, context): - material = context.active_object.active_material + if not self.material_name: + material = context.active_object.active_material + else: + material = bpy.data.materials[self.material_name] external_style = tool.Style.get_style_elements(material)["IfcExternallyDefinedSurfaceStyle"] data_block_type, data_block = external_style.Identification.split("/") style_path = Path(tool.Ifc.resolve_uri(external_style.Location)) @@ -297,7 +302,7 @@ class ActivateExternalStyle(bpy.types.Operator, tool.Ifc.Operator): setattr(material, prop_name, getattr(db["data_block"], prop_name)) if material.use_nodes: - tool.Blender.copy_node_graph_to_active_object(context, db["data_block"]) + tool.Blender.copy_node_graph(material, db["data_block"]) bpy.data.materials.remove(db["data_block"]) diff --git a/src/blenderbim/blenderbim/bim/module/style/prop.py b/src/blenderbim/blenderbim/bim/module/style/prop.py index a44bb91919..266a2d56d8 100644 --- a/src/blenderbim/blenderbim/bim/module/style/prop.py +++ b/src/blenderbim/blenderbim/bim/module/style/prop.py @@ -61,7 +61,7 @@ def update_shading_styles(self, context): materials_to_objects[blender_material] = obj for mat, obj in materials_to_objects.items(): - tool.Style.change_current_style_type(context, obj, mat, self.active_style_type) + tool.Style.change_current_style_type(mat, self.active_style_type) class BIMStylesProperties(PropertyGroup): @@ -79,11 +79,11 @@ class BIMStylesProperties(PropertyGroup): def update_shading_style(self, context): - blender_material = context.active_object.active_material + blender_material = self.id_data style_elements = tool.Style.get_style_elements(blender_material) if self.active_style_type == "External": - if "IfcExternallyDefinedSurfaceStyle" in style_elements: - bpy.ops.bim.activate_external_style() + if tool.Style.has_blender_external_style(style_elements): + bpy.ops.bim.activate_external_style(material_name=blender_material.name) elif self.active_style_type == "Shading": style_elements = tool.Style.get_style_elements(blender_material) @@ -101,6 +101,7 @@ def update_shading_style(self, context): if rendering_style and texture_style: tool.Loader.create_surface_style_with_textures(blender_material, rendering_style, texture_style) + tool.Style.record_shading(blender_material) class BIMStyleProperties(PropertyGroup): diff --git a/src/blenderbim/blenderbim/tool/blender.py b/src/blenderbim/blenderbim/tool/blender.py index 44aca1ceab..ea0aca78d7 100644 --- a/src/blenderbim/blenderbim/tool/blender.py +++ b/src/blenderbim/blenderbim/tool/blender.py @@ -118,32 +118,31 @@ class Blender: return context_override @classmethod - def copy_node_graph_to_active_object(cls, context, material): - """make sure to override `context.active_object` - to you want change node graph for the object that's not actually active - """ + def copy_node_graph(cls, material_to, material_from): temp_override = cls.get_shader_editor_context() - old_material = context.active_object.active_material - new_material = material + shader_editor = temp_override["space"] # remove all nodes from the current material - for n in old_material.node_tree.nodes[:]: - old_material.node_tree.nodes.remove(n) + for n in material_to.node_tree.nodes[:]: + material_to.node_tree.nodes.remove(n) - # change current material and make other window's shader editor is updated - context.active_object.active_material = new_material - temp_override["space"].node_tree = new_material.node_tree + previous_pin_setting = shader_editor.pin + # required to be able to change material to something else + shader_editor.pin = True + shader_editor.node_tree = material_from.node_tree # select all nodes and copy them to clipboard - for node in new_material.node_tree.nodes: + for node in material_from.node_tree.nodes: node.select = True bpy.ops.node.clipboard_copy(temp_override) # back to original material - context.active_object.active_material = old_material - temp_override["space"].node_tree = old_material.node_tree + shader_editor.node_tree = material_to.node_tree bpy.ops.node.clipboard_paste(temp_override, offset=(0, 0)) + # restore shader editor settings + shader_editor.pin = previous_pin_setting + @classmethod def update_screen(cls): bpy.ops.wm.redraw_timer(type="DRAW_WIN_SWAP", iterations=1) diff --git a/src/blenderbim/blenderbim/tool/style.py b/src/blenderbim/blenderbim/tool/style.py index cf2e58b0fa..8dfd6bf2a1 100644 --- a/src/blenderbim/blenderbim/tool/style.py +++ b/src/blenderbim/blenderbim/tool/style.py @@ -227,6 +227,11 @@ class Style(blenderbim.core.tool.Style): attributes.clear() blenderbim.bim.helper.import_attributes2(style, attributes) + @classmethod + def has_blender_external_style(cls, style_elements): + external_style = style_elements.get("IfcExternallyDefinedSurfaceStyle", None) + return bool(external_style and external_style.Location.endswith(".blend")) + @classmethod def is_editing_styles(cls): return bpy.context.scene.BIMStylesProperties.is_editing @@ -243,6 +248,5 @@ class Style(blenderbim.core.tool.Style): obj.select_set(True) @classmethod - def change_current_style_type(cls, context, obj, blender_material, style_type): - with context.temp_override(active_object=obj): - blender_material.BIMStyleProperties.active_style_type = style_type + def change_current_style_type(cls, blender_material, style_type): + blender_material.BIMStyleProperties.active_style_type = style_type From c7b3331496b3f5eee04997f944d4d5020cdc3a99 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Mon, 12 Jun 2023 16:04:14 +0500 Subject: [PATCH 083/225] switch to external styles for rendered shading in viewport Unfortunately I couldn't find a way to make it work with areas that user created during current blender session. But new areas will have this feature too after blender restart --- src/blenderbim/blenderbim/bim/handler.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/blenderbim/blenderbim/bim/handler.py b/src/blenderbim/blenderbim/bim/handler.py index 5c7888bb0f..9fff5d4836 100644 --- a/src/blenderbim/blenderbim/bim/handler.py +++ b/src/blenderbim/blenderbim/bim/handler.py @@ -259,6 +259,12 @@ def get_application_version(): ) +def viewport_shading_changed_callback(area): + shading = area.spaces.active.shading.type + if shading == "RENDERED": + bpy.context.scene.BIMStylesProperties.active_style_type = "External" + + @persistent def setDefaultProperties(scene): global global_subscription_owner @@ -266,6 +272,21 @@ def setDefaultProperties(scene): bpy.msgbus.subscribe_rna( key=active_object_key, owner=global_subscription_owner, args=(), notify=active_object_callback ) + + # subscribe to changes in viewport shading mode + # NOTE: couldn't find a way to make it work for new areas too + # it starts working for them after blender restart though + for screen in bpy.data.screens: + for area in screen.areas: + if area.type != "VIEW_3D": + continue + shading = area.spaces.active.shading + key = shading.path_resolve("type", False) + + bpy.msgbus.subscribe_rna( + key=key, owner=global_subscription_owner, args=(area,), notify=viewport_shading_changed_callback + ) + ifcopenshell.api.owner.settings.get_user = lambda ifc: core_owner.get_user(tool.Owner) ifcopenshell.api.owner.settings.get_application = get_application AuthoringData.type_thumbnails = {} From 32393136d290b80fa7fc369e74dd8e628bc6fe2a Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Mon, 12 Jun 2023 17:28:23 +0500 Subject: [PATCH 084/225] Support external shaders from currently opened blend file MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Previously it was crashing if you try use shader from current .blend file as external. I guess we now kind of support external internal shaders 🙃 --- src/blenderbim/blenderbim/tool/blender.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/blenderbim/blenderbim/tool/blender.py b/src/blenderbim/blenderbim/tool/blender.py index ea0aca78d7..23b87252c1 100644 --- a/src/blenderbim/blenderbim/tool/blender.py +++ b/src/blenderbim/blenderbim/tool/blender.py @@ -20,6 +20,7 @@ import bpy import ifcopenshell.api import blenderbim.tool as tool from mathutils import Vector +from pathlib import Path class Blender: @@ -253,6 +254,12 @@ class Blender: @classmethod def append_data_block(cls, filepath, data_block_type, name, link=False, relative=False): + if Path(filepath) == Path(bpy.data.filepath): + data_block = getattr(bpy.data, data_block_type).get(name, None) + if not data_block: + return {"data_block": None, "msg": f"Data-block {data_block_type}/{name} not found in {filepath}"} + return {"data_block": data_block.copy(), "msg": ""} + with bpy.data.libraries.load(filepath, link=link, relative=relative) as (data_from, data_to): if name not in getattr(data_from, data_block_type): return {"data_block": None, "msg": f"Data-block {data_block_type}/{name} not found in {filepath}"} From 36fab12847abab2856ac40507c9ba54f98390dfe Mon Sep 17 00:00:00 2001 From: Sigma Dimensions <79010126+myoualid@users.noreply.github.com> Date: Mon, 12 Jun 2023 15:21:33 +0100 Subject: [PATCH 085/225] Refactor and re-use common spatial_tool.select_products --- .../blenderbim/bim/module/material/operator.py | 2 +- .../blenderbim/bim/module/style/operator.py | 2 +- .../blenderbim/bim/module/system/operator.py | 2 +- src/blenderbim/blenderbim/core/material.py | 7 +++++-- src/blenderbim/blenderbim/core/style.py | 4 ++-- src/blenderbim/blenderbim/core/system.py | 4 ++-- src/blenderbim/blenderbim/core/tool.py | 3 --- src/blenderbim/blenderbim/tool/material.py | 7 ------- src/blenderbim/blenderbim/tool/system.py | 8 +------- src/blenderbim/test/core/test_material.py | 6 +++--- src/blenderbim/test/core/test_style.py | 9 ++++++++- src/blenderbim/test/core/test_system.py | 14 +++++++------- src/blenderbim/test/tool/test_material.py | 11 ----------- src/blenderbim/test/tool/test_spatial.py | 12 ++++++++++++ src/blenderbim/test/tool/test_style.py | 12 ------------ src/blenderbim/test/tool/test_system.py | 12 ------------ 16 files changed, 43 insertions(+), 72 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/material/operator.py b/src/blenderbim/blenderbim/bim/module/material/operator.py index e3cf6fa02e..5fdbc4ea2a 100644 --- a/src/blenderbim/blenderbim/bim/module/material/operator.py +++ b/src/blenderbim/blenderbim/bim/module/material/operator.py @@ -56,7 +56,7 @@ class SelectByMaterial(bpy.types.Operator, tool.Ifc.Operator): material: bpy.props.IntProperty() def _execute(self, context): - core.select_by_material(tool.Material, material=tool.Ifc.get().by_id(self.material)) + core.select_by_material(tool.Material, tool.Spatial, material=tool.Ifc.get().by_id(self.material)) class EnableEditingMaterial(bpy.types.Operator, tool.Ifc.Operator): diff --git a/src/blenderbim/blenderbim/bim/module/style/operator.py b/src/blenderbim/blenderbim/bim/module/style/operator.py index 1aebd3d97c..9dd0401c7c 100644 --- a/src/blenderbim/blenderbim/bim/module/style/operator.py +++ b/src/blenderbim/blenderbim/bim/module/style/operator.py @@ -332,4 +332,4 @@ class SelectByStyle(bpy.types.Operator, tool.Ifc.Operator): style: bpy.props.IntProperty() def _execute(self, context): - core.select_by_style(tool.Style, style=tool.Ifc.get().by_id(self.style)) + core.select_by_style(tool.Style, tool.Spatial, style=tool.Ifc.get().by_id(self.style)) diff --git a/src/blenderbim/blenderbim/bim/module/system/operator.py b/src/blenderbim/blenderbim/bim/module/system/operator.py index 9b9165e97d..f421f77625 100644 --- a/src/blenderbim/blenderbim/bim/module/system/operator.py +++ b/src/blenderbim/blenderbim/bim/module/system/operator.py @@ -140,7 +140,7 @@ class ShowPorts(bpy.types.Operator, Operator): bl_options = {"REGISTER", "UNDO"} def _execute(self, context): - core.show_ports(tool.Ifc, tool.System, element=tool.Ifc.get_entity(context.active_object)) + core.show_ports(tool.Ifc, tool.System, tool.Spatial, element=tool.Ifc.get_entity(context.active_object)) class HidePorts(bpy.types.Operator, Operator): diff --git a/src/blenderbim/blenderbim/core/material.py b/src/blenderbim/blenderbim/core/material.py index ca0c872199..d65e91c5e2 100644 --- a/src/blenderbim/blenderbim/core/material.py +++ b/src/blenderbim/blenderbim/core/material.py @@ -70,13 +70,15 @@ def disable_editing_materials(material): material.disable_editing_materials() -def select_by_material(material_tool, material=None): - material_tool.select_elements(material_tool.get_elements_by_material(material)) +def select_by_material(material_tool, spatial, material=None): + spatial.select_products(material_tool.get_elements_by_material(material)) + def enable_editing_material(material_tool, material): material_tool.load_material_attributes(material) material_tool.enable_editing_material(material) + def edit_material(ifc, material_tool, material): attributes = material_tool.get_material_attributes() ifc.run("material.edit_material", material=material, attributes=attributes) @@ -85,5 +87,6 @@ def edit_material(ifc, material_tool, material): material_tool.import_material_definitions(material_type) material_tool.enable_editing_materials() + def disable_editing_material(material_tool): material_tool.disable_editing_material() diff --git a/src/blenderbim/blenderbim/core/style.py b/src/blenderbim/blenderbim/core/style.py index e8eb462f9c..b00d437fff 100644 --- a/src/blenderbim/blenderbim/core/style.py +++ b/src/blenderbim/blenderbim/core/style.py @@ -142,5 +142,5 @@ def disable_editing_styles(style): style.disable_editing_styles() -def select_by_style(style_tool, style=None): - style_tool.select_elements(style_tool.get_elements_by_style(style)) +def select_by_style(style_tool, spatial, style=None): + spatial.select_products(style_tool.get_elements_by_style(style)) diff --git a/src/blenderbim/blenderbim/core/system.py b/src/blenderbim/blenderbim/core/system.py index b635521222..5afc2b0420 100644 --- a/src/blenderbim/blenderbim/core/system.py +++ b/src/blenderbim/blenderbim/core/system.py @@ -66,14 +66,14 @@ def select_system_products(system_tool, system=None): system_tool.select_system_products(system) -def show_ports(ifc, system, element=None): +def show_ports(ifc, system, spatial, element=None): obj = ifc.get_object(element) if obj and ifc.is_moved(obj): system.run_geometry_edit_object_placement(obj=obj) ports = system.get_ports(element) system.load_ports(element, ports) - system.select_elements(ports) + spatial.select_products(ports) def hide_ports(ifc, system, element=None): diff --git a/src/blenderbim/blenderbim/core/tool.py b/src/blenderbim/blenderbim/core/tool.py index cfe42c95e4..ebf5202a98 100644 --- a/src/blenderbim/blenderbim/core/tool.py +++ b/src/blenderbim/blenderbim/core/tool.py @@ -447,7 +447,6 @@ class Material: def is_editing_materials(cls): pass def is_material_used_in_sets(cls, material): pass def load_material_attributes(cls, material): pass - def select_elements(cls, elements): pass @interface @@ -816,7 +815,6 @@ class Style: def import_surface_attributes(cls, style, obj): pass def is_editing_styles(cls): pass def record_shading(cls, obj): pass - def select_elements(cls, elements): pass @interface @@ -839,7 +837,6 @@ class System: def load_ports(cls, element, ports): pass def run_geometry_edit_object_placement(cls, obj=None): pass def run_root_assign_class(cls, obj=None, ifc_class=None, predefined_type=None, should_add_representation=True, context=None, ifc_representation_class=None): pass - def select_elements(cls, elements): pass def select_system_products(cls, system): pass def set_active_system(cls, system): pass diff --git a/src/blenderbim/blenderbim/tool/material.py b/src/blenderbim/blenderbim/tool/material.py index 27aaab96f5..b0a9a3dd09 100644 --- a/src/blenderbim/blenderbim/tool/material.py +++ b/src/blenderbim/blenderbim/tool/material.py @@ -101,13 +101,6 @@ class Material(blenderbim.core.tool.Material): return True return False - @classmethod - def select_elements(cls, elements): - for element in elements: - obj = tool.Ifc.get_object(element) - if obj: - obj.select_set(True) - @classmethod def get_active_material_type(cls): return bpy.context.scene.BIMMaterialProperties.material_type diff --git a/src/blenderbim/blenderbim/tool/system.py b/src/blenderbim/blenderbim/tool/system.py index 538b2db863..cc6975df37 100644 --- a/src/blenderbim/blenderbim/tool/system.py +++ b/src/blenderbim/blenderbim/tool/system.py @@ -129,16 +129,10 @@ class System(blenderbim.core.tool.System): ifc_representation_class=ifc_representation_class, ) - @classmethod - def select_elements(cls, elements): - for element in elements: - obj = tool.Ifc.get_object(element) - if obj: - obj.select_set(True) @classmethod def select_system_products(cls, system): - cls.select_elements(ifcopenshell.util.system.get_system_elements(system)) + tool.Spatial.select_products(ifcopenshell.util.system.get_system_elements(system)) @classmethod def set_active_system(cls, system): diff --git a/src/blenderbim/test/core/test_material.py b/src/blenderbim/test/core/test_material.py index 9b6a30c70b..c5856927ab 100644 --- a/src/blenderbim/test/core/test_material.py +++ b/src/blenderbim/test/core/test_material.py @@ -17,7 +17,7 @@ # along with BlenderBIM Add-on. If not, see . import blenderbim.core.material as subject -from test.core.bootstrap import ifc, material, style +from test.core.bootstrap import ifc, material, style, spatial class TestUnlinkMaterial: @@ -158,7 +158,7 @@ class TestDisableEditingMaterials: class TestSelectByMaterial: - def test_run(self, material): + def test_run(self, material, spatial): material.get_elements_by_material("material").should_be_called().will_return("elements") - material.select_elements("elements").should_be_called() + spatial.select_products("elements").should_be_called() subject.select_by_material(material, material="material") diff --git a/src/blenderbim/test/core/test_style.py b/src/blenderbim/test/core/test_style.py index 3ec61bd645..d9ccb1aed1 100644 --- a/src/blenderbim/test/core/test_style.py +++ b/src/blenderbim/test/core/test_style.py @@ -17,7 +17,7 @@ # along with BlenderBIM Add-on. If not, see . import blenderbim.core.style as subject -from test.core.bootstrap import ifc, material, style +from test.core.bootstrap import ifc, material, style, spatial class TestAddStyle: @@ -212,3 +212,10 @@ class TestDisableEditingStyles: def test_run(self, style): style.disable_editing_styles().should_be_called() subject.disable_editing_styles(style) + + +class TestSelectByStyle: + def test_run(self, style, spatial): + style.get_elements_by_style("style").should_be_called().will_return("elements") + spatial.select_products("elements").should_be_called() + subject.select_by_style(style, style="style") diff --git a/src/blenderbim/test/core/test_system.py b/src/blenderbim/test/core/test_system.py index a27d0f90e5..cabd2d9a68 100644 --- a/src/blenderbim/test/core/test_system.py +++ b/src/blenderbim/test/core/test_system.py @@ -18,7 +18,7 @@ import blenderbim.core.system as subject -from test.core.bootstrap import ifc, system +from test.core.bootstrap import ifc, system, spatial class TestLoadSystems: @@ -91,24 +91,24 @@ class TestSelectSystemProducts: class TestShowPorts: - def test_run(self, ifc, system): + def test_run(self, ifc, system, spatial): ifc.get_object("element").should_be_called().will_return("obj") ifc.is_moved("obj").should_be_called().will_return(False) system.get_ports("element").should_be_called().will_return(["port"]) system.load_ports("element", ["port"]).should_be_called() - system.select_elements(["port"]).should_be_called() - subject.show_ports(ifc, system, element="element") + spatial.select_products(["port"]).should_be_called() + subject.show_ports(ifc, system, spatial, element="element") - def test_syncing_locations_if_objects_moved_prior_to_showing_ports(self, ifc, system): + def test_syncing_locations_if_objects_moved_prior_to_showing_ports(self, ifc, system, spatial): ifc.get_object("element").should_be_called().will_return("obj") ifc.is_moved("obj").should_be_called().will_return(True) system.run_geometry_edit_object_placement(obj="obj").should_be_called() system.get_ports("element").should_be_called().will_return(["port"]) system.load_ports("element", ["port"]).should_be_called() - system.select_elements(["port"]).should_be_called() - subject.show_ports(ifc, system, element="element") + spatial.select_products(["port"]).should_be_called() + subject.show_ports(ifc, system, spatial, element="element") class TestHidePorts: diff --git a/src/blenderbim/test/tool/test_material.py b/src/blenderbim/test/tool/test_material.py index 794669545b..fa2e7b8b4e 100644 --- a/src/blenderbim/test/tool/test_material.py +++ b/src/blenderbim/test/tool/test_material.py @@ -170,14 +170,3 @@ class TestIsMaterialUsedInSets(NewFile): material_set_item.Material = material assert subject.is_material_used_in_sets(material) is True - -class TestSelectElements(NewFile): - def test_run(self): - ifc = ifcopenshell.file() - tool.Ifc().set(ifc) - element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcPump") - obj = bpy.data.objects.new("Object", None) - bpy.context.scene.collection.objects.link(obj) - tool.Ifc.link(element, obj) - subject.select_elements([element]) - assert obj in bpy.context.selected_objects diff --git a/src/blenderbim/test/tool/test_spatial.py b/src/blenderbim/test/tool/test_spatial.py index 9ecb069cd8..7aafc1e882 100644 --- a/src/blenderbim/test/tool/test_spatial.py +++ b/src/blenderbim/test/tool/test_spatial.py @@ -257,3 +257,15 @@ class TestSetRelativeObjectMatrix(NewFile): matrix[0][3] = 1 subject.set_relative_object_matrix(obj, relative_obj, matrix) assert obj.matrix_world[0][3] == 2 + + +class TestSelectProducts(NewFile): + def test_select_products(self): + ifc = ifcopenshell.file() + tool.Ifc.set(ifc) + product = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") + obj = bpy.data.objects.new("Object", None) + bpy.context.scene.collection.objects.link(obj) + tool.Ifc.link(product, obj) + subject.select_products([product]) + assert obj in bpy.context.selected_objects \ No newline at end of file diff --git a/src/blenderbim/test/tool/test_style.py b/src/blenderbim/test/tool/test_style.py index 77e59edc55..3de9896825 100644 --- a/src/blenderbim/test/tool/test_style.py +++ b/src/blenderbim/test/tool/test_style.py @@ -440,15 +440,3 @@ class TestIsEditingStyles(NewFile): subject.is_editing_styles() is False bpy.context.scene.BIMStylesProperties.is_editing = True subject.is_editing_styles() is True - - -class TestSelectElements(NewFile): - def test_run(self): - ifc = ifcopenshell.file() - tool.Ifc().set(ifc) - element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcPump") - obj = bpy.data.objects.new("Object", None) - bpy.context.scene.collection.objects.link(obj) - tool.Ifc.link(element, obj) - subject.select_elements([element]) - assert obj in bpy.context.selected_objects diff --git a/src/blenderbim/test/tool/test_system.py b/src/blenderbim/test/tool/test_system.py index 4105c72530..2b23513f05 100644 --- a/src/blenderbim/test/tool/test_system.py +++ b/src/blenderbim/test/tool/test_system.py @@ -196,18 +196,6 @@ class TestRunRootAssignClass(NewFile): pass -class TestSelectElements(NewFile): - def test_run(self): - ifc = ifcopenshell.file() - tool.Ifc().set(ifc) - element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcPump") - obj = bpy.data.objects.new("Object", None) - bpy.context.scene.collection.objects.link(obj) - tool.Ifc.link(element, obj) - subject.select_elements([element]) - assert obj in bpy.context.selected_objects - - class TestSelectSystemProducts(NewFile): def test_run(self): ifc = ifcopenshell.file() From 755fa8181743bb0bc89f97bed32497f52f63025f Mon Sep 17 00:00:00 2001 From: Sigma Dimensions <79010126+myoualid@users.noreply.github.com> Date: Mon, 12 Jun 2023 15:23:24 +0100 Subject: [PATCH 086/225] Fix displaying connections for selected distribution ports --- .../blenderbim/bim/module/geometry/data.py | 32 +++++++++++++++---- 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/geometry/data.py b/src/blenderbim/blenderbim/bim/module/geometry/data.py index aae9f6c06b..0c95c61d2f 100644 --- a/src/blenderbim/blenderbim/bim/module/geometry/data.py +++ b/src/blenderbim/blenderbim/bim/module/geometry/data.py @@ -104,24 +104,44 @@ class ConnectionsData: def connections(cls): results = [] element = tool.Ifc.get_entity(bpy.context.active_object) - for rel in getattr(element, "ConnectedTo", []): + + connected_to = getattr(element, "ConnectedTo", []) + connected_from = getattr(element, "ConnectedFrom", []) + + for rel in connected_to: + if element.is_a("IfcDistributionPort"): + related_element = rel.RelatedPort + related_element_connection_type = "" + else: + related_element = rel.RelatedElement + related_element_connection_type = rel.RelatedConnectionType + results.append( { "id": rel.id(), "is_relating": True, - "Name": rel.RelatedElement.Name or "Unnamed", - "ConnectionType": rel.RelatingConnectionType, + "Name": related_element.Name or "Unnamed", + "ConnectionType": related_element_connection_type, } ) - for rel in getattr(element, "ConnectedFrom", []): + + for rel in connected_from: + if element.is_a("IfcDistributionPort"): + relating_element = rel.RelatingPort + relating_element_connection_type = "" + else: + relating_element = rel.RelatingElement + relating_element_connection_type = rel.RelatingConnectionType + results.append( { "id": rel.id(), "is_relating": False, - "Name": rel.RelatingElement.Name or "Unnamed", - "ConnectionType": rel.RelatedConnectionType, + "Name": relating_element.Name or "Unnamed", + "ConnectionType": relating_element_connection_type, } ) + return results From 88f53f7931b7998063aa588c20734c7d3d4bb00d Mon Sep 17 00:00:00 2001 From: Sigma Dimensions <79010126+myoualid@users.noreply.github.com> Date: Mon, 12 Jun 2023 15:24:51 +0100 Subject: [PATCH 087/225] fix delete material operator --- src/blenderbim/blenderbim/bim/module/material/operator.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/blenderbim/blenderbim/bim/module/material/operator.py b/src/blenderbim/blenderbim/bim/module/material/operator.py index 5fdbc4ea2a..9c16244daa 100644 --- a/src/blenderbim/blenderbim/bim/module/material/operator.py +++ b/src/blenderbim/blenderbim/bim/module/material/operator.py @@ -250,7 +250,8 @@ class UnassignMaterial(bpy.types.Operator, tool.Ifc.Operator): if element: material = ifcopenshell.util.element.get_material(element, should_inherit=False) inherited_material = ifcopenshell.util.element.get_material(element, should_inherit=True) - if "Usage" in material.is_a(): + print(material, inherited_material) + if material and "Usage" in material.is_a(): element_type = ifcopenshell.util.element.get_type(element) ifcopenshell.api.run("material.unassign_material", tool.Ifc.get(), product=element_type) elif not material and inherited_material: From 28cc168b3b103b514eae78724a8bde08e973ab25 Mon Sep 17 00:00:00 2001 From: Sigma Dimensions <79010126+myoualid@users.noreply.github.com> Date: Tue, 13 Jun 2023 10:28:31 +0100 Subject: [PATCH 088/225] split material assign/unassign operators into tool and core --- .../bim/module/material/operator.py | 77 +------------------ src/blenderbim/blenderbim/core/material.py | 29 +++++++ src/blenderbim/blenderbim/core/tool.py | 7 +- src/blenderbim/blenderbim/tool/material.py | 77 +++++++++++++++++-- 4 files changed, 109 insertions(+), 81 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/material/operator.py b/src/blenderbim/blenderbim/bim/module/material/operator.py index 9c16244daa..a5f0f8df62 100644 --- a/src/blenderbim/blenderbim/bim/module/material/operator.py +++ b/src/blenderbim/blenderbim/bim/module/material/operator.py @@ -174,67 +174,7 @@ class AssignMaterial(bpy.types.Operator, tool.Ifc.Operator): def _execute(self, context): objects = [bpy.data.objects.get(self.obj)] if self.obj else tool.Blender.get_selected_objects() - active_obj = context.active_object - active_object_material_type = self.material_type or active_obj.BIMObjectMaterialProperties.material_type - material = tool.Ifc.get().by_id(int(active_obj.BIMObjectMaterialProperties.material)) - for obj in objects: - element = tool.Ifc.get_entity(obj) - if not element: - continue - ifcopenshell.api.run( - "material.assign_material", - tool.Ifc.get(), - product=element, - type=active_object_material_type, - material=material, - ) - assigned_material = ifcopenshell.util.element.get_material(element) - if assigned_material.is_a("IfcMaterialConstituentSet"): - if not assigned_material.MaterialConstituents: - ifcopenshell.api.run( - "material.add_constituent", - tool.Ifc.get(), - constituent_set=assigned_material, - material=material, - ) - elif assigned_material.is_a() == "IfcMaterialLayerSet": - if not assigned_material.MaterialLayers: - unit_scale = ifcopenshell.util.unit.calculate_unit_scale(tool.Ifc.get()) - layer = ifcopenshell.api.run( - "material.add_layer", - tool.Ifc.get(), - layer_set=assigned_material, - material=material, - ) - thickness = 0.1 # Arbitrary metric thickness for now - layer.LayerThickness = thickness / unit_scale - elif assigned_material.is_a("IfcMaterialProfileSet"): - if not assigned_material.MaterialProfiles: - named_profiles = [p for p in tool.Ifc.get().by_type("IfcProfileDef") if p.ProfileName] - if named_profiles: - profile = named_profiles[0] - else: - unit_scale = ifcopenshell.util.unit.calculate_unit_scale(tool.Ifc.get()) - size = 0.5 / unit_scale - profile = tool.Ifc.get().create_entity( - "IfcRectangleProfileDef", - ProfileName="New Profile", - ProfileType="AREA", - XDim=size, - YDim=size, - ) - material_profile = ifcopenshell.api.run( - "material.add_profile", - tool.Ifc.get(), - profile_set=assigned_material, - material=tool.Ifc.get().by_type("IfcMaterial")[0], - ) - ifcopenshell.api.run( - "material.assign_profile", - tool.Ifc.get(), - material_profile=material_profile, - profile=profile, - ) + core.assign_material(tool.Ifc, tool.Material, material_type= self.material_type , objects=objects ) class UnassignMaterial(bpy.types.Operator, tool.Ifc.Operator): @@ -245,20 +185,7 @@ class UnassignMaterial(bpy.types.Operator, tool.Ifc.Operator): def _execute(self, context): objects = [bpy.data.objects.get(self.obj)] if self.obj else tool.Blender.get_selected_objects() - for obj in objects: - element = tool.Ifc.get_entity(obj) - if element: - material = ifcopenshell.util.element.get_material(element, should_inherit=False) - inherited_material = ifcopenshell.util.element.get_material(element, should_inherit=True) - print(material, inherited_material) - if material and "Usage" in material.is_a(): - element_type = ifcopenshell.util.element.get_type(element) - ifcopenshell.api.run("material.unassign_material", tool.Ifc.get(), product=element_type) - elif not material and inherited_material: - element_type = ifcopenshell.util.element.get_type(element) - ifcopenshell.api.run("material.unassign_material", tool.Ifc.get(), product=element_type) - elif material: - ifcopenshell.api.run("material.unassign_material", tool.Ifc.get(), product=element) + core.unassign_material(tool.Ifc, tool.Material, objects=objects ) class AddConstituent(bpy.types.Operator, tool.Ifc.Operator): diff --git a/src/blenderbim/blenderbim/core/material.py b/src/blenderbim/blenderbim/core/material.py index d65e91c5e2..6203a53fe8 100644 --- a/src/blenderbim/blenderbim/core/material.py +++ b/src/blenderbim/blenderbim/core/material.py @@ -90,3 +90,32 @@ def edit_material(ifc, material_tool, material): def disable_editing_material(material_tool): material_tool.disable_editing_material() + + +def assign_material(ifc, material_tool, material_type, objects): + material_type = material_type or material_tool.get_active_object_material() + material = material_tool.get_active_material() + for obj in objects: + element = ifc.get_entity(obj) + if not element: + continue + ifc.run("material.assign_material", product=element, type=material_type, material=material) + assigned_material = material_tool.get_material(element) + if material_tool.is_a_material_set(assigned_material): + material_tool.add_material_to_set(material_set=assigned_material, material=material) + + +def unassign_material(ifc, material_tool, objects): + for obj in objects: + element = ifc.get_entity(obj) + if element: + material = material_tool.get_material(element, should_inherit=False) + inherited_material = material_tool.get_material(element, should_inherit=True) + if material and "Usage" in material.is_a(): + element_type = material_tool.get_type(element) + ifc.run("material.unassign_material", product=element_type) + elif not material and inherited_material: + element_type = material_tool.get_type(element) + ifc.run("material.unassign_material", product=element_type) + elif material: + ifc.run("material.unassign_material", product=element) diff --git a/src/blenderbim/blenderbim/core/tool.py b/src/blenderbim/blenderbim/core/tool.py index ebf5202a98..0675b29359 100644 --- a/src/blenderbim/blenderbim/core/tool.py +++ b/src/blenderbim/blenderbim/core/tool.py @@ -433,17 +433,22 @@ class Loader: @interface class Material: def add_default_material_object(cls): pass + def add_material_to_set(cls, material_set, material): pass def delete_object(cls, obj): pass def disable_editing_material(cls): pass def disable_editing_materials(cls): pass def enable_editing_material(cls, material): pass def enable_editing_materials(cls): pass def get_active_material_type(cls): pass - def get_active_material_type(cls): pass + def get_active_material(cls): pass + def get_active_object_material(cls, obj): pass def get_elements_by_material(cls, material): pass def get_material_attributes(cls): pass + def get_material(cls, element, should_inherit): pass def get_name(cls, obj): pass + def get_type(cls, element): pass def import_material_definitions(cls, material_type): pass + def is_a_material_set(cls, material): pass def is_editing_materials(cls): pass def is_material_used_in_sets(cls, material): pass def load_material_attributes(cls, material): pass diff --git a/src/blenderbim/blenderbim/tool/material.py b/src/blenderbim/blenderbim/tool/material.py index b0a9a3dd09..3047c605e8 100644 --- a/src/blenderbim/blenderbim/tool/material.py +++ b/src/blenderbim/blenderbim/tool/material.py @@ -21,6 +21,8 @@ import ifcopenshell import blenderbim.core.tool import blenderbim.tool as tool import blenderbim.bim.helper +import ifcopenshell.util.unit +import ifcopenshell.util.element class Material(blenderbim.core.tool.Material): @@ -101,10 +103,6 @@ class Material(blenderbim.core.tool.Material): return True return False - @classmethod - def get_active_material_type(cls): - return bpy.context.scene.BIMMaterialProperties.material_type - @classmethod def load_material_attributes(cls, material): props = bpy.context.scene.BIMMaterialProperties @@ -115,7 +113,7 @@ class Material(blenderbim.core.tool.Material): def enable_editing_material(cls, material): props = bpy.context.scene.BIMMaterialProperties props.active_material_id = material.id() - props.editing_material_type = "ATTRIBUTES" + props.editing_material_type = "ATTRIBUTES" @classmethod def get_material_attributes(cls): @@ -126,3 +124,72 @@ class Material(blenderbim.core.tool.Material): props = bpy.context.scene.BIMMaterialProperties props.active_material_id = 0 props.editing_material_type = "" + + @classmethod + def get_type(cls, element): + return ifcopenshell.util.element.get_type(element) + + @classmethod + def get_active_object_material(cls): + active_obj = bpy.context.active_object + if not active_obj: + return + return active_obj.BIMObjectMaterialProperties.material_type + + @classmethod + def get_active_material(cls): + return tool.Ifc.get().by_id(int(bpy.context.active_object.BIMObjectMaterialProperties.material)) + + @classmethod + def get_material(cls, element, should_inherit=False): + return ifcopenshell.util.element.get_material(element, should_inherit=should_inherit) + + @classmethod + def is_a_material_set(cls, material): + return material.is_a() in [ + "IfcMaterialProfile", + "IfcMaterialLayer", + "IfcMaterialConstituent", + "IfcMaterialList", + ] + + @classmethod + def add_material_to_set(cls, material_set, material): + if material_set.is_a("IfcMaterialConstituentSet"): + if not material_set.MaterialConstituents: + tool.Ifc.run( + "material.add_constituent", + constituent_set=material_set, + material=material, + ) + elif material_set.is_a() == "IfcMaterialLayerSet": + if not material_set.MaterialLayers: + unit_scale = ifcopenshell.util.unit.calculate_unit_scale(tool.Ifc.get()) + layer = tool.Ifc.run( + "material.add_layer", + layer_set=material_set, + material=material, + ) + thickness = 0.1 # Arbitrary metric thickness for now + layer.LayerThickness = thickness / unit_scale + elif material_set.is_a("IfcMaterialProfileSet"): + if not material_set.MaterialProfiles: + named_profiles = [p for p in tool.Ifc.get().by_type("IfcProfileDef") if p.ProfileName] + if named_profiles: + profile = named_profiles[0] + else: + unit_scale = ifcopenshell.util.unit.calculate_unit_scale(tool.Ifc.get()) + size = 0.5 / unit_scale + profile = tool.Ifc.get().create_entity( + "IfcRectangleProfileDef", + ProfileName="New Profile", + ProfileType="AREA", + XDim=size, + YDim=size, + ) + material_profile = ifcopenshell.api.run( + "material.add_profile", + profile_set=material_set, + material=material, + profile=profile, + ) From 061930bc8eadde2f9d2d5f7f15b4ee93509f376a Mon Sep 17 00:00:00 2001 From: Sigma Dimensions <79010126+myoualid@users.noreply.github.com> Date: Tue, 13 Jun 2023 10:32:25 +0100 Subject: [PATCH 089/225] Move Spatial Manager UI to "IFC Project Set-up" --- .../blenderbim/bim/module/model/__init__.py | 1 - .../blenderbim/bim/module/model/ui.py | 18 ++++-------------- .../blenderbim/bim/module/spatial/__init__.py | 2 +- .../blenderbim/bim/module/spatial/ui.py | 13 +++++++------ 4 files changed, 12 insertions(+), 22 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/model/__init__.py b/src/blenderbim/blenderbim/bim/module/model/__init__.py index b35bb75bd6..0ea3b71e36 100644 --- a/src/blenderbim/blenderbim/bim/module/model/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/model/__init__.py @@ -115,7 +115,6 @@ classes = ( ui.BIM_PT_roof, ui.LaunchTypeManager, ui.BIM_MT_model, - ui.BIM_PT_GridsSpatialManager, ui.BIM_PT_Grids, grid.BIM_OT_add_object, stair.BIM_OT_add_object, diff --git a/src/blenderbim/blenderbim/bim/module/model/ui.py b/src/blenderbim/blenderbim/bim/module/model/ui.py index e2bc736fb9..63f6452982 100644 --- a/src/blenderbim/blenderbim/bim/module/model/ui.py +++ b/src/blenderbim/blenderbim/bim/module/model/ui.py @@ -139,30 +139,20 @@ class BIM_PT_authoring(Panel): row.operator("bim.toggle_space_visibility") -class BIM_PT_GridsSpatialManager(Panel): - bl_label = "Grids and Containers" - bl_idname = "BIM_PT_GridsSpatialManager" +class BIM_PT_Grids(Panel): + bl_label = "Grids" + bl_idname = "BIM_PT_Grids" bl_space_type = "VIEW_3D" bl_region_type = "UI" bl_options = {"DEFAULT_CLOSED"} bl_category = "BlenderBIM" - def draw(self, context): - pass - -class BIM_PT_Grids(Panel): - bl_label = "Grid Creator" - bl_idname = "BIM_PT_Grids" - bl_space_type = "VIEW_3D" - bl_region_type = "UI" - bl_options = {"DEFAULT_CLOSED"} - bl_parent_id = "BIM_PT_GridsSpatialManager" - def draw(self, context): self.animation_props = context.scene.BIMAnimationProperties row = self.layout.row() row.operator("mesh.add_grid", icon="ADD", text="Add Grids") + class BIM_PT_array(bpy.types.Panel): bl_label = "IFC Array" bl_idname = "BIM_PT_array" diff --git a/src/blenderbim/blenderbim/bim/module/spatial/__init__.py b/src/blenderbim/blenderbim/bim/module/spatial/__init__.py index b29fff2371..56f03cdc27 100644 --- a/src/blenderbim/blenderbim/bim/module/spatial/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/spatial/__init__.py @@ -45,7 +45,7 @@ classes = ( ui.BIM_PT_spatial, ui.BIM_UL_containers, ui.BIM_UL_containers_manager, - ui.BIM_PT_Storeys, + ui.BIM_PT_SpatialManager, workspace.Hotkey, ) diff --git a/src/blenderbim/blenderbim/bim/module/spatial/ui.py b/src/blenderbim/blenderbim/bim/module/spatial/ui.py index 46451f8f56..f1727acd58 100644 --- a/src/blenderbim/blenderbim/bim/module/spatial/ui.py +++ b/src/blenderbim/blenderbim/bim/module/spatial/ui.py @@ -96,13 +96,14 @@ class BIM_UL_containers(UIList): ) -class BIM_PT_Storeys(Panel): - bl_label = "Spatial Manager" - bl_idname = "BIM_PT_Storeys" - bl_space_type = "VIEW_3D" - bl_region_type = "UI" +class BIM_PT_SpatialManager(Panel): + bl_label = "IFC Spatial Manager" + bl_idname = "BIM_PT_SpatialManager" + bl_space_type = "PROPERTIES" + bl_region_type = "WINDOW" + bl_context = "scene" bl_options = {"DEFAULT_CLOSED"} - bl_parent_id = "BIM_PT_GridsSpatialManager" + bl_parent_id = "BIM_PT_project_setup" @classmethod def poll(cls, context): From 1c17cccc45f29112bb896ea6161c541b75aaf9e3 Mon Sep 17 00:00:00 2001 From: Sigma Dimensions <79010126+myoualid@users.noreply.github.com> Date: Tue, 13 Jun 2023 10:34:21 +0100 Subject: [PATCH 090/225] fix missing import --- src/blenderbim/blenderbim/bim/module/boundary/operator.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/blenderbim/blenderbim/bim/module/boundary/operator.py b/src/blenderbim/blenderbim/bim/module/boundary/operator.py index cf747e6d67..5eb502edea 100644 --- a/src/blenderbim/blenderbim/bim/module/boundary/operator.py +++ b/src/blenderbim/blenderbim/bim/module/boundary/operator.py @@ -35,6 +35,7 @@ from mathutils import Vector, Matrix from blenderbim.bim.ifc import IfcStore from blenderbim.bim.module.model.decorator import ProfileDecorator from blenderbim.bim.module.boundary.decorator import BoundaryDecorator +import blenderbim.core def get_boundaries_collection(blender_space): From d2f4f0d8c2bd6faf65df3b456df44c92352d9e11 Mon Sep 17 00:00:00 2001 From: Sigma Dimensions <79010126+myoualid@users.noreply.github.com> Date: Tue, 13 Jun 2023 13:26:53 +0100 Subject: [PATCH 091/225] experimental patch of non parametric mep segments --- .../blenderbim/bim/module/misc/ui.py | 2 ++ .../blenderbim/bim/module/model/__init__.py | 1 + .../blenderbim/bim/module/model/profile.py | 20 ++++++++++++++ src/blenderbim/blenderbim/core/material.py | 16 +++++++++++ src/blenderbim/blenderbim/core/tool.py | 5 ++++ src/blenderbim/blenderbim/tool/material.py | 27 +++++++++++++++++++ src/blenderbim/blenderbim/tool/profile.py | 13 +++++++++ 7 files changed, 84 insertions(+) diff --git a/src/blenderbim/blenderbim/bim/module/misc/ui.py b/src/blenderbim/blenderbim/bim/module/misc/ui.py index e706fc4caf..910f4a003d 100644 --- a/src/blenderbim/blenderbim/bim/module/misc/ui.py +++ b/src/blenderbim/blenderbim/bim/module/misc/ui.py @@ -50,6 +50,8 @@ class BIM_PT_misc_utilities(bpy.types.Panel): row.operator("bim.draw_system_arrows") row = layout.row() row.operator("bim.clean_wireframes") + row = layout.row() + row.operator("bim.patch_non_parametric_mep_segment") row = layout.row(align=True) row.operator("bim.enable_editing_sketch_extrusion_profile", text="Start Sketching") diff --git a/src/blenderbim/blenderbim/bim/module/model/__init__.py b/src/blenderbim/blenderbim/bim/module/model/__init__.py index 0ea3b71e36..e8d03ee05a 100644 --- a/src/blenderbim/blenderbim/bim/module/model/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/model/__init__.py @@ -86,6 +86,7 @@ classes = ( profile.ExtendProfile, profile.RecalculateProfile, profile.Rotate90, + profile.PatchNonParametricMepSegment, roof.GenerateHippedRoof, slab.DisableEditingExtrusionProfile, slab.DisableEditingSketchExtrusionProfile, diff --git a/src/blenderbim/blenderbim/bim/module/model/profile.py b/src/blenderbim/blenderbim/bim/module/model/profile.py index 172484aa9b..113b192da4 100644 --- a/src/blenderbim/blenderbim/bim/module/model/profile.py +++ b/src/blenderbim/blenderbim/bim/module/model/profile.py @@ -28,6 +28,7 @@ import blenderbim.bim.handler import blenderbim.tool as tool import blenderbim.core.type import blenderbim.core.geometry +import blenderbim.core.material from math import pi, degrees, inf from mathutils import Vector, Matrix, Quaternion from blenderbim.bim.module.geometry.helper import Helper @@ -857,6 +858,25 @@ class Rotate90(bpy.types.Operator, tool.Ifc.Operator): return {"FINISHED"} +class PatchNonParametricMepSegment(bpy.types.Operator, tool.Ifc.Operator): + bl_idname = "bim.patch_non_parametric_mep_segment" + bl_label = "Set MEP segment Material Profile" + bl_options = {"REGISTER", "UNDO"} + + @classmethod + def poll(cls, context): + return context.active_object + + def _execute(self, context): + styles = tool.Geometry.get_styles(context.active_object) + blenderbim.core.material.patch_non_parametric_mep_segment( + tool.Ifc, tool.Material, tool.Profile, obj=context.active_object + ) + bpy.ops.bim.enable_editing_extrusion_axis() + bpy.ops.bim.edit_extrusion_axis() + styles = tool.Geometry.get_styles(context.active_object) + + class EnableEditingExtrusionAxis(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.enable_editing_extrusion_axis" bl_label = "Enable Editing Extrusion Axis" diff --git a/src/blenderbim/blenderbim/core/material.py b/src/blenderbim/blenderbim/core/material.py index 6203a53fe8..603f02ab75 100644 --- a/src/blenderbim/blenderbim/core/material.py +++ b/src/blenderbim/blenderbim/core/material.py @@ -119,3 +119,19 @@ def unassign_material(ifc, material_tool, objects): ifc.run("material.unassign_material", product=element_type) elif material: ifc.run("material.unassign_material", product=element) + + +def patch_non_parametric_mep_segment(ifc, material_tool, profile_tool, obj): + element = ifc.get_entity(obj) + if not element: + return + if not material_tool.is_a_flow_segment(element): + return + has_material_profile = material_tool.has_material_profile(element) + if has_material_profile: + return + representation_profile = profile_tool.get_profile(element) + if not representation_profile: + return + material_profile = material_tool.replace_material_with_material_profile(element=element) + ifc.run("material.assign_profile", material_profile=material_profile, profile=representation_profile) diff --git a/src/blenderbim/blenderbim/core/tool.py b/src/blenderbim/blenderbim/core/tool.py index 0675b29359..4be2e93a27 100644 --- a/src/blenderbim/blenderbim/core/tool.py +++ b/src/blenderbim/blenderbim/core/tool.py @@ -447,11 +447,14 @@ class Material: def get_material(cls, element, should_inherit): pass def get_name(cls, obj): pass def get_type(cls, element): pass + def has_material_profile(cls, element): pass def import_material_definitions(cls, material_type): pass + def is_a_flow_segment(cls, element): pass def is_a_material_set(cls, material): pass def is_editing_materials(cls): pass def is_material_used_in_sets(cls, material): pass def load_material_attributes(cls, material): pass + def replace_material_with_material_profile(cls, element): pass @interface @@ -551,6 +554,8 @@ class Project: @interface class Profile: def draw_image_for_ifc_profile(cls, draw, profile, size): pass + def is_editing_profile(cls): pass + def get_profile(cls, element): pass @interface diff --git a/src/blenderbim/blenderbim/tool/material.py b/src/blenderbim/blenderbim/tool/material.py index 3047c605e8..7542e08eef 100644 --- a/src/blenderbim/blenderbim/tool/material.py +++ b/src/blenderbim/blenderbim/tool/material.py @@ -193,3 +193,30 @@ class Material(blenderbim.core.tool.Material): material=material, profile=profile, ) + + @classmethod + def has_material_profile(cls, element): + material = cls.get_material(element, should_inherit=False) + inherited_material = cls.get_material(element, should_inherit=True) + if material and "Profile" in material.is_a(): + return True + if inherited_material and "Profile" in inherited_material.is_a(): + return True + return False + + @classmethod + def is_a_flow_segment(cls, element): + return element.is_a("IfcFlowSegment") + + @classmethod + def replace_material_with_material_profile(cls, element): + old_material = cls.get_material(element, should_inherit=False) + old_inherited_material = cls.get_material(element, should_inherit=True) + blenderbim.core.material.unassign_material(tool.Ifc, tool.Material, objects=[tool.Ifc.get_object(element)]) + tool.Ifc.run("material.assign_material", product=element, type="IfcMaterialProfileSet") + assinged_material = cls.get_material(element) + material = old_material if old_material and old_material.is_a("IfcMaterial") else None + if not material and old_inherited_material: + material = old_inherited_material if old_inherited_material.is_a("IfcMaterial") else None + material_profile = tool.Ifc.run("material.add_profile", profile_set=assinged_material, material=material) + return material_profile diff --git a/src/blenderbim/blenderbim/tool/profile.py b/src/blenderbim/blenderbim/tool/profile.py index 1c13fcd3d9..1a1fd9f949 100644 --- a/src/blenderbim/blenderbim/tool/profile.py +++ b/src/blenderbim/blenderbim/tool/profile.py @@ -57,3 +57,16 @@ class Profile(blenderbim.core.tool.Profile): @classmethod def is_editing_profile(cls): return ProfileDecorator.installed + + @classmethod + def get_profile(cls, element): + representations = element.Representation + for representation in representations.Representations: + if not representation.is_a("IfcShapeRepresentation"): + continue + for representation_item in representation.Items: + if representation_item.is_a("IfcExtrudedAreaSolid"): + profile = representation_item.SweptArea + if profile: + return profile + return None From a8f1a28ac2586c7bdef2d4e087431bd64452a6b8 Mon Sep 17 00:00:00 2001 From: Sigma Dimensions <79010126+myoualid@users.noreply.github.com> Date: Tue, 13 Jun 2023 14:04:28 +0100 Subject: [PATCH 092/225] fix replacing material with material profile --- src/blenderbim/blenderbim/tool/material.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/blenderbim/blenderbim/tool/material.py b/src/blenderbim/blenderbim/tool/material.py index 7542e08eef..6207c5828d 100644 --- a/src/blenderbim/blenderbim/tool/material.py +++ b/src/blenderbim/blenderbim/tool/material.py @@ -212,11 +212,14 @@ class Material(blenderbim.core.tool.Material): def replace_material_with_material_profile(cls, element): old_material = cls.get_material(element, should_inherit=False) old_inherited_material = cls.get_material(element, should_inherit=True) - blenderbim.core.material.unassign_material(tool.Ifc, tool.Material, objects=[tool.Ifc.get_object(element)]) - tool.Ifc.run("material.assign_material", product=element, type="IfcMaterialProfileSet") - assinged_material = cls.get_material(element) material = old_material if old_material and old_material.is_a("IfcMaterial") else None if not material and old_inherited_material: material = old_inherited_material if old_inherited_material.is_a("IfcMaterial") else None + if not material: + material = tool.Ifc.get().by_type("IfcMaterial")[0] + else: + blenderbim.core.material.unassign_material(tool.Ifc, tool.Material, objects=[tool.Ifc.get_object(element)]) + tool.Ifc.run("material.assign_material", product=element, type="IfcMaterialProfileSet", material=material) + assinged_material = cls.get_material(element) material_profile = tool.Ifc.run("material.add_profile", profile_set=assinged_material, material=material) return material_profile From 81fd84223a4670bd3c374906f429318bc53fbbee Mon Sep 17 00:00:00 2001 From: Sigma Dimensions <79010126+myoualid@users.noreply.github.com> Date: Tue, 13 Jun 2023 21:17:02 +0100 Subject: [PATCH 093/225] Enable selecting a container's children from the IFC Spatial Manager panel --- .../blenderbim/bim/module/spatial/__init__.py | 1 + .../blenderbim/bim/module/spatial/operator.py | 10 ++++++++++ src/blenderbim/blenderbim/bim/module/spatial/ui.py | 1 + src/blenderbim/blenderbim/core/spatial.py | 5 +++++ src/blenderbim/blenderbim/tool/spatial.py | 4 ++-- 5 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/spatial/__init__.py b/src/blenderbim/blenderbim/bim/module/spatial/__init__.py index 56f03cdc27..76b5532d28 100644 --- a/src/blenderbim/blenderbim/bim/module/spatial/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/spatial/__init__.py @@ -37,6 +37,7 @@ classes = ( operator.ContractContainer, operator.ExpandContainer, operator.DeleteContainer, + operator.SelectDecomposedElements, prop.SpatialElement, prop.BIMSpatialProperties, prop.BIMObjectSpatialProperties, diff --git a/src/blenderbim/blenderbim/bim/module/spatial/operator.py b/src/blenderbim/blenderbim/bim/module/spatial/operator.py index 4cc2298ec8..451ee442ac 100644 --- a/src/blenderbim/blenderbim/bim/module/spatial/operator.py +++ b/src/blenderbim/blenderbim/bim/module/spatial/operator.py @@ -246,3 +246,13 @@ class AddBuildingStorey(bpy.types.Operator, tool.Ifc.Operator): part_name="Unnamed", ) core.load_container_manager(tool.Spatial) + + +class SelectDecomposedElements(bpy.types.Operator, tool.Ifc.Operator): + bl_idname = "bim.select_decomposed_elements" + bl_label = "Select Children" + bl_options = {"REGISTER", "UNDO"} + + def _execute(self, context): + core.select_decomposed_elements(tool.Spatial) + return {"FINISHED"} diff --git a/src/blenderbim/blenderbim/bim/module/spatial/ui.py b/src/blenderbim/blenderbim/bim/module/spatial/ui.py index f1727acd58..e51060e9c0 100644 --- a/src/blenderbim/blenderbim/bim/module/spatial/ui.py +++ b/src/blenderbim/blenderbim/bim/module/spatial/ui.py @@ -119,6 +119,7 @@ class BIM_PT_SpatialManager(Panel): ifc_definition_id = self.props.containers[self.props.active_container_index].ifc_definition_id row = self.layout.row() row.alignment = "RIGHT" + row.operator("bim.select_decomposed_elements", icon="RESTRICT_SELECT_OFF", text="Select Children") if SpatialData.data["containers"][ifc_definition_id]["type"] in ["IfcBuildingStorey", "IfcBuilding"]: row.operator("bim.add_building_storey", icon="ADD", text="Add storey").part_class = "IfcBuildingStorey" row.operator("bim.delete_container", icon="X", text="Delete").container = ifc_definition_id diff --git a/src/blenderbim/blenderbim/core/spatial.py b/src/blenderbim/blenderbim/core/spatial.py index 0bbbf614f4..fb75dd2671 100644 --- a/src/blenderbim/blenderbim/core/spatial.py +++ b/src/blenderbim/blenderbim/core/spatial.py @@ -115,3 +115,8 @@ def expand_container(spatial, container=None): def delete_container(ifc, spatial, geometry, container=None): geometry.delete_ifc_object(ifc.get_object(container)) spatial.load_container_manager() + +def select_decomposed_elements(spatial): + container = spatial.get_active_container() + if container: + spatial.select_products(spatial.get_decomposed_elements(container)) diff --git a/src/blenderbim/blenderbim/tool/spatial.py b/src/blenderbim/blenderbim/tool/spatial.py index b88d87aa4b..95369338fd 100644 --- a/src/blenderbim/blenderbim/tool/spatial.py +++ b/src/blenderbim/blenderbim/tool/spatial.py @@ -203,7 +203,7 @@ class Spatial(blenderbim.core.tool.Spatial): cls.props.is_container_update_enabled = False parent = tool.Ifc.get().by_type("IfcProject")[0] - for object in ifcopenshell.util.element.get_parts(parent): + for object in ifcopenshell.util.element.get_parts(parent) or []: if object.is_a("IfcSpatialElement"): cls.create_new_storey_li(object, 0) cls.props.is_container_update_enabled = True @@ -222,7 +222,7 @@ class Spatial(blenderbim.core.tool.Spatial): if new.has_decomposition: new.has_children = True if new.is_expanded: - for related_object in ifcopenshell.util.element.get_parts(element): + for related_object in ifcopenshell.util.element.get_parts(element) or []: if related_object.is_a("IfcSpatialElement"): cls.create_new_storey_li(related_object, level_index + 1) From fb02ac34d4e452dede4d4922bf14fd3c859d692a Mon Sep 17 00:00:00 2001 From: Sigma Dimensions <79010126+myoualid@users.noreply.github.com> Date: Wed, 14 Jun 2023 09:35:54 +0100 Subject: [PATCH 094/225] Enable selecting group elements --- .../blenderbim/bim/module/group/__init__.py | 1 + .../blenderbim/bim/module/group/operator.py | 16 ++++++++++++++++ src/blenderbim/blenderbim/bim/module/group/ui.py | 1 + 3 files changed, 18 insertions(+) diff --git a/src/blenderbim/blenderbim/bim/module/group/__init__.py b/src/blenderbim/blenderbim/bim/module/group/__init__.py index 8dda1b596b..3f51d01082 100644 --- a/src/blenderbim/blenderbim/bim/module/group/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/group/__init__.py @@ -33,6 +33,7 @@ classes = ( operator.ToggleGroup, operator.UnassignGroup, operator.UpdateGroup, + operator.SelectGroupElements, prop.ExpandedGroups, prop.Group, prop.BIMGroupProperties, diff --git a/src/blenderbim/blenderbim/bim/module/group/operator.py b/src/blenderbim/blenderbim/bim/module/group/operator.py index 2e04c960fa..27aa6ec8e7 100644 --- a/src/blenderbim/blenderbim/bim/module/group/operator.py +++ b/src/blenderbim/blenderbim/bim/module/group/operator.py @@ -275,3 +275,19 @@ class UpdateGroup(bpy.types.Operator, tool.Ifc.Operator): ) bpy.ops.bim.load_groups() return {"FINISHED"} + + +class SelectGroupElements(bpy.types.Operator): + bl_idname = "bim.select_group_elements" + bl_label = "Select Group elements" + bl_options = {"REGISTER", "UNDO"} + group: bpy.props.IntProperty() + + @classmethod + def poll(cls, context): + return bool(tool.Ifc.get() and context.active_object) + + def execute(self, context): + elements = tool.Drawing.get_group_elements(tool.Ifc.get().by_id(self.group)) + tool.Spatial.select_products(elements) + return {"FINISHED"} diff --git a/src/blenderbim/blenderbim/bim/module/group/ui.py b/src/blenderbim/blenderbim/bim/module/group/ui.py index 16cf339f6e..874d239bf2 100644 --- a/src/blenderbim/blenderbim/bim/module/group/ui.py +++ b/src/blenderbim/blenderbim/bim/module/group/ui.py @@ -107,6 +107,7 @@ class BIM_PT_object_groups(Panel): for group in ObjectGroupsData.data["groups"]: row = self.layout.row(align=True) row.label(text=group["name"]) + row.operator("bim.select_group_elements", text="", icon="RESTRICT_SELECT_OFF").group = group["id"] op = row.operator("bim.unassign_group", text="", icon="X") op.group = group["id"] From 6a287ced7cfb32252394d046120cad8f83469913 Mon Sep 17 00:00:00 2001 From: Sigma Dimensions <79010126+myoualid@users.noreply.github.com> Date: Wed, 14 Jun 2023 10:47:00 +0100 Subject: [PATCH 095/225] temporarily hide IFC Spatial Manager for IFC2X3 models --- src/blenderbim/blenderbim/bim/module/spatial/ui.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/blenderbim/blenderbim/bim/module/spatial/ui.py b/src/blenderbim/blenderbim/bim/module/spatial/ui.py index e51060e9c0..e6d0c62432 100644 --- a/src/blenderbim/blenderbim/bim/module/spatial/ui.py +++ b/src/blenderbim/blenderbim/bim/module/spatial/ui.py @@ -107,7 +107,7 @@ class BIM_PT_SpatialManager(Panel): @classmethod def poll(cls, context): - return tool.Ifc.get() + return tool.Ifc.get() and tool.Ifc.schema().name() != "IFC2X3" def draw(self, context): if not SpatialData.is_loaded: From 9411a1d94bf597a5c2b2ae4e1f5839a1b3564dbd Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Wed, 14 Jun 2023 11:45:39 +0200 Subject: [PATCH 096/225] #3305 one more iteration on lower fuzziness level for boolean ops --- src/ifcgeom_schema_agnostic/boolean_utils.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ifcgeom_schema_agnostic/boolean_utils.cpp b/src/ifcgeom_schema_agnostic/boolean_utils.cpp index 442035d11e..f8815523ab 100644 --- a/src/ifcgeom_schema_agnostic/boolean_utils.cpp +++ b/src/ifcgeom_schema_agnostic/boolean_utils.cpp @@ -845,7 +845,7 @@ bool IfcGeom::util::boolean_operation(const boolean_settings& settings, const To } if (fuzziness < 0.) { - fuzziness = settings.precision / 10.; + fuzziness = settings.precision / 100.; } // @todo, it does seem a bit odd, we first triangulate non-planar faces From 4bbb6cd2dffe94622a51a391b5014f7d51840f9f Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Wed, 14 Jun 2023 11:46:34 +0200 Subject: [PATCH 097/225] #3305 Less pessimistic tolerance comparison in newells method --- src/ifcgeom_schema_agnostic/wire_utils.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ifcgeom_schema_agnostic/wire_utils.cpp b/src/ifcgeom_schema_agnostic/wire_utils.cpp index ab12ea76f2..b2a2eb50b0 100644 --- a/src/ifcgeom_schema_agnostic/wire_utils.cpp +++ b/src/ifcgeom_schema_agnostic/wire_utils.cpp @@ -84,7 +84,7 @@ bool IfcGeom::util::approximate_plane_through_wire(const TopoDS_Wire& wire, gp_P // the given points to the constructed plane. When doing triangulation and // obtaining a 2d points for the Delaunay, infinity is passed here, so this // can't for assessing degenerativeness. - if (v.SquareMagnitude() < 1.e-7) { + if (v.Magnitude() < 1.e-7) { Logger::Warning("Degenerate face boundary in normal estimation"); return false; } From f26cfc93eadcf9609fafb30187052a2ed5fd411d Mon Sep 17 00:00:00 2001 From: Massimo Fabbro Date: Tue, 6 Jun 2023 21:48:25 +0200 Subject: [PATCH 098/225] Now generate spaces from walls considers also columns in order to create the contours --- .../blenderbim/bim/module/model/space.py | 29 +++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/model/space.py b/src/blenderbim/blenderbim/bim/module/model/space.py index b64ec3a5fa..2010639e0f 100644 --- a/src/blenderbim/blenderbim/bim/module/model/space.py +++ b/src/blenderbim/blenderbim/bim/module/model/space.py @@ -26,7 +26,7 @@ import blenderbim.tool as tool import blenderbim.core.type from math import pi from mathutils import Vector, Matrix -from shapely import Polygon +from shapely import Polygon, MultiPolygon class GenerateSpace(bpy.types.Operator, tool.Ifc.Operator): @@ -231,6 +231,8 @@ class GenerateSpacesFromWalls(bpy.types.Operator, tool.Ifc.Operator): union = shapely.ops.unary_union(polys).buffer(converted_tolerance, cap_style=2, join_style=2) + union = self.get_purged_inner_holes_poly(union_geom = union, min_area = self.get_converted_tolerance(tolerance = 3)) + for i, linear_ring in enumerate(union.interiors): poly = Polygon(linear_ring) poly = poly.buffer(converted_tolerance, single_sided=True, cap_style=2, join_style=2) @@ -261,7 +263,7 @@ class GenerateSpacesFromWalls(bpy.types.Operator, tool.Ifc.Operator): boundary_elements = [] for obj in selected_objects: subelement = tool.Ifc.get_entity(obj) - if subelement.is_a("IfcWall"): + if subelement.is_a("IfcWall") or subelement.is_a("IfcColumn"): boundary_elements.append(subelement) return boundary_elements @@ -304,6 +306,29 @@ class GenerateSpacesFromWalls(bpy.types.Operator, tool.Ifc.Operator): ) return tolerance + def get_purged_inner_holes_poly(self, union_geom, min_area): + interiors_list = [] + + if union_geom.geom_type == "MultiPolygon": + for poly in union_geom.geoms: + interiors_list = self.get_poly_valid_interior_list(poly = poly, min_area = min_area, interiors_list = interiors_list) + + new_poly = Polygon(poly.exterior.coords, holes = interiors_list) + + if union_geom.geom_type == "Polygon": + interiors_list = self.get_poly_valid_interior_list(poly = union_geom, min_area = min_area, interiors_list = interiors_list) + new_poly = Polygon(union_geom.exterior.coords, holes = interiors_list) + + return new_poly + + def get_poly_valid_interior_list(self, poly, min_area, interiors_list): + for interior in poly.interiors: + p = Polygon(interior) + if p.area >= min_area: + interiors_list.append(interior) + return interiors_list + + def get_bmesh_from_polygon(self, poly, mat, h): bm = bmesh.new() bm.verts.index_update() From 4bc987924dc7a9bfb5b075764dbb2f383e078d47 Mon Sep 17 00:00:00 2001 From: Sigma Dimensions <79010126+myoualid@users.noreply.github.com> Date: Wed, 14 Jun 2023 13:10:44 +0100 Subject: [PATCH 099/225] enable activating object type when trying to select type from an object ( whilst the type is hidden from view layer) --- src/blenderbim/blenderbim/bim/module/type/operator.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/type/operator.py b/src/blenderbim/blenderbim/bim/module/type/operator.py index b7f825d10f..8532b2717b 100644 --- a/src/blenderbim/blenderbim/bim/module/type/operator.py +++ b/src/blenderbim/blenderbim/bim/module/type/operator.py @@ -141,14 +141,10 @@ class SelectType(bpy.types.Operator): def execute(self, context): element = tool.Ifc.get().by_id(self.relating_type) + tool.Spatial.select_products([element]) obj = tool.Ifc.get_object(element) if obj: - if obj in context.selectable_objects: - tool.Blender.select_and_activate_single_object(context, obj) - else: - self.report({"INFO"}, "Type object can't be selected : It may be hidden or in an excluded collection.") - context.scene.BIMModelProperties.ifc_class = element.is_a() - context.scene.BIMModelProperties.relating_type_id = str(self.relating_type) + context.view_layer.objects.active = obj return {"FINISHED"} From ff209b4c114ae55e2a7fa25691db5d564f60e8c9 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Thu, 15 Jun 2023 16:18:29 +0200 Subject: [PATCH 100/225] #2819 Mark rep id as AdvancedBrep --- src/ifcgeom/Serialization.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/ifcgeom/Serialization.cpp b/src/ifcgeom/Serialization.cpp index a6c5521374..7a4f346528 100644 --- a/src/ifcgeom/Serialization.cpp +++ b/src/ifcgeom/Serialization.cpp @@ -616,7 +616,7 @@ IfcUtil::IfcBaseClass* IfcGeom::MAKE_TYPE_NAME(serialise_)(const TopoDS_Shape& s } if (items->size() > 0) { - rep = new IfcSchema::IfcShapeRepresentation(0, std::string("Body"), std::string("Brep"), items); + rep = new IfcSchema::IfcShapeRepresentation(0, std::string("Body"), advanced ? std::string("AdvancedBrep") : std::string("Brep"), items); } else { // If not, see if there is a shell @@ -631,7 +631,7 @@ IfcUtil::IfcBaseClass* IfcGeom::MAKE_TYPE_NAME(serialise_)(const TopoDS_Shape& s if (shells->size() > 0) { items->push(new IfcSchema::IfcShellBasedSurfaceModel(shells->generalize())); - rep = new IfcSchema::IfcShapeRepresentation(0, std::string("Body"), std::string("Brep"), items); + rep = new IfcSchema::IfcShapeRepresentation(0, std::string("Body"), advanced ? std::string("AdvancedBrep") : std::string("Brep"), items); } else { // If not, see if there is are one of more faces. Note that they will be grouped into a shell. @@ -640,7 +640,7 @@ IfcUtil::IfcBaseClass* IfcGeom::MAKE_TYPE_NAME(serialise_)(const TopoDS_Shape& s if (face_count > 0) { items->push(shell); - rep = new IfcSchema::IfcShapeRepresentation(0, std::string("Body"), std::string("Brep"), items); + rep = new IfcSchema::IfcShapeRepresentation(0, std::string("Body"), advanced ? std::string("AdvancedBrep") : std::string("Brep"), items); } else { // If not, see if there are any edges. Note that wires are skipped as From 206933a2f25c29a1c4b3cb9ed79122c992c75a61 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Thu, 15 Jun 2023 16:18:48 +0200 Subject: [PATCH 101/225] #2819 Handle periodic bspline curves in serialization --- src/ifcgeom/Serialization.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/ifcgeom/Serialization.cpp b/src/ifcgeom/Serialization.cpp index 7a4f346528..8eabd1732b 100644 --- a/src/ifcgeom/Serialization.cpp +++ b/src/ifcgeom/Serialization.cpp @@ -18,6 +18,8 @@ #include "IfcGeom.h" +#include + template int convert_to_ifc(const T& t, U*& u, bool /*advanced*/) { std::vector coords(3); @@ -220,6 +222,15 @@ int convert_to_ifc(const Handle_Geom_Curve& c, IfcSchema::IfcCurve*& curve, bool } } + if (bspline->IsPeriodic() && points->size()) { + points->push(*points->begin()); + weights.push_back(weights[0]); + auto sum = std::accumulate(mults.begin(), mults.end(), 0); + auto d = sum - (bspline->Degree() + (int)points->size() + 1); + (*mults.begin()) -= d / 2; + (*mults.rbegin()) -= d / 2; + } + if (rational) { curve = new IfcSchema::IfcRationalBSplineCurveWithKnots( bspline->Degree(), From 840818d681ea3159948d7aff6e1a0ec17e69e785 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Thu, 15 Jun 2023 21:27:42 +0200 Subject: [PATCH 102/225] #3308 add assert --- src/ifcgeom_schema_agnostic/Kernel.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/ifcgeom_schema_agnostic/Kernel.h b/src/ifcgeom_schema_agnostic/Kernel.h index 06d4dd079b..abeb159a1a 100644 --- a/src/ifcgeom_schema_agnostic/Kernel.h +++ b/src/ifcgeom_schema_agnostic/Kernel.h @@ -11,6 +11,9 @@ #include #include +#ifndef SCHEMA_SEQ +static_assert(false, "A boost preprocessor sequence of schema identifiers is needed for this file to compile."); +#endif // @tfk A macro cannot define an include (I think), so here we can't // loop over the sequence of schema identifiers, but rather we have @@ -168,4 +171,4 @@ namespace IfcGeom { }; } -#endif \ No newline at end of file +#endif From bac683e105977c66f92ead2ff9152a8d3d66a319 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Fri, 16 Jun 2023 13:22:01 +1000 Subject: [PATCH 103/225] Fix bug for getting psets of materials and profiles in IFC2X3 --- src/ifcopenshell-python/ifcopenshell/util/element.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ifcopenshell-python/ifcopenshell/util/element.py b/src/ifcopenshell-python/ifcopenshell/util/element.py index 6f576f893b..23b5b9172e 100644 --- a/src/ifcopenshell-python/ifcopenshell/util/element.py +++ b/src/ifcopenshell-python/ifcopenshell/util/element.py @@ -121,7 +121,7 @@ def get_psets(element, psets_only=False, qtos_only=False, should_inherit=True): continue psets[definition.Name] = get_property_definition(definition) elif element.is_a("IfcMaterialDefinition") or element.is_a("IfcProfileDef"): - for definition in element.HasProperties or []: + for definition in getattr(element, "HasProperties", None) or []: if qtos_only: continue psets[definition.Name] = get_property_definition(definition) From 47cc3158fdc358ded066a5f83d54eaeacdb09955 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Fri, 16 Jun 2023 13:22:33 +1000 Subject: [PATCH 104/225] IfcPatch can now support patches that write to arbitrary files or have no output. --- src/ifcpatch/ifcpatch/__init__.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/ifcpatch/ifcpatch/__init__.py b/src/ifcpatch/ifcpatch/__init__.py index 3ad25ee8b3..549990e06a 100644 --- a/src/ifcpatch/ifcpatch/__init__.py +++ b/src/ifcpatch/ifcpatch/__init__.py @@ -18,9 +18,9 @@ # You should have received a copy of the GNU Lesser General Public License # along with IfcPatch. If not, see . +import os import ifcopenshell import logging -import os import typing import inspect import collections @@ -95,9 +95,14 @@ def write(output, filepath): :return: None :rtype: None """ - if isinstance(output, str): - with open(filepath, "w") as text_file: - text_file.write(output) + if output is None: + return + elif isinstance(output, str): + if os.path.exists(output): + os.rename(output, filepath) + else: + with open(filepath, "w") as text_file: + text_file.write(output) else: output.write(filepath) From 1365b7614994803989cf6ae1955d6f366df42fe4 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Fri, 16 Jun 2023 13:23:43 +1000 Subject: [PATCH 105/225] Lazily check for BBIM_Railing psets to prevent unnecessarily fetching psets for every element when loading models. --- src/blenderbim/blenderbim/bim/import_ifc.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/import_ifc.py b/src/blenderbim/blenderbim/bim/import_ifc.py index def8c6e939..2b95a36f1f 100644 --- a/src/blenderbim/blenderbim/bim/import_ifc.py +++ b/src/blenderbim/blenderbim/bim/import_ifc.py @@ -410,19 +410,19 @@ class IfcImporter: return True def is_native_swept_disk_solid(self, element, representations): - # detect BBIM Railings to represent them with meshes and not curves - if tool.Pset.get_element_pset(element, "BBIM_Railing"): - return False - for representation in representations: items = representation["raw"].Items or [] # Be forgiving of invalid IFCs because Revit :( if len(items) == 1 and items[0].is_a("IfcSweptDiskSolid"): + if tool.Pset.get_element_pset(element, "BBIM_Railing"): + return False return True elif len(items) and ( # See #2508 why we accommodate for invalid IFCs here items[0].is_a("IfcSweptDiskSolid") and len({i.is_a() for i in items}) == 1 and len({i.Radius for i in items}) == 1 ): + if tool.Pset.get_element_pset(element, "BBIM_Railing"): + return False return True return False From f9b6e6f098143689006c6dbad1837ce599d2d3b4 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Fri, 16 Jun 2023 13:24:26 +1000 Subject: [PATCH 106/225] Fetch pset and qto names via pset data instead of real time to prevent UI lag on larger models. --- .../blenderbim/bim/module/pset/data.py | 33 +++++++++++++++++ .../blenderbim/bim/module/pset/prop.py | 35 ++++++------------- 2 files changed, 44 insertions(+), 24 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/pset/data.py b/src/blenderbim/blenderbim/bim/module/pset/data.py index 4e763fe276..f30f298dc7 100644 --- a/src/blenderbim/blenderbim/bim/module/pset/data.py +++ b/src/blenderbim/blenderbim/bim/module/pset/data.py @@ -18,7 +18,9 @@ import bpy import ifcopenshell +import ifcopenshell.util.doc import blenderbim.tool as tool +import blenderbim.bim.schema # TODO: Should this cache belong here? Dunno. Maybe. @@ -67,6 +69,8 @@ class ObjectPsetsData(Data): cls.data = { "psets": cls.psetqtos(tool.Ifc.get_entity(bpy.context.active_object), psets_only=True), "inherited_psets": cls.inherited_psets(), + "pset_name": cls.pset_name(), + "qto_name": cls.qto_name(), } cls.is_loaded = True @@ -79,6 +83,35 @@ class ObjectPsetsData(Data): if element_type: return cls.psetqtos(element_type) + @classmethod + def pset_name(cls): + obj = bpy.context.active_object + element = tool.Ifc.get_entity(obj) + if not element: + return [] + psets = blenderbim.bim.schema.ifc.psetqto.get_applicable(element.is_a(), pset_only=True) + psetnames = cls.format_pset_enum(psets) + assigned_names = ifcopenshell.util.element.get_psets(element, psets_only=True).keys() + return [p for p in psetnames if p[0] not in assigned_names] + + @classmethod + def qto_name(cls): + obj = bpy.context.active_object + element = tool.Ifc.get_entity(obj) + if not element: + return [] + qtos = blenderbim.bim.schema.ifc.psetqto.get_applicable(element.is_a(), qto_only=True) + return cls.format_pset_enum(qtos) + + @classmethod + def format_pset_enum(cls, psets): + enum_items = [] + version = tool.Ifc.get_schema() + for pset in psets: + doc = ifcopenshell.util.doc.get_property_set_doc(version, pset.Name) or {} + enum_items.append((pset.Name, pset.Name, doc.get("description", ""))) + return enum_items + class ObjectQtosData(Data): data = {} diff --git a/src/blenderbim/blenderbim/bim/module/pset/prop.py b/src/blenderbim/blenderbim/bim/module/pset/prop.py index e3a97e466b..d60828a560 100644 --- a/src/blenderbim/blenderbim/bim/module/pset/prop.py +++ b/src/blenderbim/blenderbim/bim/module/pset/prop.py @@ -22,7 +22,7 @@ import ifcopenshell import ifcopenshell.util.element import blenderbim.tool as tool from blenderbim.bim.prop import Attribute, StrProperty -from blenderbim.bim.module.pset.data import AddEditCustomPropertiesData +from blenderbim.bim.module.pset.data import AddEditCustomPropertiesData, ObjectPsetsData from blenderbim.bim.ifc import IfcStore from bpy.types import PropertyGroup from bpy.props import ( @@ -57,18 +57,10 @@ def blender_formatted_enum_from_psets(psets): return enum_items -def get_pset_names(self, context): - global psetnames - obj = context.active_object - if not obj.BIMObjectProperties.ifc_definition_id: - return [] - element = IfcStore.get_file().by_id(obj.BIMObjectProperties.ifc_definition_id) - ifc_class = element.is_a() - if ifc_class not in psetnames: - psets = blenderbim.bim.schema.ifc.psetqto.get_applicable(ifc_class, pset_only=True) - psetnames[ifc_class] = blender_formatted_enum_from_psets(psets) - assigned_names = ifcopenshell.util.element.get_psets(element, psets_only=True).keys() - return [p for p in psetnames[ifc_class] if p[0] not in assigned_names] +def get_pset_name(self, context): + if not ObjectPsetsData.is_loaded: + ObjectPsetsData.load() + return ObjectPsetsData.data["pset_name"] def get_material_pset_names(self, context): @@ -157,15 +149,10 @@ def get_work_schedule_pset_names(self, context): return psetnames[ifc_class] -def get_qto_names(self, context): - global qtonames - if "/" in context.active_object.name: - ifc_class = context.active_object.name.split("/")[0] - if ifc_class not in qtonames: - psets = blenderbim.bim.schema.ifc.psetqto.get_applicable(ifc_class, qto_only=True) - qtonames[ifc_class] = blender_formatted_enum_from_psets(psets) - return qtonames[ifc_class] - return [] +def get_qto_name(self, context): + if not ObjectPsetsData.is_loaded: + ObjectPsetsData.load() + return ObjectPsetsData.data["qto_name"] def get_template_type(self, context): @@ -197,8 +184,8 @@ class PsetProperties(PropertyGroup): active_pset_name: StringProperty(name="Pset Name") active_pset_type: StringProperty(name="Active Pset Type") properties: CollectionProperty(name="Properties", type=IfcProperty) - pset_name: EnumProperty(items=get_pset_names, name="Pset Name") - qto_name: EnumProperty(items=get_qto_names, name="Qto Name") + pset_name: EnumProperty(items=get_pset_name, name="Pset Name") + qto_name: EnumProperty(items=get_qto_name, name="Qto Name") class MaterialPsetProperties(PropertyGroup): From 8cb99a77cf74b20ff64026a57c61fc1fea7e7d35 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Fri, 16 Jun 2023 13:28:31 +1000 Subject: [PATCH 107/225] Convert Ifc2Sql script to IfcPatch recipe and add geometry support --- src/blenderbim/scripts/ifc2sql.py | 281 -------------- src/ifcpatch/ifcpatch/recipes/Ifc2Sql.py | 457 +++++++++++++++++++++++ 2 files changed, 457 insertions(+), 281 deletions(-) delete mode 100644 src/blenderbim/scripts/ifc2sql.py create mode 100644 src/ifcpatch/ifcpatch/recipes/Ifc2Sql.py diff --git a/src/blenderbim/scripts/ifc2sql.py b/src/blenderbim/scripts/ifc2sql.py deleted file mode 100644 index 33ab7a5db0..0000000000 --- a/src/blenderbim/scripts/ifc2sql.py +++ /dev/null @@ -1,281 +0,0 @@ -import os -import json -import itertools -import ifcopenshell -import ifcopenshell.util.schema -import ifcopenshell.util.attribute - -import sqlite3 -import mysql.connector - - -class Ifc2Sql: - def execute(self): - self.sql_type = "sqlite" - # self.sql_type = "mysql" - - self.full_schema = False - self.is_strict = False - self.should_get_psets = True - self.should_expand = True - self.should_get_geometry_blob = True - self.should_skip_geometry_data = True - - filepath = "/home/dion/test2.ifc" - self.file = ifcopenshell.open(filepath) - self.schema = ifcopenshell.ifcopenshell_wrapper.schema_by_name(self.file.schema) - - if self.sql_type == "sqlite": - db_file = "/home/dion/test.db" - os.remove(db_file) - self.db = sqlite3.connect(db_file) - elif self.sql_type == "mysql": - self.db = mysql.connector.connect( - host="localhost", - user="root", - password="root", - database="test" - ) - - self.create_id_map() - if self.should_get_psets: - self.create_pset_table() - - if self.full_schema: - ifc_classes = [d.name() for d in self.schema.declarations() if str(d).startswith("", attribute): + if data_type not in ("list", "set", "select", "entity"): + return False + return True + return False From a8dfed50e4529990864e203e8adce7c4bd88d0cf Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Fri, 16 Jun 2023 13:30:07 +1000 Subject: [PATCH 108/225] Minor geometry processing documentation fix --- src/ifcopenshell-python/docs/blenderbim.rst | 6 ++++++ .../docs/ifcopenshell-python/geometry_processing.rst | 5 ++++- 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 src/ifcopenshell-python/docs/blenderbim.rst diff --git a/src/ifcopenshell-python/docs/blenderbim.rst b/src/ifcopenshell-python/docs/blenderbim.rst new file mode 100644 index 0000000000..957619293d --- /dev/null +++ b/src/ifcopenshell-python/docs/blenderbim.rst @@ -0,0 +1,6 @@ +BlenderBIM Add-on +================= + +The BlenderBIM Add-on lets you analyse, create, and modify OpenBIM with +Blender. For more information, visit the `BlenderBIM Add-on website +`_. diff --git a/src/ifcopenshell-python/docs/ifcopenshell-python/geometry_processing.rst b/src/ifcopenshell-python/docs/ifcopenshell-python/geometry_processing.rst index 5bd4131902..6de1a70c48 100644 --- a/src/ifcopenshell-python/docs/ifcopenshell-python/geometry_processing.rst +++ b/src/ifcopenshell-python/docs/ifcopenshell-python/geometry_processing.rst @@ -40,7 +40,7 @@ related information in ``shape.geometry``: # A unique geometry ID, useful to check whether or not two geometries are # identical for caching and reuse. The naming scheme is: # IfcShapeRepresentation.id{-layerset-LayerSet.id}{-material-Material.id}{-openings-[Opening n.id ...]}{-world-coords} - print(shape.geometry.id()) + print(shape.geometry.id) # A 4x4 matrix representing the location and rotation of the element, in the form: # [ [ x_x, y_x, z_x, x ] @@ -59,6 +59,9 @@ related information in ``shape.geometry``: # For convenience, you might want the matrix as a nested numpy array, so you can do matrix math. matrix = ifcopenshell.util.shape.get_shape_matrix(shape) + # You can also extract the XYZ location of the matrix. + location = matrix[:,3][0:3] + # X Y Z of vertices in flattened list e.g. [v1x, v1y, v1z, v2x, v2y, v2z, ...] verts = shape.geometry.verts From 438ddc17f51308c4a1ecce5641bdbfcf715575a3 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Fri, 16 Jun 2023 14:13:15 +1000 Subject: [PATCH 109/225] Document two answers to frequently reported bugs: missing numpy and blend / ifc out of sync. --- src/blenderbim/docs/users/installation.rst | 24 ++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/src/blenderbim/docs/users/installation.rst b/src/blenderbim/docs/users/installation.rst index 9f99e358a0..713f494a4c 100644 --- a/src/blenderbim/docs/users/installation.rst +++ b/src/blenderbim/docs/users/installation.rst @@ -137,13 +137,21 @@ FAQ **Unstable installation** section to check that you have installed the correct version. -2. **I am on Ubuntu and get an error similar to "ImportError: /lib/x86_64-linux-gnu/libm.so.6: version GLIBC_2.29 not found"** +2. **I am on Ubuntu and get an error similar to "ImportError: + /lib/x86_64-linux-gnu/libm.so.6: version GLIBC_2.29 not found"** Our latest package which uses IfcOpenShell v0.7.0 is built using Ubuntu 20 LTS. If you have an older Ubuntu version, you can either upgrade to 19.10 or above, or you'll need to compile IfcOpenShell yourself. -3. **Some other error prevents me from installing or doing basic functions with +3. **I get an error saying "ModuleNotFoundError: No module named 'numpy'"**" + + If you have installed Blender from another source instead of from + `Blender.org `__, such as from your + distro's package repositories, then you may be missing some modules like + ``numpy``. Try installing it manually like ``apt install python-numpy``. + +4. **Some other error prevents me from installing or doing basic functions with the add-on. Is it specific to my environment?** Sometimes it is helpful to try installing and using the BlenderBIM Add-on on @@ -157,3 +165,15 @@ FAQ If this fixes your issue, consider disabling other add-ons one by one until you find a conflict as a next step to isolating the issue. + +5. **I get an error similar to RuntimeError: Instance #1234 not found** + + Blender saves and loads projects to a ``.blend`` file. However. the + BlenderBIM Add-on works with native IFC, and this means instead of saving + and loading ``.blend`` files, you should instead save and load the ``.ifc`` + project. + + If you have opened a ``.blend`` file, there is a risk that the contents of + the ``.blend`` session do not correlate to the contents of the ``.ifc``, + which can cause this error. Unless you are an advanced user, only save and + load ``.ifc`` files. From 704e27eccab4dff8df5f04bd5e3360c91525da52 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Fri, 16 Jun 2023 16:16:22 +1000 Subject: [PATCH 110/225] Build testing prototype of an SQLite based file / entity_instance. --- .../ifcopenshell/__init__.py | 3 + src/ifcopenshell-python/ifcopenshell/sql.py | 457 ++++++++++++++++++ .../ifcopenshell/util/file.py | 4 +- src/ifcpatch/ifcpatch/recipes/Ifc2Sql.py | 29 +- 4 files changed, 491 insertions(+), 2 deletions(-) create mode 100644 src/ifcopenshell-python/ifcopenshell/sql.py diff --git a/src/ifcopenshell-python/ifcopenshell/__init__.py b/src/ifcopenshell-python/ifcopenshell/__init__.py index 4b08dc3907..e655940794 100644 --- a/src/ifcopenshell-python/ifcopenshell/__init__.py +++ b/src/ifcopenshell-python/ifcopenshell/__init__.py @@ -71,6 +71,7 @@ except Exception as e: from . import guid from .file import file from .entity_instance import entity_instance, register_schema_attributes +from .sql import sqlite, sqlite_entity READ_ERROR = ifcopenshell_wrapper.file_open_status.READ_ERROR NO_HEADER = ifcopenshell_wrapper.file_open_status.NO_HEADER @@ -114,6 +115,8 @@ def open(path: "os.PathLike | str", format: str = None) -> file: return open(zf.extract(name, unzipped_path)) else: raise LookupError(f"No .ifc or .ifcXML file found in {path}") + if format == ".ifcSQLite": + return sqlite(path) f = ifcopenshell_wrapper.open(str(path.absolute())) if f.good(): return file(f) diff --git a/src/ifcopenshell-python/ifcopenshell/sql.py b/src/ifcopenshell-python/ifcopenshell/sql.py new file mode 100644 index 0000000000..91a27a0e79 --- /dev/null +++ b/src/ifcopenshell-python/ifcopenshell/sql.py @@ -0,0 +1,457 @@ +try: + import re + import json + import sqlite3 + import mysql.connector + import numpy as np + import ifcopenshell.util.schema + from .file import file + from . import ifcopenshell_wrapper + from .entity_instance import entity_instance +except: + pass # No SQL support + + +class sqlite(file): + def __init__(self, filepath): + self.wrapped_data = None + self.history_size = 64 + self.history = [] + self.future = [] + self.transaction = None + + self.filepath = filepath + self.db = sqlite3.connect(self.filepath) + self.db.row_factory = sqlite3.Row + + # self.db = mysql.connector.connect( + # host="localhost", + # user="root", + # password="root", + # database="test" + # ) + + self.cursor = self.db.cursor() + + try: + self.cursor.execute("SELECT preprocessor, schema, mvd FROM metadata LIMIT 1") + row = self.cursor.fetchone() + if row[0] != "IfcOpenShell-1.0.0": + assert False, "SQLite schema not supported." + except: + assert False, "SQLite schema not supported." + + self.schema = row[1] + self.ifc_schema = ifcopenshell.ifcopenshell_wrapper.schema_by_name(self.schema) + + self.cursor.execute("SELECT ifc_id, ifc_class FROM id_map") + self.id_map = {} + self.class_map = {} + for row in self.cursor.fetchall(): + self.id_map[row[0]] = row[1] + self.class_map.setdefault(row[1], []).append(row[0]) + + self.ifc_class_subtypes = {} + self.ifc_class_attributes = {} + self.ifc_class_inverse_attributes = {} + self.ifc_class_references = {} + self.ifc_class_inverses = {} + + self.entity_cache = {} + + for declaration in self.ifc_schema.declarations(): + if not str(declaration).startswith("", str(attribute)): + attribute_entity = self.ifc_schema.declaration_by_name(entity_name) + for subtype in ifcopenshell.util.schema.get_subtypes(attribute_entity): + # self.ifc_class_inverses.setdefault(subtype.name(), set()).add(declaration.name()) + self.ifc_class_inverses.setdefault(subtype.name(), {}) + self.ifc_class_inverses[subtype.name()].setdefault(declaration.name(), []) + self.ifc_class_inverses[subtype.name()][declaration.name()].append(attribute.name()) + + self.ifc_class_references[declaration.name()] = {"entity": entity, "entity_list": entity_list} + + def create_entity(self, type, *args, **kawrgs): + assert False + + def by_id(self, id): + entity = self.entity_cache.get(id, None) + if entity: + return entity + ifc_class = self.id_map.get(id, None) + if ifc_class: + entity = sqlite_entity(id, ifc_class, self) + self.entity_cache[id] = entity + return entity + self.cursor.execute("SELECT ifc_id, ifc_class FROM id_map LIMIT 1") + row = self.cursor.fetchone() + if row: + self.id_map[row[0]] = row[1] + entity = sqlite_entity(id, ifc_class, self) + self.entity_cache[id] = entity + return entity + + def by_type(self, type, include_subtypes=True): + if self.class_map: + results = [] + for subtype in self.ifc_class_subtypes[type]: + results.extend([self.by_id(i) for i in self.class_map.get(subtype.name(), [])]) + return results + if include_subtypes: + declaration = self.ifc_schema.declaration_by_name(type) + subtypes = ",".join([f"'{st.name()}'" for st in ifcopenshell.util.schema.get_subtypes(declaration)]) + self.cursor.execute(f"SELECT ifc_id, ifc_class FROM id_map WHERE ifc_class IN ({subtypes})") + rows = self.cursor.fetchall() + return [self.by_id(r[0]) for r in rows] + self.cursor.execute(f"SELECT ifc_id FROM id_map WHERE ifc_class='{type}'") + rows = self.cursor.fetchall() + return [self.by_id(r[0]) for r in rows] + + def traverse(self, inst, max_levels=None, breadth_first=False): + print("traversing", inst) + if max_levels is None: + max_levels = 1 + results = [inst] + queue = [inst] + while queue: + max_levels -= 1 + + cur = queue.pop() + level_results = set() + reference_attributes = self.ifc_class_references[cur.sqlite_wrapper.ifc_class] + attributes = reference_attributes["entity"] + reference_attributes["entity_list"] + if not attributes: + continue + + for attribute in attributes: + result = getattr(cur, attribute, []) + if isinstance(result, tuple): + results.extend(result) + if max_levels: + queue.extend(result) + else: + results.append(result) + if max_levels: + queue.append(result) + # print('traverse results', results) + return results + + def get_inverse(self, inst, allow_duplicate=False, with_attribute_indices=False): + results = [] + print("getting inverse of", inst.sqlite_wrapper.id, inst.sqlite_wrapper.ifc_class) + for inverse_class, inverse_attrs in self.ifc_class_inverses.get(inst.sqlite_wrapper.ifc_class, {}).items(): + where = " OR ".join([f"`{attr}`={inst.sqlite_wrapper.id}" for attr in inverse_attrs]) + query = f"SELECT DISTINCT ifc_id FROM {inverse_class} WHERE {where}" + self.cursor.execute(query) + rows = self.cursor.fetchall() + for row in rows: + results.append(self.by_id(row[0])) + # print('we got', results) + if allow_duplicate: + return results + return set(results) + + def is_entity_list_old(self, primitive, is_first_call=True): + if not isinstance(primitive, tuple): + return False + elif is_first_call and primitive[0] == "select": + return False + elif primitive[1] == "entity": + return True + elif isinstance(primitive[1], tuple): + return self.is_entity_list(primitive[1], is_first_call=False) + return False + + def is_entity_list(self, attribute): + attribute = str(attribute.type_of_attribute()) + if (attribute.startswith("", attribute): + if data_type not in ("list", "set", "select", "entity"): + return False + return True + return False + + def get_geometry(self, ids): + ids_csv = ",".join(map(str, ids)) + query = f"SELECT ifc_id, x, y, z, matrix, geometry, verts, edges, faces, material_ids, materials FROM shape LEFT JOIN geometry ON shape.geometry = geometry.id WHERE `ifc_id` IN ({ids_csv})" + self.cursor.execute(query) + rows = self.cursor.fetchall() + shapes = {} + geometry = {} + for row in rows: + if row["geometry"] and row["geometry"] not in geometry: + geometry[row["geometry"]] = { + "verts": np.frombuffer(row["verts"]).tolist() if row["verts"] else [], + "edges": np.frombuffer(row["edges"], dtype=np.int64).tolist() if row["edges"] else [], + "faces": np.frombuffer(row["faces"], dtype=np.int64).tolist() if row["faces"] else [], + "material_ids": np.frombuffer(row["material_ids"], dtype=np.int64).tolist() + if row["material_ids"] + else [], + "materials": json.loads(row["materials"]) if row["materials"] else [], + } + shapes[row["ifc_id"]] = { + "co": [row["x"], row["y"], row["z"]], + "matrix": np.copy(np.frombuffer(row["matrix"]).reshape((4, 4))), + "geometry": row["geometry"], + } + ids_without_geometry = set(ids) - set(shapes.keys()) + for id in ids_without_geometry: + shapes[id] = { + "co": [0.0, 0.0, 0.0], + "matrix": np.eye(4), + "geometry": None, + } + return {"shapes": shapes, "geometry": geometry} + + +class sqlite_entity(entity_instance): + def __init__(self, id, ifc_class, file=None): + if not ifc_class: + print(id, ifc_class, file) + assert False + e = ifcopenshell_wrapper.new_IfcBaseClass(file.schema, ifc_class) + s = sqlite_wrapper(id, ifc_class, file) + super(entity_instance, self).__setattr__("wrapped_data", e) + super(entity_instance, self).__setattr__("sqlite_wrapper", s) + + def id(self): + return self.sqlite_wrapper.id + + def __del__(self): + pass + + def __getitem__(self, key): + return self.__getattr__(list(self.sqlite_wrapper.attributes.keys())[key]) + + def __setattr__(self, key, value): + # query = f"UPDATE `{self.sqlite_wrapper.ifc_class}` SET `{key}`='' WHERE `ifc_id` = {self.sqlite_wrapper.id}" + query = f"UPDATE `{self.sqlite_wrapper.ifc_class}` SET `{key}` = ? WHERE ifc_id = {self.sqlite_wrapper.id}" + self.sqlite_wrapper.file.cursor.execute(query, (value,)) + self.sqlite_wrapper.file.db.commit() + + def __getattr__(self, name): + # print("*" * 100) + # print("GETATTR", self.sqlite_wrapper.id, self.sqlite_wrapper.ifc_class, name) + + INVALID, FORWARD, INVERSE = range(3) + attr_cat = self.wrapped_data.get_attribute_category(name) + if attr_cat == FORWARD: + if self.sqlite_wrapper.attribute_cache: + # print(self.sqlite_wrapper.ifc_class) + # print(self.sqlite_wrapper.attribute_cache) + return self.sqlite_wrapper.attribute_cache[name] + + # print('first time for', self.sqlite_wrapper.ifc_class) + + # print("IT IS A FORWARD") + query = f"SELECT * FROM {self.sqlite_wrapper.ifc_class} WHERE `ifc_id` = {self.sqlite_wrapper.id}" + self.sqlite_wrapper.file.cursor.execute(query) + rows = self.sqlite_wrapper.file.cursor.fetchall() + + for attribute in self.sqlite_wrapper.attributes.values(): + # attribute = self.sqlite_wrapper.attributes[name] + aname = attribute.name() + primitive = ifcopenshell.util.attribute.get_primitive_type(attribute) + is_entity_list = self.sqlite_wrapper.file.is_entity_list(attribute) + # print("IS IT AN ENTITY LIST", is_entity_list, primitive) + + # if is_entity_list: + # query = ( + # f"SELECT `{name}` FROM {self.sqlite_wrapper.ifc_class} WHERE `ifc_id` = {self.sqlite_wrapper.id}" + # ) + # else: + # query = f"SELECT * FROM {self.sqlite_wrapper.ifc_class} WHERE `ifc_id` = {self.sqlite_wrapper.id} LIMIT 1" + # print("query is", query) + # self.sqlite_wrapper.file.cursor.execute(query) + if is_entity_list: + # rows = self.sqlite_wrapper.file.cursor.fetchall() + # print("forward rows are", rows) + # print("returning", tuple((self.sqlite_wrapper.file.by_id(r[0]) for r in rows if r[0]))) + result = tuple((self.sqlite_wrapper.file.by_id(r[aname]) for r in rows if r[aname])) + self.sqlite_wrapper.attribute_cache[aname] = result + # return result + else: + # row = self.sqlite_wrapper.file.cursor.fetchone() + row = rows[0] + if not row or row[aname] is None: + self.sqlite_wrapper.attribute_cache[aname] = None + # return None + # print("primitive is", primitive) + elif primitive == "entity": + # print("returning entity", row[0]) + entity = self.sqlite_wrapper.file.by_id(row[aname]) + self.sqlite_wrapper.attribute_cache[aname] = entity + # return entity + elif isinstance(primitive, tuple) and primitive[0] == "select": + result = self.get_select_value(primitive, row[aname]) + self.sqlite_wrapper.attribute_cache[aname] = result + # return result + elif isinstance(primitive, tuple) and primitive[0] in ("list", "set"): + if isinstance(row[aname], int): + result = (self.sqlite_wrapper.file.by_id(row[aname]),) + self.sqlite_wrapper.attribute_cache[aname] = result + # return result + else: + result = json.loads(row[aname]) + self.sqlite_wrapper.attribute_cache[aname] = result + # return result + else: + # print("returning", row[0]) + result = row[aname] + self.sqlite_wrapper.attribute_cache[aname] = result + # return result + + return self.sqlite_wrapper.attribute_cache[name] + elif attr_cat == INVERSE: + if self.sqlite_wrapper.inverse_attribute_cache: + results = self.sqlite_wrapper.inverse_attribute_cache.get(name, None) + if results is not None: + return results + + # print("IT IS AN INVERSE") + attribute = self.sqlite_wrapper.inverse_attributes[name] + inverse_name = attribute.attribute_reference().name() + declaration = self.sqlite_wrapper.file.ifc_schema.declaration_by_name(attribute.entity_reference().name()) + results = [] + + # Union is slightly faster it seems. Not much though. + subtypes = ifcopenshell.util.schema.get_subtypes(declaration) + query = " UNION ".join( + f"SELECT DISTINCT `ifc_id` FROM {subtype.name()} WHERE `{inverse_name}` = {self.sqlite_wrapper.id}" + for subtype in subtypes + ) + self.sqlite_wrapper.file.cursor.execute(query) + rows = self.sqlite_wrapper.file.cursor.fetchall() + results.extend([self.sqlite_wrapper.file.by_id(r[0]) for r in rows]) + results = tuple(results) + + self.sqlite_wrapper.inverse_attribute_cache[name] = results + + # Loop variant + # for subtype in ifcopenshell.util.schema.get_subtypes(declaration): + # query = f"SELECT DISTINCT `ifc_id` FROM {subtype.name()} WHERE `{name}` = {self.sqlite_wrapper.id}" + # self.sqlite_wrapper.file.cursor.execute(query) + # rows = self.sqlite_wrapper.file.cursor.fetchall() + # results.extend([self.sqlite_wrapper.file.by_id(r[0]) for r in rows]) + + # print("query is", query) + # print("inverse rows are", rows) + # print("returning", tuple((self.sqlite_wrapper.file.by_id(r[0]) for r in rows))) + return results + + raise AttributeError( + "entity instance of type '%s' has no attribute '%s'" % (self.wrapped_data.is_a(True), name) + ) + + def get_select_value(self, primitive, value): + if "entity" in primitive[1] and isinstance(value, int): + return self.sqlite_wrapper.file.by_id(value) + data = json.loads(value) + ifc_primitive = ifcopenshell.create_entity(data["type"]) + ifc_primitive[0] = data["value"] + return ifc_primitive + + def __eq__(self, other): + if not isinstance(self, type(other)): + return False + elif None in (self.sqlite_wrapper.file, other.sqlite_wrapper.file): + assert False # not implemented + if self.sqlite_wrapper.id: + return self.sqlite_wrapper.id == other.sqlite_wrapper.id + assert False # not implemented + + def __hash__(self): + if self.sqlite_wrapper.id: + return hash((self.sqlite_wrapper.id, self.sqlite_wrapper.file.filepath)) + + def get_info(self, include_identifier=True, recursive=False, return_type=dict, ignore=(), scalar_only=False): + info = {"id": self.sqlite_wrapper.id, "type": self.sqlite_wrapper.ifc_class} + if self.sqlite_wrapper.attribute_cache: + info.update(self.sqlite_wrapper.attribute_cache) + return info + + query = f"SELECT * FROM {self.sqlite_wrapper.ifc_class} WHERE `ifc_id` = {self.sqlite_wrapper.id}" + # print('GET INFO QUERY', query) + self.sqlite_wrapper.file.cursor.execute(query) + rows = self.sqlite_wrapper.file.cursor.fetchall() + + row = rows[0] + entity_list_indices = [] + entity_list_names = [] + + attribute_names = list(self.sqlite_wrapper.attributes.keys()) + + for i, value in enumerate(row[1:]): + # print('enumerating row', i, value) + attribute_name = attribute_names[i] + # print('attr name is', attribute_name) + attribute = self.sqlite_wrapper.attributes[attribute_name] + # print('attribute is', attribute) + primitive = ifcopenshell.util.attribute.get_primitive_type(attribute) + # print('primitive is', primitive) + is_entity_list = self.sqlite_wrapper.file.is_entity_list(attribute) + if is_entity_list: + entity_list_indices.append(i) + entity_list_names.append(attribute_name) + info[attribute_name] = [] + elif value is None: + info[attribute_name] = None + elif primitive == "entity": + info[attribute_name] = self.sqlite_wrapper.file.by_id(value) + elif isinstance(primitive, tuple) and primitive[0] == "select": + self.get_select_value(primitive, value) + elif isinstance(primitive, tuple) and primitive[0] in ("list", "set"): + info[attribute_name] = json.loads(value) + else: + info[attribute_name] = value + + for row in rows: + row = row[1:] + for i, entity_list_index in enumerate(entity_list_indices): + value = row[entity_list_index] + info[entity_list_names[i]].append(self.sqlite_wrapper.file.by_id(value)) + + for name in entity_list_names: + info[name] = tuple(info[name]) + + return info + + +class sqlite_wrapper: + def __init__(self, id, ifc_class, file): + self.id = id + self.ifc_class = ifc_class + self.file = file + self.attributes = self.file.ifc_class_attributes[self.ifc_class] + self.inverse_attributes = self.file.ifc_class_inverse_attributes[self.ifc_class] + self.attribute_cache = {} + self.inverse_attribute_cache = {} + + def __repr__(self): + return "todo" diff --git a/src/ifcopenshell-python/ifcopenshell/util/file.py b/src/ifcopenshell-python/ifcopenshell/util/file.py index eb682d19b4..2898f5448c 100644 --- a/src/ifcopenshell-python/ifcopenshell/util/file.py +++ b/src/ifcopenshell-python/ifcopenshell/util/file.py @@ -23,5 +23,7 @@ def guess_format(path: Path) -> "str | None": """Try to guess format using file extension""" if path.suffix.lower() in (".ifczip", ".zip"): return ".ifcZIP" - if path.suffix.lower() in (".ifcxml", ".xml"): + elif path.suffix.lower() in (".ifcxml", ".xml"): return ".ifcXML" + elif path.suffix.lower() in (".ifcsqlite", ".sqlite", ".db"): + return ".ifcSQLite" diff --git a/src/ifcpatch/ifcpatch/recipes/Ifc2Sql.py b/src/ifcpatch/ifcpatch/recipes/Ifc2Sql.py index 9f67ff1054..f9c573960a 100644 --- a/src/ifcpatch/ifcpatch/recipes/Ifc2Sql.py +++ b/src/ifcpatch/ifcpatch/recipes/Ifc2Sql.py @@ -82,7 +82,7 @@ class Patcher: def patch(self): self.full_schema = True self.is_strict = False - self.should_expand = False + self.should_expand = True self.should_get_psets = True self.should_get_geometry = True self.should_skip_geometry_data = False @@ -106,6 +106,7 @@ class Patcher: self.file_patched = None self.create_id_map() + self.create_metadata() if self.should_get_psets: self.create_pset_table() @@ -231,6 +232,32 @@ class Patcher: """ self.c.execute(statement) + def create_metadata(self): + # There is no "standard" SQL serialisation, so we propose a convention + # of a "metadata" table to hold high level metadata. This includes the + # preprocessor field to uniquely identify the "variant" of SQL schema + # used. If someone wants their own SQL schema variant, they can + # identify it using the preprocessor field. + # IfcOpenShell-1.0.0 represents a schema where 1 table = 1 declaration. + # IfcOpenShell-2.0.0 represents a schema where tables represent types. + metadata = ["IfcOpenShell-1.0.0", self.file.schema, self.file.header.file_description.description[0]] + if self.sql_type == "sqlite": + statement = ( + "CREATE TABLE IF NOT EXISTS metadata (preprocessor text, schema text, mvd text);" + ) + self.c.execute(statement) + self.c.execute("INSERT INTO metadata VALUES (?, ?, ?);", metadata) + elif self.sql_type == "mysql": + statement = """ + CREATE TABLE `metadata` ( + `preprocessor` varchar(255) NOT NULL, + `schema` varchar(255) NOT NULL, + `mvd` varchar(255) NOT NULL + ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci; + """ + self.c.execute(statement) + self.c.execute("INSERT INTO metadata VALUES (%s, %s, %s);", metadata) + def create_pset_table(self): statement = """ CREATE TABLE IF NOT EXISTS psets ( From c8ede38edb8b7903e508cca65d50c766b70ed70e Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Fri, 16 Jun 2023 16:17:17 +1000 Subject: [PATCH 111/225] Run black on existing entity_instance --- src/ifcopenshell-python/docs/ifcconvert.rst | 6 +- .../ifcopenshell/entity_instance.py | 82 +++++-------------- 2 files changed, 26 insertions(+), 62 deletions(-) diff --git a/src/ifcopenshell-python/docs/ifcconvert.rst b/src/ifcopenshell-python/docs/ifcconvert.rst index 78d9ae808e..163d946834 100644 --- a/src/ifcopenshell-python/docs/ifcconvert.rst +++ b/src/ifcopenshell-python/docs/ifcconvert.rst @@ -23,7 +23,8 @@ table below. | .ifc | .ifcJSON | Ifc2JSON_ | +-------------------------+-------------------------+----------------------+ | .ifc | .ifc | IfcPatch_ | -| | (IFC2X3, IFC4, IFC4X3) | | +| | (IFC2X3, IFC4, IFC4X3), | | +| | SQLite, MySQL | | +-------------------------+-------------------------+----------------------+ | .ifc | .json (Code_Aster), | Ifc2CA_ | | | .comm (Code_Aster) | | @@ -33,7 +34,8 @@ table below. +-------------------------+-------------------------+----------------------+ | .ifc | .csv, .ods, .xlsx | Ifc5D_ | +-------------------------+-------------------------+----------------------+ -| .ifc | .csv, .ods, .xlsx | IfcCSV_ | +| .ifc | .csv, .ods, .xlsx, | IfcCSV_ | +| | Pandas DataFrame | | +-------------------------+-------------------------+----------------------+ | .csv | .ifc | Ifc5D_ | +-------------------------+-------------------------+----------------------+ diff --git a/src/ifcopenshell-python/ifcopenshell/entity_instance.py b/src/ifcopenshell-python/ifcopenshell/entity_instance.py index cc8d0adbc4..3941e2263f 100644 --- a/src/ifcopenshell-python/ifcopenshell/entity_instance.py +++ b/src/ifcopenshell-python/ifcopenshell/entity_instance.py @@ -40,7 +40,7 @@ except ImportError as e: def set_derived_attribute(*args): raise TypeError("Unable to set derived attribute") - + def set_unsupported_attribute(*args): raise TypeError("This is an unsupported attribute type") @@ -83,8 +83,7 @@ def register_schema_attributes(schema): functions = [ set_derived_attribute if mname == "setArgumentAsDerived" - else - set_unsupported_attribute + else set_unsupported_attribute if mname == "setArgumentAsUnknown" else getattr(ifcopenshell_wrapper.entity_instance, mname) for mname in fn_names @@ -139,18 +138,12 @@ class entity_instance(object): idx = self.wrapped_data.get_argument_index(name) if _method_dict[self.is_a(True)][idx] != set_derived_attribute: # A bit ugly, but we fall through to derived attribute handling below - return entity_instance.wrap_value( - self.wrapped_data.get_argument(idx), self.wrapped_data.file - ) + return entity_instance.wrap_value(self.wrapped_data.get_argument(idx), self.wrapped_data.file) elif attr_cat == INVERSE: - vs = entity_instance.wrap_value( - self.wrapped_data.get_inverse(name), self.wrapped_data.file - ) + vs = entity_instance.wrap_value(self.wrapped_data.get_inverse(name), self.wrapped_data.file) if settings.unpack_non_aggregate_inverses: schema_name = self.wrapped_data.is_a(True).split(".")[0] - ent = ifcopenshell_wrapper.schema_by_name(schema_name).declaration_by_name( - self.is_a() - ) + ent = ifcopenshell_wrapper.schema_by_name(schema_name).declaration_by_name(self.is_a()) inv = [i for i in ent.all_inverse_attributes() if i.name() == name][0] if (inv.bound1(), inv.bound2()) == (-1, -1): if vs: @@ -164,9 +157,7 @@ class entity_instance(object): rules = importlib.import_module(f"ifcopenshell.express.rules.{schema_name}") def yield_supertypes(): - decl = ifcopenshell_wrapper.schema_by_name(schema_name).declaration_by_name( - self.is_a() - ) + decl = ifcopenshell_wrapper.schema_by_name(schema_name).declaration_by_name(self.is_a()) while decl: yield decl.name() decl = decl.supertype() @@ -178,8 +169,7 @@ class entity_instance(object): if attr_cat != FORWARD: raise AttributeError( - "entity instance of type '%s' has no attribute '%s'" - % (self.wrapped_data.is_a(True), name) + "entity instance of type '%s' has no attribute '%s'" % (self.wrapped_data.is_a(True), name) ) @staticmethod @@ -218,11 +208,7 @@ class entity_instance(object): :type attr: int :rtype: string """ - attr_idx = ( - attr - if isinstance(attr, numbers.Integral) - else self.wrapped_data.get_argument_index(attr) - ) + attr_idx = attr if isinstance(attr, numbers.Integral) else self.wrapped_data.get_argument_index(attr) return self.wrapped_data.get_argument_type(attr_idx) def attribute_name(self, attr_idx): @@ -240,23 +226,15 @@ class entity_instance(object): def __getitem__(self, key): if key < 0 or key >= len(self): - raise IndexError( - "Attribute index {} out of range for instance of type {}".format( - key, self.is_a() - ) - ) - return entity_instance.wrap_value( - self.wrapped_data.get_argument(key), self.wrapped_data.file - ) + raise IndexError("Attribute index {} out of range for instance of type {}".format(key, self.is_a())) + return entity_instance.wrap_value(self.wrapped_data.get_argument(key), self.wrapped_data.file) def __setitem__(self, idx, value): if self.wrapped_data.file and self.wrapped_data.file.transaction: self.wrapped_data.file.transaction.store_edit(self, idx, value) if self.method_list is None: - super(entity_instance, self).__setattr__( - "method_list", _method_dict[self.is_a(True)] - ) + super(entity_instance, self).__setattr__("method_list", _method_dict[self.is_a(True)]) method = self.method_list[idx] @@ -264,9 +242,7 @@ class entity_instance(object): if method is not set_derived_attribute: self.wrapped_data.setArgumentAsNull(idx) else: - self.method_list[idx]( - self.wrapped_data, idx, entity_instance.unwrap_value(value) - ) + self.method_list[idx](self.wrapped_data, idx, entity_instance.unwrap_value(value)) return value @@ -323,9 +299,9 @@ class entity_instance(object): elif None in (self.wrapped_data.file, other.wrapped_data.file): # when not added to a file, we can only compare attribute values # and we need this for where rule evaluation - return self.get_info( + return self.get_info(recursive=True, include_identifier=False) == other.get_info( recursive=True, include_identifier=False - ) == other.get_info(recursive=True, include_identifier=False) + ) else: # Proper entity instances have a stable identity by means of the numeric # step id. Selected type instances (such as IfcPropertySingleValue.NominalValue @@ -346,9 +322,7 @@ class entity_instance(object): bool: True if the instance is an entity """ schema_name = self.wrapped_data.is_a(True).split(".")[0] - decl = ifcopenshell_wrapper.schema_by_name(schema_name).declaration_by_name( - self.is_a() - ) + decl = ifcopenshell_wrapper.schema_by_name(schema_name).declaration_by_name(self.is_a()) return isinstance(decl, ifcopenshell_wrapper.entity) def compare(self, other, op, reverse=False): @@ -436,9 +410,7 @@ class entity_instance(object): ) ) - def get_info( - self, include_identifier=True, recursive=False, return_type=dict, ignore=(), scalar_only=False - ): + def get_info(self, include_identifier=True, recursive=False, return_type=dict, ignore=(), scalar_only=False): """Return a dictionary of the entity_instance's properties (Python and IFC) and their values. :param include_identifier: Whether or not to include the STEP numerical identifier @@ -472,18 +444,14 @@ class entity_instance(object): yield "id", self.id() yield "type", self.is_a() except BaseException: - logging.exception( - "unhandled exception while getting id / type info on {}".format( - self - ) - ) + logging.exception("unhandled exception while getting id / type info on {}".format(self)) for i in range(len(self)): try: if self.wrapped_data.get_attribute_names()[i] in ignore: continue attr_value = self[i] - to_include = {'v': True} + to_include = {"v": True} if recursive or scalar_only: @@ -500,29 +468,23 @@ class entity_instance(object): ) def do_ignore(inst): - to_include['v'] = False + to_include["v"] = False return None attr_value = entity_instance.walk( is_instance, get_info_ if recursive else do_ignore, attr_value ) - if to_include['v']: + if to_include["v"]: yield self.attribute_name(i), attr_value except BaseException: - logging.exception( - "unhandled exception occurred setting attribute name for {}".format( - self - ) - ) + logging.exception("unhandled exception occurred setting attribute name for {}".format(self)) return return_type(_()) __dict__ = property(get_info) - def get_info_2( - self, include_identifier=True, recursive=False, return_type=dict, ignore=() - ): + def get_info_2(self, include_identifier=True, recursive=False, return_type=dict, ignore=()): assert include_identifier assert recursive assert return_type is dict From a855c4042681300ef58cb40ace3d5c75edee646d Mon Sep 17 00:00:00 2001 From: Vasile-Corjan <124814527+Vasile-Corjan@users.noreply.github.com> Date: Thu, 15 Jun 2023 20:04:16 +0200 Subject: [PATCH 112/225] Update README.md I have added the parameters "minOccurs" and "maxOccurs" --- src/ifctester/README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/ifctester/README.md b/src/ifctester/README.md index 336f9d8853..77d1b08486 100644 --- a/src/ifctester/README.md +++ b/src/ifctester/README.md @@ -21,7 +21,9 @@ property = ids.Property( propertySet="Pset_WallCommon", measure="IfcBoolean", uri="https://identifier.buildingsmart.org/uri/.../prop/LoadBearing", - instructions="Walls need to be load bearing.") + instructions="Walls need to be load bearing.", + minOccurs=1, + maxOccurs=1) my_spec.requirements.append(property) my_ids.specifications.append(my_spec) From 1a3bf513a73d238734dcb28d355abd53284ce7b6 Mon Sep 17 00:00:00 2001 From: Vasile-Corjan <124814527+Vasile-Corjan@users.noreply.github.com> Date: Thu, 15 Jun 2023 22:28:58 +0200 Subject: [PATCH 113/225] Update README.md --- src/ifctester/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ifctester/README.md b/src/ifctester/README.md index 77d1b08486..bf2612d7a7 100644 --- a/src/ifctester/README.md +++ b/src/ifctester/README.md @@ -23,7 +23,7 @@ property = ids.Property( uri="https://identifier.buildingsmart.org/uri/.../prop/LoadBearing", instructions="Walls need to be load bearing.", minOccurs=1, - maxOccurs=1) + maxOccurs="unbounded") my_spec.requirements.append(property) my_ids.specifications.append(my_spec) From e90d7ccdb15fa4c19e7d386dd920455930d01380 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bal=C3=A1zs=20Dukai?= Date: Sun, 11 Jun 2023 20:42:09 +0200 Subject: [PATCH 114/225] Init package --- src/ifccityjson/.gitignore | 2 ++ src/ifccityjson/{ => ifccityjson}/__init__.py | 0 .../cityjson2ifc/__init__.py | 0 .../cityjson2ifc/cityjson2ifc.py | 0 .../cityjson2ifc/geometry.py | 0 .../{ => ifccityjson}/ifccityjson.py | 0 src/ifccityjson/pyproject.toml | 25 +++++++++++++++++++ 7 files changed, 27 insertions(+) create mode 100644 src/ifccityjson/.gitignore rename src/ifccityjson/{ => ifccityjson}/__init__.py (100%) rename src/ifccityjson/{ => ifccityjson}/cityjson2ifc/__init__.py (100%) rename src/ifccityjson/{ => ifccityjson}/cityjson2ifc/cityjson2ifc.py (100%) rename src/ifccityjson/{ => ifccityjson}/cityjson2ifc/geometry.py (100%) rename src/ifccityjson/{ => ifccityjson}/ifccityjson.py (100%) create mode 100644 src/ifccityjson/pyproject.toml diff --git a/src/ifccityjson/.gitignore b/src/ifccityjson/.gitignore new file mode 100644 index 0000000000..6bca1f6d5e --- /dev/null +++ b/src/ifccityjson/.gitignore @@ -0,0 +1,2 @@ +*.egg-info +build \ No newline at end of file diff --git a/src/ifccityjson/__init__.py b/src/ifccityjson/ifccityjson/__init__.py similarity index 100% rename from src/ifccityjson/__init__.py rename to src/ifccityjson/ifccityjson/__init__.py diff --git a/src/ifccityjson/cityjson2ifc/__init__.py b/src/ifccityjson/ifccityjson/cityjson2ifc/__init__.py similarity index 100% rename from src/ifccityjson/cityjson2ifc/__init__.py rename to src/ifccityjson/ifccityjson/cityjson2ifc/__init__.py diff --git a/src/ifccityjson/cityjson2ifc/cityjson2ifc.py b/src/ifccityjson/ifccityjson/cityjson2ifc/cityjson2ifc.py similarity index 100% rename from src/ifccityjson/cityjson2ifc/cityjson2ifc.py rename to src/ifccityjson/ifccityjson/cityjson2ifc/cityjson2ifc.py diff --git a/src/ifccityjson/cityjson2ifc/geometry.py b/src/ifccityjson/ifccityjson/cityjson2ifc/geometry.py similarity index 100% rename from src/ifccityjson/cityjson2ifc/geometry.py rename to src/ifccityjson/ifccityjson/cityjson2ifc/geometry.py diff --git a/src/ifccityjson/ifccityjson.py b/src/ifccityjson/ifccityjson/ifccityjson.py similarity index 100% rename from src/ifccityjson/ifccityjson.py rename to src/ifccityjson/ifccityjson/ifccityjson.py diff --git a/src/ifccityjson/pyproject.toml b/src/ifccityjson/pyproject.toml new file mode 100644 index 0000000000..30b154c9f7 --- /dev/null +++ b/src/ifccityjson/pyproject.toml @@ -0,0 +1,25 @@ +[build-system] +requires = ["setuptools>=61.0"] +build-backend = "setuptools.build_meta" + +[project] +name = "ifccityjson" +version = "0.1.0" +authors = [ + { name = "Laurens J.N. Oostwegel", email = "l.oostwegel@gmail.com" }, + { name = "Balázs Dukai", email = "balazs.dukai@3dgi.nl" }, +] +description = "Converter for CityJSON files and IFC" +readme = "README.md" +keywords = ["IFC", "CityJSON"] +classifiers = [ + "Programming Language :: Python :: 3", + "License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)", +] +dependencies = [ + "ifcopenshell>=0.7", + "cjio>=0.8" +] +[project.urls] +"Homepage" = "http://ifcopenshell.org" +"Bug Tracker" = "https://github.com/ifcopenshell/ifcopenshell/issues" From 24ea024a0d74045fd5b3a4fabd64b44b392e375a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bal=C3=A1zs=20Dukai?= Date: Tue, 13 Jun 2023 15:25:39 +0200 Subject: [PATCH 115/225] Add parameters --- .../ifccityjson/cityjson2ifc/cityjson2ifc.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/ifccityjson/ifccityjson/cityjson2ifc/cityjson2ifc.py b/src/ifccityjson/ifccityjson/cityjson2ifc/cityjson2ifc.py index 3727e98b09..7044bcb7ed 100644 --- a/src/ifccityjson/ifccityjson/cityjson2ifc/cityjson2ifc.py +++ b/src/ifccityjson/ifccityjson/cityjson2ifc/cityjson2ifc.py @@ -92,11 +92,17 @@ class Cityjson2ifc: self.geometry = GeometryIO() self.configuration() - def configuration(self, file_destination="output.ifc", name_attribute=None, split=True, lod=None): + def configuration(self, file_destination="output.ifc", name_attribute=None, + split=True, lod=None, name_project=None, name_site=None, + name_person_family=None, name_person_given=None): self.properties["file_destination"], self.properties["file_extension"] = os.path.splitext(file_destination) self.properties["name_attribute"] = name_attribute self.properties["split"] = split self.properties["lod"] = lod + self.properties["name_project"] = name_project + self.properties["name_site"] = name_site + self.properties["name_person_family"] = name_person_family + self.properties["name_person_given"] = name_person_given def convert(self, city_model): self.city_model = city_model @@ -138,7 +144,7 @@ class Cityjson2ifc: def create_new_file(self): self.IFC_model = ifcopenshell.api.run("project.create_file") - self.IFC_project = ifcopenshell.api.run("root.create_entity", self.IFC_model, **{"ifc_class": "IfcProject", "name": "My Project"}) + self.IFC_project = ifcopenshell.api.run("root.create_entity", self.IFC_model, **{"ifc_class": "IfcProject", "name": self.properties.get("name_project", "My Project")}) ifcopenshell.api.run("unit.assign_unit", self.IFC_model, length={"is_metric": True, "raw": "METERS"}) self.properties["owner_history"] = self.create_owner_history() self.IFC_representation_context = ifcopenshell.api.run("context.add_context", self.IFC_model, @@ -152,7 +158,7 @@ class Cityjson2ifc: self.IFC_site = ifcopenshell.api.run("root.create_entity", self.IFC_model, **{"ifc_class": "IfcSite", - "name": "My Site"}) + "name": self.properties.get("name_site", "My Site")}) self.IFC_model.create_entity("IfcRelAggregates", **{"GlobalId": ifcopenshell.guid.new(), "RelatedObjects": [self.IFC_site], @@ -179,7 +185,10 @@ class Cityjson2ifc: def create_owner_history(self): actor = self.IFC_model.createIfcActorRole("ENGINEER", None, None) - person = self.IFC_model.createIfcPerson("Oostwegel", None, "L.J.N.", None, None, None, (actor,)) + person = self.IFC_model.createIfcPerson( + self.properties.get("name_person_family", "FamilyName"), + self.properties.get("name_person_given", "GivenName"), + None, None, None, None, (actor,)) organization = self.IFC_model.createIfcOrganization( None, "IfcOpenShell", From 16cda28d1626c68044e8f7d7ab0b02a00adfd189 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bal=C3=A1zs=20Dukai?= Date: Tue, 13 Jun 2023 15:43:10 +0200 Subject: [PATCH 116/225] Include GenericCityObject extension --- src/ifccityjson/ifccityjson/cityjson2ifc/cityjson2ifc.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/ifccityjson/ifccityjson/cityjson2ifc/cityjson2ifc.py b/src/ifccityjson/ifccityjson/cityjson2ifc/cityjson2ifc.py index 7044bcb7ed..824418a48a 100644 --- a/src/ifccityjson/ifccityjson/cityjson2ifc/cityjson2ifc.py +++ b/src/ifccityjson/ifccityjson/cityjson2ifc/cityjson2ifc.py @@ -47,6 +47,7 @@ JSON_TO_IFC = { "ObjectType": "SolitaryVegetationObject"}], "CityFurniture": ["IfcFurnishingElement"], "OtherConstruction": ["IfcCivilElement"], + "+GenericCityObject": ["IfcCivilElement"], # We make an exception here, because GenericCityObject is a remnant from CityJSON v1.0, which was moved to an extension in v1.1 and it is commonly used. "Bridge": ["IfcCivilElement"], # Update for IFC4.3 "BridgePart": ["IfcCivilElement"], # Update for IFC4.3 "BridgeInstallation": ["IfcCivilElement"], # Update for IFC4.3 @@ -236,7 +237,11 @@ class Cityjson2ifc: geometries = {} for obj_id, obj in self.city_model.get_cityobjects().items(): # CityJSON type to class - mapping = JSON_TO_IFC[obj.type] + try: + mapping = JSON_TO_IFC[obj.type] + except KeyError: + # skip CityObject types that are not supported, eg. from extensions + continue IFC_class = mapping[0] data = {} # Add attributes if it is specified in mapping From 80f9590410de1b3f807176ca1051c6787871256d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bal=C3=A1zs=20Dukai?= Date: Tue, 13 Jun 2023 16:31:10 +0200 Subject: [PATCH 117/225] Get package version from pyproject.toml --- src/ifccityjson/ifccityjson/cityjson2ifc/cityjson2ifc.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/ifccityjson/ifccityjson/cityjson2ifc/cityjson2ifc.py b/src/ifccityjson/ifccityjson/cityjson2ifc/cityjson2ifc.py index 824418a48a..7e5daea1a5 100644 --- a/src/ifccityjson/ifccityjson/cityjson2ifc/cityjson2ifc.py +++ b/src/ifccityjson/ifccityjson/cityjson2ifc/cityjson2ifc.py @@ -18,6 +18,7 @@ # along with ifccityjson. If not, see . import os +from importlib.metadata import version as pkg_version import ifcopenshell import ifcopenshell.api from datetime import datetime @@ -196,7 +197,7 @@ class Cityjson2ifc: "IfcOpenShell, an open source (LGPL) software library that helps users and software developers to work with the IFC file format.", ) p_o = self.IFC_model.createIfcPersonAndOrganization(person, organization) - application = self.IFC_model.createIfcApplication(organization, "v0.0.x", "ifccityjson", "ifccityjson") + application = self.IFC_model.createIfcApplication(organization, pkg_version("ifccityjson"), "ifccityjson", "ifccityjson") timestamp = int(datetime.now().timestamp()) ownerHistory = self.IFC_model.createIfcOwnerHistory(p_o, application, "READWRITE", None, None, None, None, timestamp) From 80846061f2c1a9fda462455c5f7323da2287e395 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bal=C3=A1zs=20Dukai?= Date: Wed, 14 Jun 2023 02:26:28 +0200 Subject: [PATCH 118/225] Don't use importlib for version --- src/ifccityjson/ifccityjson/cityjson2ifc/__init__.py | 3 +-- src/ifccityjson/ifccityjson/cityjson2ifc/cityjson2ifc.py | 4 ++-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/ifccityjson/ifccityjson/cityjson2ifc/__init__.py b/src/ifccityjson/ifccityjson/cityjson2ifc/__init__.py index ccae140c39..71bcf23e7a 100644 --- a/src/ifccityjson/ifccityjson/cityjson2ifc/__init__.py +++ b/src/ifccityjson/ifccityjson/cityjson2ifc/__init__.py @@ -1,4 +1,3 @@ - # ifccityjson - Python CityJSON to IFC converter # Copyright (C) 2021 Laurens J.N. Oostwegel # @@ -16,5 +15,5 @@ # # You should have received a copy of the GNU Lesser General Public License # along with ifccityjson. If not, see . - +__version__ = "0.1.0" from .cityjson2ifc import * \ No newline at end of file diff --git a/src/ifccityjson/ifccityjson/cityjson2ifc/cityjson2ifc.py b/src/ifccityjson/ifccityjson/cityjson2ifc/cityjson2ifc.py index 7e5daea1a5..80d275ee25 100644 --- a/src/ifccityjson/ifccityjson/cityjson2ifc/cityjson2ifc.py +++ b/src/ifccityjson/ifccityjson/cityjson2ifc/cityjson2ifc.py @@ -18,12 +18,12 @@ # along with ifccityjson. If not, see . import os -from importlib.metadata import version as pkg_version import ifcopenshell import ifcopenshell.api from datetime import datetime from .geometry import GeometryIO +from . import __version__ JSON_TO_IFC = { "Building": ["IfcBuilding"], @@ -197,7 +197,7 @@ class Cityjson2ifc: "IfcOpenShell, an open source (LGPL) software library that helps users and software developers to work with the IFC file format.", ) p_o = self.IFC_model.createIfcPersonAndOrganization(person, organization) - application = self.IFC_model.createIfcApplication(organization, pkg_version("ifccityjson"), "ifccityjson", "ifccityjson") + application = self.IFC_model.createIfcApplication(organization, __version__, "ifccityjson", "ifccityjson") timestamp = int(datetime.now().timestamp()) ownerHistory = self.IFC_model.createIfcOwnerHistory(p_o, application, "READWRITE", None, None, None, None, timestamp) From df6cc74a8754683587e6db724829ec8c5da43226 Mon Sep 17 00:00:00 2001 From: Totally a booplicate <53382877+Booplicate@users.noreply.github.com> Date: Fri, 2 Jun 2023 18:12:36 +0300 Subject: [PATCH 119/225] attempt to improve pset support 1. Adds support to directly passed in property entities 2. Adds support for tuples 3. Adds support for P_LISTVALUE --- .../ifcopenshell/api/pset/edit_pset.py | 42 ++++++++++++++++--- 1 file changed, 36 insertions(+), 6 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py b/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py index 46fee7b392..3269d6e8ab 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py +++ b/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py @@ -244,22 +244,47 @@ class Usecase: continue unit, value = self.unpack_unit_value(value) if isinstance(value, ifcopenshell.entity_instance): - if value.is_a(True) == "IFC4.IfcPropertyEnumeratedValue": + if value.is_a("IfcProperty"): properties.append(value) - continue - else: + + elif not value.is_entity(): args = {"Name": name, "NominalValue": value} if unit: args["Unit"] = unit properties.append( self.file.create_entity("IfcPropertySingleValue", **args) ) + + else: + raise TypeError(f"'{value}' is not a valid property value for '{name}'") + # TODO-The following "elif" is temporary code, will need to refactor at some point - vulevukusej - elif isinstance(value, list): + elif isinstance(value, (tuple, list)): if not value: continue for pset_template in self.pset_template.HasPropertyTemplates: - if pset_template.Name == name: + if pset_template.Name != name: + continue + + if pset_template.TemplateType == "P_LISTVALUE": + # TODO: What class to pick if none was provided? We get an error otherwise: + # ValueError: invalid null reference in method 'new_IfcBaseClass', argument 2 of type 'std::string const &' + ifc_class = getattr(pset_template, "PrimaryMeasureType", None) + if ifc_class is None: + ifc_class = "IfcLabel" + properties.append( + self.file.create_entity( + "IfcPropertyListValue", + Name=name, + ListValues=[ + self.file.create_entity(ifc_class, v) + for v in value + ] + ) + ) + break + + elif pset_template.TemplateType == "P_ENUMERATEDVALUE": prop_enum = self.file.create_entity( "IFCPROPERTYENUMERATION", Name=name, @@ -275,7 +300,12 @@ class Usecase: EnumerationReference=prop_enum, ) properties.append(prop_enum_value) - continue + break + + raise NotImplementedError(f"Template type '{pset_template.TemplateType}' is not supported yet") + + # TODO: what if no template was found/matched? + else: primary_measure_type = self.get_primary_measure_type(name, new_value=value) value = self.cast_value_to_primary_measure_type(value, primary_measure_type) From d4b88fd42279c3d9c8c476aab14992124fface19 Mon Sep 17 00:00:00 2001 From: Totally a booplicate <53382877+Booplicate@users.noreply.github.com> Date: Sat, 3 Jun 2023 11:42:36 +0300 Subject: [PATCH 120/225] resolve TODO This is being fixed, we should always have a class to use --- .../ifcopenshell/api/pset/edit_pset.py | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py b/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py index 3269d6e8ab..513076efd1 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py +++ b/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py @@ -256,7 +256,7 @@ class Usecase: ) else: - raise TypeError(f"'{value}' is not a valid property value for '{name}'") + raise ValueError(f"'{value}' is not a valid property value for '{name}'") # TODO-The following "elif" is temporary code, will need to refactor at some point - vulevukusej elif isinstance(value, (tuple, list)): @@ -267,19 +267,18 @@ class Usecase: continue if pset_template.TemplateType == "P_LISTVALUE": - # TODO: What class to pick if none was provided? We get an error otherwise: - # ValueError: invalid null reference in method 'new_IfcBaseClass', argument 2 of type 'std::string const &' ifc_class = getattr(pset_template, "PrimaryMeasureType", None) if ifc_class is None: - ifc_class = "IfcLabel" + raise ValueError(f"pset template '{pset_template.Name}' is missing PrimaryMeasureType") + properties.append( self.file.create_entity( - "IfcPropertyListValue", - Name=name, - ListValues=[ - self.file.create_entity(ifc_class, v) - for v in value - ] + "IfcPropertyListValue", + Name=name, + ListValues=[ + self.file.create_entity(ifc_class, v) + for v in value + ] ) ) break From 375f4f2a86746ce612eb7a430d76c19f077af142 Mon Sep 17 00:00:00 2001 From: Totally a booplicate <53382877+Booplicate@users.noreply.github.com> Date: Sun, 4 Jun 2023 13:43:41 +0300 Subject: [PATCH 121/225] per review change exception message remove TODO pass `Unit` raise `NotImplementedError` when no template was found --- .../ifcopenshell/api/pset/edit_pset.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py b/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py index 513076efd1..a01935e452 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py +++ b/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py @@ -243,10 +243,12 @@ class Usecase: if value is None: continue unit, value = self.unpack_unit_value(value) + if isinstance(value, ifcopenshell.entity_instance): if value.is_a("IfcProperty"): properties.append(value) + # If it's not an entity, then it's a primitive data type elif not value.is_entity(): args = {"Name": name, "NominalValue": value} if unit: @@ -256,9 +258,8 @@ class Usecase: ) else: - raise ValueError(f"'{value}' is not a valid property value for '{name}'") + raise ValueError(f"{value.is_a()} cannot be assigned to the property set '{name}'") - # TODO-The following "elif" is temporary code, will need to refactor at some point - vulevukusej elif isinstance(value, (tuple, list)): if not value: continue @@ -278,7 +279,8 @@ class Usecase: ListValues=[ self.file.create_entity(ifc_class, v) for v in value - ] + ], + Unit=unit ) ) break @@ -303,7 +305,7 @@ class Usecase: raise NotImplementedError(f"Template type '{pset_template.TemplateType}' is not supported yet") - # TODO: what if no template was found/matched? + raise NotImplementedError(f"No template found for property '{name}'") else: primary_measure_type = self.get_primary_measure_type(name, new_value=value) From 1acc743370cb7fd2beab7bdeb962598de208ec01 Mon Sep 17 00:00:00 2001 From: Totally a booplicate <53382877+Booplicate@users.noreply.github.com> Date: Sun, 4 Jun 2023 13:57:01 +0300 Subject: [PATCH 122/225] move prop check --- .../ifcopenshell/api/pset/edit_pset.py | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py b/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py index a01935e452..160d3a4254 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py +++ b/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py @@ -174,20 +174,31 @@ class Usecase: self.psetqto = ifcopenshell.util.pset.get_template(self.file.schema) self.pset_template = self.psetqto.get_by_name(self.settings["pset"].Name) + def _has_property(self, prop) -> bool: + """ + Checks if the property already exists + """ + return prop.Name in self.settings["properties"] + # TODO - Add support for changing property types? # For example - IfcPropertyEnumeratedValue to # IfcPropertySingleValue. Or maybe the user should # just delete the property first? - vulevukusej def update_existing_properties(self): for prop in self.get_properties(): + if not self._has_property(prop): + continue + if prop.is_a("IfcPropertyEnumeratedValue"): self.update_existing_enum(prop) + else: self.update_existing_property(prop) def update_existing_enum(self, prop): - if prop.Name not in self.settings["properties"]: - return + """ + NOTE: assumes the prop exists + """ value = self.settings["properties"][prop.Name] unit, value = self.unpack_unit_value(value) if isinstance(value, list): @@ -215,8 +226,9 @@ class Usecase: del self.settings["properties"][prop.Name] def update_existing_property(self, prop): - if prop.Name not in self.settings["properties"]: - return + """ + NOTE: assumes the prop exists + """ value = self.settings["properties"][prop.Name] unit, value = self.unpack_unit_value(value) if value is None: From a5353e02b5fbad830f059eae0383a2839807b485 Mon Sep 17 00:00:00 2001 From: Totally a booplicate <53382877+Booplicate@users.noreply.github.com> Date: Sun, 4 Jun 2023 13:58:44 +0300 Subject: [PATCH 123/225] support tuples --- src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py b/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py index 160d3a4254..cb3827332c 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py +++ b/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py @@ -201,7 +201,7 @@ class Usecase: """ value = self.settings["properties"][prop.Name] unit, value = self.unpack_unit_value(value) - if isinstance(value, list): + if isinstance(value, (tuple, list)): sel_vals = [] for val in value: primary_measure_type = prop.EnumerationReference.EnumerationValues[ From 3a0aaee03b0cad8b05f7965d080d5bbeef0e9457 Mon Sep 17 00:00:00 2001 From: Totally a booplicate <53382877+Booplicate@users.noreply.github.com> Date: Sun, 4 Jun 2023 14:21:02 +0300 Subject: [PATCH 124/225] restructure if/elif/else chain --- .../ifcopenshell/api/pset/edit_pset.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py b/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py index cb3827332c..b463661272 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py +++ b/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py @@ -201,6 +201,7 @@ class Usecase: """ value = self.settings["properties"][prop.Name] unit, value = self.unpack_unit_value(value) + if isinstance(value, (tuple, list)): sel_vals = [] for val in value: @@ -210,17 +211,23 @@ class Usecase: ifc_val = self.file.create_entity(primary_measure_type, val) sel_vals.append(ifc_val) prop.EnumerationValues = tuple(sel_vals) or None - else: - if value.EnumerationReference.EnumerationValues == (): + + elif ( + isinstance(value, ifcopenshell.entity_instance) + and value.is_a("IfcPropertyEnumeratedValue") + ): + if not value.EnumerationReference.EnumerationValues: if self.settings["should_purge"]: del self.settings["properties"][prop.Name] self.file.remove(prop) return prop.EnumerationReference.EnumerationValues = None prop.EnumerationValues = None - elif isinstance(value, ifcopenshell.entity_instance): + + else: prop.EnumerationReference.EnumerationValues = value.EnumerationReference.EnumerationValues prop.EnumerationValues = value.EnumerationValues + if unit: prop.Unit = unit del self.settings["properties"][prop.Name] From afa803ea62f7f000399743f4babef7931928867a Mon Sep 17 00:00:00 2001 From: Totally a booplicate <53382877+Booplicate@users.noreply.github.com> Date: Sun, 4 Jun 2023 14:36:46 +0300 Subject: [PATCH 125/225] implement _try_purge per review comment about repeating code --- .../ifcopenshell/api/pset/edit_pset.py | 25 +++++++++++++------ 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py b/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py index b463661272..a55d04bc0e 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py +++ b/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py @@ -180,6 +180,19 @@ class Usecase: """ return prop.Name in self.settings["properties"] + def _try_purge(self, prop) -> bool: + """ + Tried to remove the property + if successful, returns True, otherwise False + NOTE: Assumes the prop exists + """ + if not self.settings["should_purge"]: + return False + + del self.settings["properties"][prop.Name] + self.file.remove(prop) + return True + # TODO - Add support for changing property types? # For example - IfcPropertyEnumeratedValue to # IfcPropertySingleValue. Or maybe the user should @@ -197,7 +210,7 @@ class Usecase: def update_existing_enum(self, prop): """ - NOTE: assumes the prop exists + NOTE: Assumes the prop exists """ value = self.settings["properties"][prop.Name] unit, value = self.unpack_unit_value(value) @@ -217,9 +230,7 @@ class Usecase: and value.is_a("IfcPropertyEnumeratedValue") ): if not value.EnumerationReference.EnumerationValues: - if self.settings["should_purge"]: - del self.settings["properties"][prop.Name] - self.file.remove(prop) + if self._try_purge(prop): return prop.EnumerationReference.EnumerationValues = None prop.EnumerationValues = None @@ -234,14 +245,12 @@ class Usecase: def update_existing_property(self, prop): """ - NOTE: assumes the prop exists + NOTE: Assumes the prop exists """ value = self.settings["properties"][prop.Name] unit, value = self.unpack_unit_value(value) if value is None: - if self.settings["should_purge"]: - del self.settings["properties"][prop.Name] - self.file.remove(prop) + if self._try_purge(prop): return prop.NominalValue = None elif isinstance(value, ifcopenshell.entity_instance): From de67648f3e21372081e49e9df6710473108248e0 Mon Sep 17 00:00:00 2001 From: Totally a booplicate <53382877+Booplicate@users.noreply.github.com> Date: Sun, 4 Jun 2023 14:43:17 +0300 Subject: [PATCH 126/225] improve update_existing_properties explicit class check error out on a not supported type better methods names --- .../ifcopenshell/api/pset/edit_pset.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py b/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py index a55d04bc0e..f67faff885 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py +++ b/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py @@ -203,12 +203,14 @@ class Usecase: continue if prop.is_a("IfcPropertyEnumeratedValue"): - self.update_existing_enum(prop) + self.update_existing_prop_enum(prop) - else: - self.update_existing_property(prop) + elif prop.is_a("IfcPropertySingleValue"): + self.update_existing_prop_single_value(prop) - def update_existing_enum(self, prop): + raise NotImplementedError(f"Updating '{prop.is_a()}' properties is not supported yet") + + def update_existing_prop_enum(self, prop): """ NOTE: Assumes the prop exists """ @@ -243,7 +245,7 @@ class Usecase: prop.Unit = unit del self.settings["properties"][prop.Name] - def update_existing_property(self, prop): + def update_existing_prop_single_value(self, prop): """ NOTE: Assumes the prop exists """ From 3d787338fbb235403c473ed7d51fd207757937a4 Mon Sep 17 00:00:00 2001 From: Totally a booplicate <53382877+Booplicate@users.noreply.github.com> Date: Sun, 4 Jun 2023 14:45:23 +0300 Subject: [PATCH 127/225] improve naming of the new method --- src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py b/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py index f67faff885..de76957327 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py +++ b/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py @@ -174,9 +174,9 @@ class Usecase: self.psetqto = ifcopenshell.util.pset.get_template(self.file.schema) self.pset_template = self.psetqto.get_by_name(self.settings["pset"].Name) - def _has_property(self, prop) -> bool: + def _should_update_prop(self, prop) -> bool: """ - Checks if the property already exists + Checks if the given property should be changed """ return prop.Name in self.settings["properties"] @@ -199,7 +199,7 @@ class Usecase: # just delete the property first? - vulevukusej def update_existing_properties(self): for prop in self.get_properties(): - if not self._has_property(prop): + if not self._should_update_prop(prop): continue if prop.is_a("IfcPropertyEnumeratedValue"): From 51e5f843ba5f52b40b147b2f55bd286bd78bdce5 Mon Sep 17 00:00:00 2001 From: Totally a booplicate <53382877+Booplicate@users.noreply.github.com> Date: Sun, 4 Jun 2023 14:56:43 +0300 Subject: [PATCH 128/225] rework unpack_unit_value handle the `None` case, simplify logic --- .../ifcopenshell/api/pset/edit_pset.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py b/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py index de76957327..ff27ecfba4 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py +++ b/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py @@ -405,10 +405,14 @@ class Usecase: @staticmethod def unpack_unit_value(value_candidate): - unit = None + """ + Returns tuple of the format: (Unit, NominalValue) + NOTE: Unit fallbacks to None + """ + if value_candidate is None: + return (None, None) + if isinstance(value_candidate, dict): # Custom IfcUnits can be passed in a dict along with the pset value - unit = value_candidate["Unit"] - value = value_candidate["NominalValue"] - else: - value = value_candidate - return unit, value + return (value_candidate["Unit"], value_candidate["NominalValue"]) + + return (None, value_candidate) From 5999976d37a6bdfec9cd5c3f1ca2a9ccae6f45b4 Mon Sep 17 00:00:00 2001 From: Totally a booplicate <53382877+Booplicate@users.noreply.github.com> Date: Sun, 4 Jun 2023 15:02:45 +0300 Subject: [PATCH 129/225] raise TypeError on invalid pset --- src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py b/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py index ff27ecfba4..a97c6a26ee 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py +++ b/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py @@ -359,11 +359,17 @@ class Usecase: self.settings["pset"].Properties = props def get_properties(self): + """ + Returns list of existing properties + """ if hasattr(self.settings["pset"], "HasProperties"): return self.settings["pset"].HasProperties or [] + elif hasattr(self.settings["pset"], "Properties"): # For IfcMaterialProperties return self.settings["pset"].Properties or [] + raise TypeError(f"'{self.settings['pset']}' is not a valid pset") + def get_primary_measure_type(self, name, old_value=None, new_value=None): if self.pset_template: for prop_template in self.pset_template.HasPropertyTemplates: From 1ecb25684eff9d4d27c1007f9da3b6cae4ed2cd4 Mon Sep 17 00:00:00 2001 From: Totally a booplicate <53382877+Booplicate@users.noreply.github.com> Date: Sun, 4 Jun 2023 16:15:23 +0300 Subject: [PATCH 130/225] fix missing else clause --- src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py b/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py index a97c6a26ee..6a1d5c838e 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py +++ b/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py @@ -335,7 +335,8 @@ class Usecase: raise NotImplementedError(f"Template type '{pset_template.TemplateType}' is not supported yet") - raise NotImplementedError(f"No template found for property '{name}'") + else: + raise NotImplementedError(f"No template found for property '{name}'") else: primary_measure_type = self.get_primary_measure_type(name, new_value=value) From d31b470e83208e4da6a68a77ca15d255f3df21ff Mon Sep 17 00:00:00 2001 From: Totally a booplicate <53382877+Booplicate@users.noreply.github.com> Date: Sun, 4 Jun 2023 21:06:59 +0300 Subject: [PATCH 131/225] smol fix --- .../ifcopenshell/api/pset/edit_pset.py | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py b/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py index 6a1d5c838e..ca567294cd 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py +++ b/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py @@ -182,7 +182,7 @@ class Usecase: def _try_purge(self, prop) -> bool: """ - Tried to remove the property + Tries to remove the property if successful, returns True, otherwise False NOTE: Assumes the prop exists """ @@ -280,11 +280,11 @@ class Usecase: # If it's not an entity, then it's a primitive data type elif not value.is_entity(): - args = {"Name": name, "NominalValue": value} + kwargs = {"Name": name, "NominalValue": value} if unit: - args["Unit"] = unit + kwargs["Unit"] = unit properties.append( - self.file.create_entity("IfcPropertySingleValue", **args) + self.file.create_entity("IfcPropertySingleValue", **kwargs) ) else: @@ -303,14 +303,14 @@ class Usecase: raise ValueError(f"pset template '{pset_template.Name}' is missing PrimaryMeasureType") properties.append( - self.file.create_entity( - "IfcPropertyListValue", - Name=name, - ListValues=[ - self.file.create_entity(ifc_class, v) - for v in value - ], - Unit=unit + self.file.create_entity( + "IfcPropertyListValue", + Name=name, + ListValues=[ + self.file.create_entity(ifc_class, v) + for v in value + ], + Unit=unit ) ) break From 1278f98df6e8836e4ef5742a6128d7abc2437e1b Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Fri, 16 Jun 2023 14:07:25 +0200 Subject: [PATCH 132/225] Add test --- .../test/api/pset/test_edit_pset.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/ifcopenshell-python/test/api/pset/test_edit_pset.py b/src/ifcopenshell-python/test/api/pset/test_edit_pset.py index 52d7404693..54e1d61633 100644 --- a/src/ifcopenshell-python/test/api/pset/test_edit_pset.py +++ b/src/ifcopenshell-python/test/api/pset/test_edit_pset.py @@ -16,6 +16,7 @@ # You should have received a copy of the GNU Lesser General Public License # along with IfcOpenShell. If not, see . +import operator import test.bootstrap import ifcopenshell.api @@ -166,6 +167,22 @@ class TestEditPset(test.bootstrap.IFC4): assert pset.HasProperties[0].NominalValue.is_a("IfcContextDependentMeasure") assert pset.HasProperties[0].NominalValue.wrappedValue == 34 + def test_editing_list_valued_properties(self): + cable = ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcDistributionPort", predefined_type="CABLE") + pset = ifcopenshell.api.run("pset.add_pset", self.file, product=cable, name="Pset_DistributionPortTypeCable") + ifcopenshell.api.run( + "pset.edit_pset", + self.file, + pset=pset, + properties={ + "Protocols": ["One", "Two", "Three"], + }, + ) + assert pset.HasProperties[0].is_a('IfcPropertyListValue') + assert len(pset.HasProperties[0].ListValues) == 3 + assert set(map(ifcopenshell.entity_instance.is_a, pset.HasProperties[0].ListValues)) == {'IfcIdentifier'} + assert list(map(operator.itemgetter(0), pset.HasProperties[0].ListValues)) == ['One', 'Two', 'Three'] + def test_editing_properties_with_an_explicit_type(self): element = ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcWall") pset = ifcopenshell.api.run("pset.add_pset", self.file, product=element, name="Foo_Bar") From 9c2130462925b0b05ebfe2b6d04362e4150e9898 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Fri, 16 Jun 2023 14:07:39 +0200 Subject: [PATCH 133/225] Correct if-clause --- src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py b/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py index ca567294cd..1dfe55312e 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py +++ b/src/ifcopenshell-python/ifcopenshell/api/pset/edit_pset.py @@ -208,7 +208,8 @@ class Usecase: elif prop.is_a("IfcPropertySingleValue"): self.update_existing_prop_single_value(prop) - raise NotImplementedError(f"Updating '{prop.is_a()}' properties is not supported yet") + else: + raise NotImplementedError(f"Updating '{prop.is_a()}' properties is not supported yet") def update_existing_prop_enum(self, prop): """ From 5e8ec48d987d1142dab1e0fadf61dfc6668d8796 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Fri, 16 Jun 2023 14:16:17 +0200 Subject: [PATCH 134/225] Comment out import mysql.connector --- src/ifcopenshell-python/ifcopenshell/sql.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ifcopenshell-python/ifcopenshell/sql.py b/src/ifcopenshell-python/ifcopenshell/sql.py index 91a27a0e79..f68e60b147 100644 --- a/src/ifcopenshell-python/ifcopenshell/sql.py +++ b/src/ifcopenshell-python/ifcopenshell/sql.py @@ -2,7 +2,7 @@ try: import re import json import sqlite3 - import mysql.connector + # import mysql.connector import numpy as np import ifcopenshell.util.schema from .file import file From e6b05b547b62c17660903f3c80478a1567fc2e55 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Fri, 16 Jun 2023 20:32:40 +0200 Subject: [PATCH 135/225] Further defer sql.py imports for ifcopenbot to succeed --- src/ifcopenshell-python/ifcopenshell/sql.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/sql.py b/src/ifcopenshell-python/ifcopenshell/sql.py index f68e60b147..e1844d4d6c 100644 --- a/src/ifcopenshell-python/ifcopenshell/sql.py +++ b/src/ifcopenshell-python/ifcopenshell/sql.py @@ -1,19 +1,20 @@ try: import re import json - import sqlite3 - # import mysql.connector - import numpy as np + import ifcopenshell.util.schema from .file import file from . import ifcopenshell_wrapper from .entity_instance import entity_instance -except: +except ImportError as e: + print(f"No SQL support: {e}") pass # No SQL support class sqlite(file): def __init__(self, filepath): + import sqlite3 + self.wrapped_data = None self.history_size = 64 self.history = [] @@ -24,6 +25,7 @@ class sqlite(file): self.db = sqlite3.connect(self.filepath) self.db.row_factory = sqlite3.Row + # import mysql.connector # self.db = mysql.connector.connect( # host="localhost", # user="root", @@ -198,6 +200,8 @@ class sqlite(file): return False def get_geometry(self, ids): + import numpy as np + ids_csv = ",".join(map(str, ids)) query = f"SELECT ifc_id, x, y, z, matrix, geometry, verts, edges, faces, material_ids, materials FROM shape LEFT JOIN geometry ON shape.geometry = geometry.id WHERE `ifc_id` IN ({ids_csv})" self.cursor.execute(query) From ddef4820d05632d1e5cd1192df41258b43af8e51 Mon Sep 17 00:00:00 2001 From: Bruno Postle Date: Fri, 16 Jun 2023 19:30:20 +0100 Subject: [PATCH 136/225] BlenderBIM Git merge asymmetry heuristic (#3096) `ifcmerge` is asymmetrical. When both branches have new entities, either local or remote step Ids need to be renumbered to resolve the merge conflict. If the remote branch is 'origin/main' or 'main' we preserve remote Ids, otherwise we preserve local Ids. This should support a workflow where a local 'main' branch is kept pristine, but other local branches are treated as disposable; it should also support a workflow where multiple authors access a shared 'origin'. --- src/blenderbim/blenderbim/tool/ifcgit.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/blenderbim/blenderbim/tool/ifcgit.py b/src/blenderbim/blenderbim/tool/ifcgit.py index ef9b4b770c..5851dcbfce 100644 --- a/src/blenderbim/blenderbim/tool/ifcgit.py +++ b/src/blenderbim/blenderbim/tool/ifcgit.py @@ -421,13 +421,19 @@ class IfcGit: for branch in lookup[item.hexsha]: if branch.name == props.display_branch: # this is a branch! + if re.match("^(origin/)?(HEAD|main|master)$", branch.name): + # preserve remote IDs in origin/main or main + mergetool = "ifcmerge" + else: + # rewrite remote IDs + mergetool = "ifcmerge-forward" try: # NOTE this is calling the git binary in a subprocess repo.git.merge(branch) except git.exc.GitCommandError: # merge is expected to fail, run ifcmerge try: - repo.git.mergetool(tool="ifcmerge") + repo.git.mergetool(tool=mergetool) except git.exc.GitCommandError as exc: message = re.sub("( stderr: '|')", "", exc.stderr) # ifcmerge failed, rollback From 6a2bbfa85cf2fab1f2e27a0d82442cf952b72199 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Mon, 19 Jun 2023 10:57:11 +0500 Subject: [PATCH 137/225] Added button to update current style #3293 Example - https://i.imgur.com/f4Yi3MR.png Now changing style type should be a bit more intuitive - previously there were no button and it wasn't possible to change style type for all selected objects / changing style type for the entire scene were hidden in N-panel Miscellaneous section. Now it also able to change style type for all blender materials, even the ones that don't have any objects using them (wasn't possible before 7c0c934b4) --- .../blenderbim/bim/module/misc/ui.py | 2 - .../blenderbim/bim/module/style/__init__.py | 1 + .../blenderbim/bim/module/style/operator.py | 47 +++++++++++++++++++ .../blenderbim/bim/module/style/prop.py | 11 ++--- .../blenderbim/bim/module/style/ui.py | 1 + 5 files changed, 52 insertions(+), 10 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/misc/ui.py b/src/blenderbim/blenderbim/bim/module/misc/ui.py index 910f4a003d..9fe4e178cc 100644 --- a/src/blenderbim/blenderbim/bim/module/misc/ui.py +++ b/src/blenderbim/blenderbim/bim/module/misc/ui.py @@ -30,8 +30,6 @@ class BIM_PT_misc_utilities(bpy.types.Panel): def draw(self, context): layout = self.layout props = context.scene.BIMMiscProperties - row = layout.row() - row.prop(context.scene.BIMStylesProperties, "active_style_type", icon="SHADING_RENDERED", text="") row = layout.split(factor=0.2, align=True) row.prop(props, "override_colour", text="") row.operator("bim.set_override_colour") diff --git a/src/blenderbim/blenderbim/bim/module/style/__init__.py b/src/blenderbim/blenderbim/bim/module/style/__init__.py index c831f47d57..0d9c3901be 100644 --- a/src/blenderbim/blenderbim/bim/module/style/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/style/__init__.py @@ -24,6 +24,7 @@ classes = ( operator.EnableEditingStyle, operator.DisableEditingStyle, operator.EditStyle, + operator.UpdateCurrentStyle, operator.EnableEditingExternalStyle, operator.DisableEditingExternalStyle, operator.EditExternalStyle, diff --git a/src/blenderbim/blenderbim/bim/module/style/operator.py b/src/blenderbim/blenderbim/bim/module/style/operator.py index 9dd0401c7c..dad1c65319 100644 --- a/src/blenderbim/blenderbim/bim/module/style/operator.py +++ b/src/blenderbim/blenderbim/bim/module/style/operator.py @@ -107,6 +107,53 @@ class EditStyle(bpy.types.Operator, tool.Ifc.Operator): core.edit_style(tool.Ifc, tool.Style, obj=context.active_object.active_material) +class UpdateCurrentStyle(bpy.types.Operator): + bl_idname = "bim.update_current_style" + bl_label = "Update Current Style" + bl_description = ( + "Update style for all selected objects according to current style type\n(Shading/External).\n\n" + + "SHIFT+CLICK to update ALL styles in the .ifc file to current style type" + ) + bl_options = {"REGISTER", "UNDO"} + update_all: bpy.props.BoolProperty(name="Update All", default=False) + + @classmethod + def poll(cls, context): + poll = ( + context.active_object is not None + and context.active_object.active_material is not None + and context.active_object.active_material.BIMMaterialProperties.ifc_style_id != 0 + ) + if not poll: + cls.poll_message_set( + "Object is not selected or material is not assigned or material doesn't have IFC Style" + ) + return poll + + def invoke(self, context, event): + # updating all styles on shift+click + if event.type == "LEFTMOUSE" and event.shift: + self.update_all = True + else: + # can't rely on default value since the line above + # will set the value to `True` for all future operator calls + self.update_all = False + return self.execute(context) + + def execute(self, context): + current_style_type = context.active_object.active_material.BIMStyleProperties.active_style_type + if self.update_all: + context.scene.BIMStylesProperties.active_style_type = current_style_type + return {"FINISHED"} + + materials = [] + for obj in context.selected_objects: + mat = obj.active_material + if mat and mat.BIMMaterialProperties.ifc_style_id != 0: + mat.BIMStyleProperties.active_style_type = current_style_type + return {"FINISHED"} + + class BrowseExternalStyle(bpy.types.Operator): bl_idname = "bim.browse_external_style" bl_label = "Browse External Style" diff --git a/src/blenderbim/blenderbim/bim/module/style/prop.py b/src/blenderbim/blenderbim/bim/module/style/prop.py index 266a2d56d8..1b2a9035be 100644 --- a/src/blenderbim/blenderbim/bim/module/style/prop.py +++ b/src/blenderbim/blenderbim/bim/module/style/prop.py @@ -53,14 +53,9 @@ STYLE_TYPES = [ def update_shading_styles(self, context): - materials_to_objects = dict() - - for obj in bpy.data.objects: - blender_material = obj.active_material - if blender_material and blender_material.BIMMaterialProperties.ifc_style_id != 0: - materials_to_objects[blender_material] = obj - - for mat, obj in materials_to_objects.items(): + for mat in bpy.data.materials: + if mat.BIMMaterialProperties.ifc_style_id == 0: + continue tool.Style.change_current_style_type(mat, self.active_style_type) diff --git a/src/blenderbim/blenderbim/bim/module/style/ui.py b/src/blenderbim/blenderbim/bim/module/style/ui.py index 0d2fcdeba7..33a75aa778 100644 --- a/src/blenderbim/blenderbim/bim/module/style/ui.py +++ b/src/blenderbim/blenderbim/bim/module/style/ui.py @@ -90,6 +90,7 @@ class BIM_PT_style(MaterialButtonsPanel, Panel): return row.prop(style_props, "active_style_type", icon="SHADING_RENDERED", text="") + row.operator("bim.update_current_style", icon="FILE_REFRESH", text="") row = self.layout.row(align=True) row.operator("bim.update_style_colours", icon="GREASEPENCIL") row.operator("bim.update_style_textures", icon="TEXTURE", text="") From dfc5a280a435de012ee18d62577f6e616af96804 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Mon, 19 Jun 2023 15:50:56 +0500 Subject: [PATCH 138/225] Fixed error on disabling editing window --- src/blenderbim/blenderbim/bim/module/model/window.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/blenderbim/blenderbim/bim/module/model/window.py b/src/blenderbim/blenderbim/bim/module/model/window.py index aa0c6689d0..c26416b682 100644 --- a/src/blenderbim/blenderbim/bim/module/model/window.py +++ b/src/blenderbim/blenderbim/bim/module/model/window.py @@ -481,6 +481,8 @@ class CancelEditingWindow(bpy.types.Operator, tool.Ifc.Operator): obj = context.active_object element = tool.Ifc.get_entity(obj) data = json.loads(ifcopenshell.util.element.get_pset(element, "BBIM_Window", "Data")) + data.update(data.pop("lining_properties")) + data.update(data.pop("panel_properties")) props = obj.BIMWindowProperties props.set_props_kwargs_from_ifc_data(data) From a34be6ae5d3ccdecfe957200aed80e393e45d3dc Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Mon, 19 Jun 2023 16:09:42 +0500 Subject: [PATCH 139/225] Getting shader graph nodes by type rather than name #3316 Because relying on names doesn't work for non english users --- .../blenderbim/bim/module/sequence/prop.py | 4 ++-- src/blenderbim/blenderbim/tool/blender.py | 10 ++++++++++ src/blenderbim/blenderbim/tool/loader.py | 8 ++++---- src/blenderbim/blenderbim/tool/sequence.py | 2 +- src/blenderbim/test/tool/test_geometry.py | 4 ++-- src/blenderbim/test/tool/test_style.py | 12 ++++++------ src/ifcblender/io_import_scene_ifc/__init__.py | 3 ++- 7 files changed, 27 insertions(+), 16 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/sequence/prop.py b/src/blenderbim/blenderbim/bim/module/sequence/prop.py index 0a27e24757..07929a4771 100644 --- a/src/blenderbim/blenderbim/bim/module/sequence/prop.py +++ b/src/blenderbim/blenderbim/bim/module/sequence/prop.py @@ -261,7 +261,7 @@ def update_color_full(self, context): material = bpy.data.materials.get("color_full") if material: color_full = bpy.context.scene.BIMAnimationProperties.color_full - inputs = material.node_tree.nodes["Principled BSDF"].inputs + inputs = tool.Blender.get_material_node(material, "BSDF_PRINCIPLED").inputs color = inputs["Base Color"].default_value color[0] = color_full.r color[1] = color_full.g @@ -272,7 +272,7 @@ def update_color_progress(self, context): material = bpy.data.materials.get("color_progress") if material: color_progress = bpy.context.scene.BIMAnimationProperties.color_progress - inputs = material.node_tree.nodes["Principled BSDF"].inputs + inputs = tool.Blender.get_material_node(material, "BSDF_PRINCIPLED").inputs color = inputs["Base Color"].default_value color[0] = color_progress.r color[1] = color_progress.g diff --git a/src/blenderbim/blenderbim/tool/blender.py b/src/blenderbim/blenderbim/tool/blender.py index 23b87252c1..0b8771de4e 100644 --- a/src/blenderbim/blenderbim/tool/blender.py +++ b/src/blenderbim/blenderbim/tool/blender.py @@ -144,6 +144,16 @@ class Blender: # restore shader editor settings shader_editor.pin = previous_pin_setting + @classmethod + def get_material_node(cls, blender_material, node_type): + """returns first node from the `blender_material` shader graph with type `node_type`""" + if not blender_material.use_nodes: + return + nodes = blender_material.node_tree.nodes + for node in nodes: + if node.type == node_type: + return node + @classmethod def update_screen(cls): bpy.ops.wm.redraw_timer(type="DRAW_WIN_SWAP", iterations=1) diff --git a/src/blenderbim/blenderbim/tool/loader.py b/src/blenderbim/blenderbim/tool/loader.py index f0958b2e06..72473b58f4 100644 --- a/src/blenderbim/blenderbim/tool/loader.py +++ b/src/blenderbim/blenderbim/tool/loader.py @@ -85,7 +85,7 @@ class Loader(blenderbim.core.tool.Loader): if surface_style.ReflectanceMethod in ["PHYSICAL", "NOTDEFINED"]: blender_material.use_nodes = True cls.restart_material_node_tree(blender_material) - bsdf = blender_material.node_tree.nodes["Principled BSDF"] + bsdf = tool.Blender.get_material_node(blender_material, "BSDF_PRINCIPLED") if surface_style.DiffuseColour: if surface_style.DiffuseColour.is_a("IfcColourRgb"): bsdf.inputs["Base Color"].default_value = ( @@ -114,7 +114,7 @@ class Loader(blenderbim.core.tool.Loader): cls.restart_material_node_tree(blender_material) output = {n.type: n for n in blender_material.node_tree.nodes}.get("OUTPUT_MATERIAL", None) - bsdf = blender_material.node_tree.nodes["Principled BSDF"] + bsdf = tool.Blender.get_material_node(blender_material, "BSDF_PRINCIPLED") mix = blender_material.node_tree.nodes.new(type="ShaderNodeMixShader") mix.location = bsdf.location @@ -154,7 +154,7 @@ class Loader(blenderbim.core.tool.Loader): image_url = os.path.join(os.path.dirname(tool.Ifc.get_path()), texture.URLReference) if rendering_style.ReflectanceMethod in ["PHYSICAL", "NOTDEFINED"]: - bsdf = blender_material.node_tree.nodes["Principled BSDF"] + bsdf = tool.Blender.get_material_node(blender_material, "BSDF_PRINCIPLED") if mode == "NORMAL": normalmap = blender_material.node_tree.nodes.new(type="ShaderNodeNormalMap") normalmap.location = bsdf.location - mathutils.Vector((200, 0)) @@ -208,7 +208,7 @@ class Loader(blenderbim.core.tool.Loader): blender_material.node_tree.links.new(node.outputs[1], bsdf.inputs["Alpha"]) blender_material.blend_method = "BLEND" elif rendering_style.ReflectanceMethod == "FLAT": - bsdf = blender_material.node_tree.nodes["Mix Shader"] + bsdf = tool.Blender.get_material_node(blender_material, "MIX_SHADER") if mode == "EMISSIVE": node = blender_material.node_tree.nodes.new(type="ShaderNodeTexImage") node.location = bsdf.location - mathutils.Vector((200, 0)) diff --git a/src/blenderbim/blenderbim/tool/sequence.py b/src/blenderbim/blenderbim/tool/sequence.py index 1fd9b465e7..eef330f713 100644 --- a/src/blenderbim/blenderbim/tool/sequence.py +++ b/src/blenderbim/blenderbim/tool/sequence.py @@ -947,7 +947,7 @@ class Sequence(blenderbim.core.tool.Sequence): def set_material(name, r, g, b): material = bpy.data.materials.new(name) material.use_nodes = True - material.node_tree.nodes["Principled BSDF"].inputs[0].default_value = (r, g, b, 1.0) + tool.Blender.get_material_node(material, "BSDF_PRINCIPLED").inputs[0].default_value = (r, g, b, 1.0) return material def get_animation_materials(): diff --git a/src/blenderbim/test/tool/test_geometry.py b/src/blenderbim/test/tool/test_geometry.py index 9608aefbe8..f1e5a6c4b1 100644 --- a/src/blenderbim/test/tool/test_geometry.py +++ b/src/blenderbim/test/tool/test_geometry.py @@ -478,7 +478,7 @@ class TestShouldGenerateUVs(NewFile): obj.data.materials.append(material) material.use_nodes = True - bsdf = material.node_tree.nodes["Principled BSDF"] + bsdf = tool.Blender.get_material_node(material, "BSDF_PRINCIPLED") node = material.node_tree.nodes.new(type="ShaderNodeTexImage") material.node_tree.links.new(bsdf.inputs["Base Color"], node.outputs["Color"]) @@ -494,7 +494,7 @@ class TestShouldGenerateUVs(NewFile): obj.data.materials.append(material) material.use_nodes = True - bsdf = material.node_tree.nodes["Principled BSDF"] + bsdf = tool.Blender.get_material_node(material, "BSDF_PRINCIPLED") node = material.node_tree.nodes.new(type="ShaderNodeTexImage") material.node_tree.links.new(bsdf.inputs["Base Color"], node.outputs["Color"]) diff --git a/src/blenderbim/test/tool/test_style.py b/src/blenderbim/test/tool/test_style.py index 3de9896825..8b4bf6842d 100644 --- a/src/blenderbim/test/tool/test_style.py +++ b/src/blenderbim/test/tool/test_style.py @@ -136,7 +136,7 @@ class TestGetSurfaceRenderingAttributes(NewFile): obj = bpy.data.materials.new("Material") obj.diffuse_color = [1, 1, 1, 1] obj.use_nodes = True - node = obj.node_tree.nodes["Principled BSDF"] + node = tool.Blender.get_material_node(obj, "BSDF_PRINCIPLED") node.inputs["Alpha"].default_value = 0.8 node.inputs["Base Color"].default_value = [0.5, 0.5, 0.5, 0.5] node.inputs["Roughness"].default_value = 0.2 @@ -163,7 +163,7 @@ class TestGetSurfaceRenderingAttributes(NewFile): obj = bpy.data.materials.new("Material") obj.diffuse_color = [1, 1, 1, 1] obj.use_nodes = True - node = obj.node_tree.nodes["Principled BSDF"] + node = tool.Blender.get_material_node(obj, "BSDF_PRINCIPLED") obj.node_tree.nodes.remove(node) node = obj.node_tree.nodes.new(type="ShaderNodeBsdfGlossy") node.inputs["Color"].default_value = [0.5, 0.5, 0.5, 0.5] @@ -190,7 +190,7 @@ class TestGetSurfaceRenderingAttributes(NewFile): obj = bpy.data.materials.new("Material") obj.diffuse_color = [1, 1, 1, 1] obj.use_nodes = True - node = obj.node_tree.nodes["Principled BSDF"] + node = tool.Blender.get_material_node(obj, "BSDF_PRINCIPLED") obj.node_tree.nodes.remove(node) node = obj.node_tree.nodes.new(type="ShaderNodeBsdfDiffuse") node.inputs["Color"].default_value = [0.5, 0.5, 0.5, 0.5] @@ -217,7 +217,7 @@ class TestGetSurfaceRenderingAttributes(NewFile): obj = bpy.data.materials.new("Material") obj.diffuse_color = [1, 1, 1, 1] obj.use_nodes = True - node = obj.node_tree.nodes["Principled BSDF"] + node = tool.Blender.get_material_node(obj, "BSDF_PRINCIPLED") obj.node_tree.nodes.remove(node) node = obj.node_tree.nodes.new(type="ShaderNodeBsdfGlass") node.inputs["Color"].default_value = [0.5, 0.5, 0.5, 0.5] @@ -244,7 +244,7 @@ class TestGetSurfaceRenderingAttributes(NewFile): obj = bpy.data.materials.new("Material") obj.diffuse_color = [1, 1, 1, 1] obj.use_nodes = True - node = obj.node_tree.nodes["Principled BSDF"] + node = tool.Blender.get_material_node(obj, "BSDF_PRINCIPLED") obj.node_tree.nodes.remove(node) node = obj.node_tree.nodes.new(type="ShaderNodeEmission") node.inputs["Color"].default_value = [0.5, 0.5, 0.5, 0.5] @@ -270,7 +270,7 @@ class TestGetSurfaceRenderingAttributes(NewFile): obj = bpy.data.materials.new("Material") obj.diffuse_color = [1, 1, 1, 1] obj.use_nodes = True - node = obj.node_tree.nodes["Principled BSDF"] + node = tool.Blender.get_material_node(obj, "BSDF_PRINCIPLED") obj.node_tree.nodes.remove(node) node = obj.node_tree.nodes.new(type="ShaderNodeVolumePrincipled") node.inputs["Color"].default_value = [0.5, 0.5, 0.5, 0.5] diff --git a/src/ifcblender/io_import_scene_ifc/__init__.py b/src/ifcblender/io_import_scene_ifc/__init__.py index a182af1c92..2c3aaf1e26 100644 --- a/src/ifcblender/io_import_scene_ifc/__init__.py +++ b/src/ifcblender/io_import_scene_ifc/__init__.py @@ -176,7 +176,8 @@ def import_ifc(filename, use_names, process_relations, blender_booleans): mat.use_screen_refraction = True mat.refraction_depth = 0.1 mat.use_nodes = True - mat.node_tree.nodes["Principled BSDF"].inputs[15].default_value = v + bsdf = next(n for n in mat.node_tree.nodes if n.type == "BSDF_PRINCIPLED") + bsdf.inputs[15].default_value = v else: setattr(mat, k, v) me.materials.append(mat) From 2b3d547c993d68cc35e5e22db51f7335f322bbfd Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Mon, 19 Jun 2023 13:47:45 +0200 Subject: [PATCH 140/225] #3120 item_id vector --- .../IfcGeomRepresentation.cpp | 14 ++++++++------ .../IfcGeomRepresentation.h | 14 ++++++++------ src/ifcwrap/IfcGeomWrapper.i | 1 + src/serializers/HdfSerializer.cpp | 6 +++++- src/serializers/HdfSerializer.h | 1 + 5 files changed, 23 insertions(+), 13 deletions(-) diff --git a/src/ifcgeom_schema_agnostic/IfcGeomRepresentation.cpp b/src/ifcgeom_schema_agnostic/IfcGeomRepresentation.cpp index c17ce210ee..7b0bd95756 100644 --- a/src/ifcgeom_schema_agnostic/IfcGeomRepresentation.cpp +++ b/src/ifcgeom_schema_agnostic/IfcGeomRepresentation.cpp @@ -332,7 +332,7 @@ IfcGeom::Representation::Triangulation::Triangulation(const BRep& shape_model) for (int i = 1; i <= tri->NbNodes(); ++i) { coords.push_back(tri->Node(i).Transformed(loc).XYZ()); trsf.Transforms(*coords.rbegin()); - dict[i] = addVertex(surface_style_id, *coords.rbegin()); + dict[i] = addVertex(iit->ItemId(), surface_style_id, *coords.rbegin()); if (calculate_normals) { const gp_Pnt2d& uv = tri->UVNode(i); @@ -387,6 +387,7 @@ IfcGeom::Representation::Triangulation::Triangulation(const BRep& shape_model) _faces.push_back(dict[n3]); _material_ids.push_back(surface_style_id); + _item_ids.push_back(iit->ItemId()); addEdge(dict[n1], dict[n2], edgecount, edges_temp); addEdge(dict[n2], dict[n3], edgecount, edges_temp); @@ -420,7 +421,7 @@ IfcGeom::Representation::Triangulation::Triangulation(const BRep& shape_model) for (int i = 1; i <= n; ++i) { gp_XYZ p = tessellater.Value(i).XYZ(); - int current = addVertex(surface_style_id, p); + int current = addVertex(iit->ItemId(), surface_style_id, p); std::vector> segments; if (i > 1) { @@ -452,8 +453,8 @@ IfcGeom::Representation::Triangulation::Triangulation(const BRep& shape_model) trsf.Transforms(p3); trsf.Transforms(p); - int left = addVertex(surface_style_id, p2); - int right = addVertex(surface_style_id, p3); + int left = addVertex(iit->ItemId(), surface_style_id, p2); + int right = addVertex(iit->ItemId(), surface_style_id, p3); segments.push_back(std::make_pair(left, current)); segments.push_back(std::make_pair(right, current)); @@ -463,6 +464,7 @@ IfcGeom::Representation::Triangulation::Triangulation(const BRep& shape_model) _edges.push_back(sgmt.first); _edges.push_back(sgmt.second); _material_ids.push_back(surface_style_id); + _item_ids.push_back(iit->ItemId()); } previous = current; @@ -505,14 +507,14 @@ std::vector IfcGeom::Representation::Triangulation::box_project_uvs(cons return uvs; } -int IfcGeom::Representation::Triangulation::addVertex(int material_index, const gp_XYZ & p) { +int IfcGeom::Representation::Triangulation::addVertex(int item_index, int material_index, const gp_XYZ & p) { const bool convert = settings().get(IteratorSettings::CONVERT_BACK_UNITS); const double X = convert ? (p.X() / settings().unit_magnitude()) : p.X(); const double Y = convert ? (p.Y() / settings().unit_magnitude()) : p.Y(); const double Z = convert ? (p.Z() / settings().unit_magnitude()) : p.Z(); int i = (int)_verts.size() / 3; if (settings().get(IteratorSettings::WELD_VERTICES)) { - const VertexKey key = std::make_pair(material_index, std::make_pair(X, std::make_pair(Y, Z))); + const VertexKey key = std::make_tuple(item_index, material_index, X, Y, Z); typename VertexKeyMap::const_iterator it = welds.find(key); if (it != welds.end()) return it->second; i = (int)(welds.size() + weld_offset_); diff --git a/src/ifcgeom_schema_agnostic/IfcGeomRepresentation.h b/src/ifcgeom_schema_agnostic/IfcGeomRepresentation.h index ecb71f374c..2762e40321 100644 --- a/src/ifcgeom_schema_agnostic/IfcGeomRepresentation.h +++ b/src/ifcgeom_schema_agnostic/IfcGeomRepresentation.h @@ -105,10 +105,8 @@ namespace IfcGeom { class Triangulation : public Representation { private: - // A nested pair of floats and a material index to be able to store an XYZ coordinate in a map. - // TODO: Make this a std::tuple when compilers add support for that. - typedef typename std::pair > Coordinate; - typedef typename std::pair VertexKey; + // A tuple of to store as a key in a map. + typedef typename std::tuple VertexKey; typedef std::map VertexKeyMap; typedef std::pair Edge; @@ -120,6 +118,7 @@ namespace IfcGeom { std::vector uvs_; std::vector _material_ids; std::vector _materials; + std::vector _item_ids; size_t weld_offset_; VertexKeyMap welds; @@ -137,6 +136,7 @@ namespace IfcGeom { const std::vector& uvs() const { return uvs_; } const std::vector& material_ids() const { return _material_ids; } const std::vector& materials() const { return _materials; } + const std::vector& item_ids() const { return _item_ids; } Triangulation(const BRep& shape_model); @@ -149,7 +149,8 @@ namespace IfcGeom { const std::vector& normals, const std::vector& uvs, const std::vector& material_ids, - const std::vector>& styles) + const std::vector>& styles, + const std::vector& item_ids) : Representation(settings) , id_(id) , _verts(verts) @@ -159,6 +160,7 @@ namespace IfcGeom { , uvs_(uvs) , _material_ids(material_ids) , styles_(styles) + , _item_ids(item_ids) { for (auto& s : styles_) { _materials.push_back(IfcGeom::Material(s)); @@ -173,7 +175,7 @@ namespace IfcGeom { private: /// Welds vertices that belong to different faces - int addVertex(int material_index, const gp_XYZ& p); + int addVertex(int item_index, int material_index, const gp_XYZ& p); void addEdge(int n1, int n2, std::map, int>& edgecount, std::vector >& edges_temp); Triangulation(); diff --git a/src/ifcwrap/IfcGeomWrapper.i b/src/ifcwrap/IfcGeomWrapper.i index 8e568ce0ea..206b40d166 100644 --- a/src/ifcwrap/IfcGeomWrapper.i +++ b/src/ifcwrap/IfcGeomWrapper.i @@ -241,6 +241,7 @@ struct ShapeRTTI : public boost::static_visitor edges = property(edges) material_ids = property(material_ids) materials = property(materials) + item_ids = property(item_ids) %} }; diff --git a/src/serializers/HdfSerializer.cpp b/src/serializers/HdfSerializer.cpp index 72569065bd..b8b5bcc99b 100644 --- a/src/serializers/HdfSerializer.cpp +++ b/src/serializers/HdfSerializer.cpp @@ -437,6 +437,7 @@ IfcGeom::Element* HdfSerializer::read(IfcParse::IfcFile& f, const std::string& g auto normals = read_dataset(meshGroup, DATASET_NAME_NORMALS); auto uvcoords = read_dataset(meshGroup, DATASET_NAME_UVCOORDS); auto material_ids = read_dataset(meshGroup, DATASET_NAME_MATERIAL_IDS); + auto item_ids = read_dataset(meshGroup, DATASET_NAME_ITEM_IDS); std::vector surface_styles; @@ -471,7 +472,8 @@ IfcGeom::Element* HdfSerializer::read(IfcParse::IfcFile& f, const std::string& g normals, uvcoords, material_ids, - surface_style_ptrs + surface_style_ptrs, + item_ids )); triangulation_cache_.insert({ representation_id_str, triangulation_geometry }); @@ -706,6 +708,7 @@ void HdfSerializer::write(const IfcGeom::TriangulationElement* o) { write_dataset(meshGroup, DATASET_NAME_NORMALS, mesh.normals(), 2); write_dataset(meshGroup, DATASET_NAME_UVCOORDS, mesh.uvs(), 2); write_dataset(meshGroup, DATASET_NAME_MATERIAL_IDS, mesh.material_ids(), 1); + write_dataset(meshGroup, DATASET_NAME_ITEM_IDS, mesh.item_ids(), 1); { auto& ts = mesh.materials(); @@ -732,6 +735,7 @@ const H5std_string HdfSerializer::DATASET_NAME_NORMALS = "normals"; const H5std_string HdfSerializer::DATASET_NAME_INDICES = "indices"; const H5std_string HdfSerializer::DATASET_NAME_EDGES = "edges"; const H5std_string HdfSerializer::DATASET_NAME_MATERIAL_IDS = "material_ids"; +const H5std_string HdfSerializer::DATASET_NAME_ITEM_IDS = "item_ids"; const H5std_string HdfSerializer::DATASET_NAME_MATERIALS = "materials"; const H5std_string HdfSerializer::DATASET_NAME_OCCT = "brep"; const H5std_string HdfSerializer::DATASET_NAME_PLACEMENT = "placement"; diff --git a/src/serializers/HdfSerializer.h b/src/serializers/HdfSerializer.h index 35d82b1aae..527dd383b8 100644 --- a/src/serializers/HdfSerializer.h +++ b/src/serializers/HdfSerializer.h @@ -46,6 +46,7 @@ private: static const H5std_string DATASET_NAME_INDICES; static const H5std_string DATASET_NAME_EDGES; static const H5std_string DATASET_NAME_MATERIAL_IDS; + static const H5std_string DATASET_NAME_ITEM_IDS; static const H5std_string DATASET_NAME_MATERIALS; static const H5std_string DATASET_NAME_OCCT; static const H5std_string DATASET_NAME_PLACEMENT; From 6e1b18ba33ea6f202d39c13598e0228dd659c7cd Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Mon, 19 Jun 2023 13:48:35 +0200 Subject: [PATCH 141/225] #3120 item_id vector test case --- .../test/test_create_shape.py | 83 +++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 src/ifcopenshell-python/test/test_create_shape.py diff --git a/src/ifcopenshell-python/test/test_create_shape.py b/src/ifcopenshell-python/test/test_create_shape.py new file mode 100644 index 0000000000..1e087f74b0 --- /dev/null +++ b/src/ifcopenshell-python/test/test_create_shape.py @@ -0,0 +1,83 @@ +import ifcopenshell +import ifcopenshell.api +import ifcopenshell.geom + +import bootstrap + + +class TestAssignObject(bootstrap.IFC4): + def test_no_welding_on_distinct_items(self): + ifcopenshell.api.run( + "root.create_entity", self.file, ifc_class="IfcProject", name="Test" + ) + unit = ifcopenshell.api.run( + "unit.add_si_unit", self.file, unit_type="LENGTHUNIT" + ) + ifcopenshell.api.run("unit.assign_unit", self.file, units=[unit]) + context = ifcopenshell.api.run( + "context.add_context", self.file, context_type="Model" + ) + element = ifcopenshell.api.run( + "root.create_entity", self.file, ifc_class="IfcWall" + ) + + def create_extrusion(x, y): + points = ( + (x + 0.0, y + 0.0), + (x + 0.0, y + 1.0), + (x + 1.0, y + 1.0), + (x + 1.0, y + 0.0), + (x + 0.0, y + 0.0), + ) + curve = self.file.createIfcPolyline( + [self.file.createIfcCartesianPoint(p) for p in points] + ) + extrusion_direction = self.file.createIfcDirection((0.0, 0.0, 1.0)) + return self.file.createIfcExtrudedAreaSolid( + self.file.createIfcArbitraryClosedProfileDef("AREA", None, curve), + self.file.createIfcAxis2Placement3D( + self.file.createIfcCartesianPoint((0.0, 0.0, 0.0)), + ), + extrusion_direction, + 1.0, + ) + + extrusions = [create_extrusion(x, 0.0) for x in [0.0, 1.0]] + element.Representation = self.file.createIfcProductDefinitionShape( + Representations=[ + self.file.createIfcShapeRepresentation( + context, + context.ContextIdentifier, + "SweptSolid", + extrusions, + ) + ] + ) + + obj = ifcopenshell.geom.create_shape( + ifcopenshell.geom.settings(WELD_VERTICES=True), element + ) + + # item_ids is a per-triangle array, so we have 12 triangles per cube + # even though not documented, the order in representation items should match + assert ( + obj.geometry.item_ids + == (extrusions[0].id(),) * 12 + (extrusions[1].id(),) * 12 + ) + + # group the vertices + vs = [ + obj.geometry.verts[i : i + 3] for i in range(0, len(obj.geometry.verts), 3) + ] + + # welding should not happen between distinct items so the total number of verts should be 2 times 8 + assert len(vs) == 16 + + # even though there are only 12 unique vertices as the cubes are touching + assert len(set(vs)) == 12 + + +if __name__ == "__main__": + import pytest + + pytest.main(["-vvsx", __file__]) From c5aab16696b51293602ab37822f60487968af5b8 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Mon, 19 Jun 2023 14:34:14 +0200 Subject: [PATCH 142/225] Remove dependency on bootstrap --- src/ifcopenshell-python/test/test_create_shape.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/ifcopenshell-python/test/test_create_shape.py b/src/ifcopenshell-python/test/test_create_shape.py index 1e087f74b0..e319dfa3f2 100644 --- a/src/ifcopenshell-python/test/test_create_shape.py +++ b/src/ifcopenshell-python/test/test_create_shape.py @@ -1,12 +1,14 @@ import ifcopenshell import ifcopenshell.api import ifcopenshell.geom +import ifcopenshell.api.owner.settings -import bootstrap - - -class TestAssignObject(bootstrap.IFC4): +class TestAssignObject: def test_no_welding_on_distinct_items(self): + self.file = ifcopenshell.api.run("project.create_file") + ifcopenshell.api.owner.settings.get_user = lambda ifc: (ifc.by_type("IfcPersonAndOrganization") or [None])[0] + ifcopenshell.api.owner.settings.get_application = lambda ifc: (ifc.by_type("IfcApplication") or [None])[0] + ifcopenshell.api.run( "root.create_entity", self.file, ifc_class="IfcProject", name="Test" ) From 982f4a49658af5e4048c46be60492e5f1b733262 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Mon, 19 Jun 2023 18:01:57 +0500 Subject: [PATCH 143/225] Fixed getting filtered spatial elements at import for ifc2x3 #3283 In ifc2x3 IfcProject is not IfcContext because there is no IfcContext in ifc2x3 and it was causing the error below on .ifc import with filtered spatial elements. Also added small refactor Traceback: Error: Python: Traceback (most recent call last): File "\blenderbim\bim\module\project\operator.py", line 595, in execute ifc_importer.execute() File "\blenderbim\bim\import_ifc.py", line 253, in execute self.create_spatial_elements() File "\blenderbim\bim\import_ifc.py", line 688, in create_spatial_elements self.create_generic_elements(self.spatial_elements) File "\blenderbim\bim\import_ifc.py", line 698, in create_generic_elements products = self.create_products(elements) File "\blenderbim\bim\import_ifc.py", line 717, in create_products iterator = ifcopenshell.geom.iterator(settings, self.file, multiprocessing.cpu_count(), include=products) File "\blenderbim\libs\site\packages\ifcopenshell\geom\main.py", line 99, in __init__ raise ValueError("include and exclude need to be an aggregate of IfcProduct?") ValueError: include and exclude need to be an aggregate of IfcProduct? --- src/blenderbim/blenderbim/bim/import_ifc.py | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/import_ifc.py b/src/blenderbim/blenderbim/bim/import_ifc.py index 2b95a36f1f..b91d0e2d51 100644 --- a/src/blenderbim/blenderbim/bim/import_ifc.py +++ b/src/blenderbim/blenderbim/bim/import_ifc.py @@ -361,7 +361,7 @@ class IfcImporter: while True: results.add(spatial_element) spatial_element = ifcopenshell.util.element.get_aggregate(spatial_element) - if not spatial_element or spatial_element.is_a("IfcContext"): + if not spatial_element or spatial_element.is_a() in ("IfcContext", "IfcProject"): break return results @@ -1342,14 +1342,11 @@ class IfcImporter: obj.BIMObjectProperties.collection = self.project["blender"] def create_collections(self): - if self.ifc_import_settings.collection_mode == "DECOMPOSITION": - self.create_decomposition_collections() - elif self.ifc_import_settings.collection_mode == "SPATIAL_DECOMPOSITION": - self.create_spatial_decomposition_collections() - - def create_decomposition_collections(self): self.create_spatial_decomposition_collections() - self.create_aggregate_collections() + if self.ifc_import_settings.collection_mode == "DECOMPOSITION": + self.create_aggregate_collections() + elif self.ifc_import_settings.collection_mode == "SPATIAL_DECOMPOSITION": + pass def create_spatial_decomposition_collections(self): for rel_aggregate in self.project["ifc"].IsDecomposedBy or []: From 6cd91619868c06d00275d4ff0dd368aeadd2217f Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Mon, 19 Jun 2023 19:01:43 +0500 Subject: [PATCH 144/225] Fixed import error with filtering out IfcGrid's spatial element #3283 Fixed error that was occuring if you try to import .ifc file where spatial element contains only grid and will use advanced mode, filter mode = "IFC Class" and check "Filter Spatial Elements". Error occured because spatial element was filtered out but then when ifc grid was created and importer to find a spatial element based collection for the grid it couldn't find it. Traceback: Error: Python: Traceback (most recent call last): File "\blenderbim\bim\module\project\operator.py", line 595, in execute ifc_importer.execute() File "\blenderbim\bim\import_ifc.py", line 260, in execute self.place_objects_in_collections() File "\blenderbim\bim\import_ifc.py", line 1494, in place_objects_in_collections self.place_object_in_collection(self.file.by_id(ifc_definition_id), obj) File "\blenderbim\bim\import_ifc.py", line 1498, in place_object_in_collection self.place_object_in_decomposition_collection(element, obj) File "\blenderbim\bim\import_ifc.py", line 1517, in place_object_in_decomposition_collection return self.place_object_in_spatial_decomposition_collection(element, obj) File "\blenderbim\bim\import_ifc.py", line 1545, in place_object_in_spatial_decomposition_collection self.collections[container.GlobalId].children.link(grid_collection) KeyError: '33AiKftFj2aAf2MqQr5Gs7' --- src/blenderbim/blenderbim/bim/import_ifc.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/blenderbim/blenderbim/bim/import_ifc.py b/src/blenderbim/blenderbim/bim/import_ifc.py index b91d0e2d51..4d05b94206 100644 --- a/src/blenderbim/blenderbim/bim/import_ifc.py +++ b/src/blenderbim/blenderbim/bim/import_ifc.py @@ -347,7 +347,8 @@ class IfcImporter: self.element_types = set(self.file.by_type("IfcTypeProduct")) if self.ifc_import_settings.has_filter and self.ifc_import_settings.should_filter_spatial_elements: - self.spatial_elements = self.get_spatial_elements_filtered_by_elements(self.elements) + filtered_elements = self.elements | set(self.file.by_type("IfcGrid")) + self.spatial_elements = self.get_spatial_elements_filtered_by_elements(filtered_elements) else: if self.file.schema == "IFC2X3": self.spatial_elements = set(self.file.by_type("IfcSpatialStructureElement")) From 4a9d1ff03895b7eecc6923f157b515bb90961c5b Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Tue, 20 Jun 2023 16:16:22 +0500 Subject: [PATCH 145/225] Fixing core tests --- src/blenderbim/test/core/test_drawing.py | 4 ++-- src/blenderbim/test/core/test_material.py | 2 +- src/blenderbim/test/core/test_style.py | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/blenderbim/test/core/test_drawing.py b/src/blenderbim/test/core/test_drawing.py index 2b9060c516..2cadacdc26 100644 --- a/src/blenderbim/test/core/test_drawing.py +++ b/src/blenderbim/test/core/test_drawing.py @@ -442,7 +442,7 @@ class TestUpdateDrawingName: drawing.get_drawing_group("drawing").should_be_called().will_return("group") drawing.get_name("group").should_be_called().will_return("name") drawing.get_drawing_collection("drawing").should_be_called().will_return("collection") - drawing.set_drawing_collection_name("group", "collection").should_be_called() + drawing.set_drawing_collection_name("drawing", "collection").should_be_called() drawing.get_drawing_document("drawing").should_be_called().will_return("reference") drawing.get_reference_document("reference").should_be_called().will_return("information") @@ -459,7 +459,7 @@ class TestUpdateDrawingName: drawing.get_name("group").should_be_called().will_return("oldname") ifc.run("attribute.edit_attributes", product="group", attributes={"Name": "name"}).should_be_called() drawing.get_drawing_collection("drawing").should_be_called().will_return("collection") - drawing.set_drawing_collection_name("group", "collection").should_be_called() + drawing.set_drawing_collection_name("drawing", "collection").should_be_called() drawing.get_drawing_document("drawing").should_be_called().will_return("reference") drawing.get_reference_document("reference").should_be_called().will_return("information") diff --git a/src/blenderbim/test/core/test_material.py b/src/blenderbim/test/core/test_material.py index c5856927ab..f931c5f192 100644 --- a/src/blenderbim/test/core/test_material.py +++ b/src/blenderbim/test/core/test_material.py @@ -161,4 +161,4 @@ class TestSelectByMaterial: def test_run(self, material, spatial): material.get_elements_by_material("material").should_be_called().will_return("elements") spatial.select_products("elements").should_be_called() - subject.select_by_material(material, material="material") + subject.select_by_material(material, spatial, material="material") diff --git a/src/blenderbim/test/core/test_style.py b/src/blenderbim/test/core/test_style.py index d9ccb1aed1..ac1d4dec04 100644 --- a/src/blenderbim/test/core/test_style.py +++ b/src/blenderbim/test/core/test_style.py @@ -218,4 +218,4 @@ class TestSelectByStyle: def test_run(self, style, spatial): style.get_elements_by_style("style").should_be_called().will_return("elements") spatial.select_products("elements").should_be_called() - subject.select_by_style(style, style="style") + subject.select_by_style(style, spatial, style="style") From 2fbb9c569b96e87489b61a3a5ce14b02f4bcd4f3 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Tue, 20 Jun 2023 16:44:57 +0500 Subject: [PATCH 146/225] Fixing tool tests --- src/blenderbim/test/tool/test_drawing.py | 3 +++ src/blenderbim/test/tool/test_project.py | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/blenderbim/test/tool/test_drawing.py b/src/blenderbim/test/tool/test_drawing.py index 6e790e6632..86eecc143e 100644 --- a/src/blenderbim/test/tool/test_drawing.py +++ b/src/blenderbim/test/tool/test_drawing.py @@ -305,6 +305,9 @@ class TestGetDrawingCollection(NewFile): collection = bpy.data.collections.new("Collection") bpy.context.scene.collection.children.link(collection) collection.objects.link(obj) + obj.BIMObjectProperties.collection = collection + collection.BIMCollectionProperties.obj = obj + element = ifc.createIfcAnnotation() tool.Ifc.link(element, obj) assert subject.get_drawing_collection(element) == collection diff --git a/src/blenderbim/test/tool/test_project.py b/src/blenderbim/test/tool/test_project.py index 29e1891858..1cbd4a4cfb 100644 --- a/src/blenderbim/test/tool/test_project.py +++ b/src/blenderbim/test/tool/test_project.py @@ -44,7 +44,7 @@ class TestCreateEmpty(NewFile): class TestLoadDefaultThumbnails(NewFile): def test_nothing(self): - pass # Not possible to test this headlessly + pass # Not possible to test this headlessly class TestRunAggregateAssignObject(NewFile): @@ -93,6 +93,9 @@ class TestSetActiveSpatialElement(NewFile): collection = bpy.data.collections.new("Foo") bpy.context.scene.collection.children.link(collection) collection.objects.link(obj) + obj.BIMObjectProperties.collection = collection + collection.BIMCollectionProperties.obj = obj + layer = bpy.context.view_layer.layer_collection.children["Foo"] assert bpy.context.view_layer.active_layer_collection != layer subject.set_active_spatial_element(obj) From 99d9c0f5bf5eb966014809a44137804e16efdf86 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Tue, 20 Jun 2023 17:50:30 +0500 Subject: [PATCH 147/225] Fixing collectors tests after 1f43ec8 --- src/blenderbim/test/tool/test_collector.py | 25 ++++++++++++---------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/src/blenderbim/test/tool/test_collector.py b/src/blenderbim/test/tool/test_collector.py index 0e442f35a2..94e9bee0cc 100644 --- a/src/blenderbim/test/tool/test_collector.py +++ b/src/blenderbim/test/tool/test_collector.py @@ -264,29 +264,32 @@ class TestAssign(NewFile): def test_in_decomposition_mode_drawings_are_placed_in_a_group_in_a_views_collection(self): bpy.ops.bim.create_project() - element_obj = bpy.data.objects.new("IfcAnnotation/Name", None) + element_obj = bpy.data.objects.new("IfcAnnotation/DRAWING", None) element = tool.Ifc.get().createIfcAnnotation(ObjectType="DRAWING") tool.Ifc.link(element, element_obj) + group = ifcopenshell.api.run("group.add_group", tool.Ifc.get()) group.ObjectType = "DRAWING" ifcopenshell.api.run("group.assign_group", tool.Ifc.get(), products=[element], group=group) + subject.assign(element_obj) - assert element_obj.users_collection[0].name == "IfcGroup/Unnamed" - assert bpy.data.collections.get("Views").children.get("IfcGroup/Unnamed") + assert element_obj.users_collection[0].name == "IfcAnnotation/DRAWING" + assert bpy.data.collections.get("Views").children.get("IfcAnnotation/DRAWING") assert bpy.data.collections.get("IfcProject/My Project").children.get("Views") def test_in_decomposition_mode_annotations_are_placed_in_a_group_in_a_views_collection(self): - bpy.ops.bim.create_project() + self.test_in_decomposition_mode_drawings_are_placed_in_a_group_in_a_views_collection() + ifc_file = tool.Ifc.get() + element_obj = bpy.data.objects.new("IfcAnnotation/Name", None) - element = tool.Ifc.get().createIfcAnnotation() + element = ifc_file.createIfcAnnotation() tool.Ifc.link(element, element_obj) - group = ifcopenshell.api.run("group.add_group", tool.Ifc.get()) - group.ObjectType = "DRAWING" - ifcopenshell.api.run("group.assign_group", tool.Ifc.get(), products=[element], group=group) + + group = ifc_file.by_type("IfcGroup")[0] + ifcopenshell.api.run("group.assign_group", ifc_file, products=[element], group=group) + subject.assign(element_obj) - assert element_obj.users_collection[0].name == "IfcGroup/Unnamed" - assert bpy.data.collections.get("Views").children.get("IfcGroup/Unnamed") - assert bpy.data.collections.get("IfcProject/My Project").children.get("Views") + assert element_obj.users_collection[0].name == "IfcAnnotation/DRAWING" def test_in_decomposition_mode_structural_members_are_placed_in_a_members_collection(self): bpy.ops.bim.create_project() From 5c2ae98c0949a004c2fb42ab181642fe62219ad3 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Tue, 20 Jun 2023 18:22:09 +0500 Subject: [PATCH 148/225] Fixed couple bugs in test_feature 1) Explicitly set empty ifc project not to load demo library - was still loading because it was using my default scene which caused errors. 2) typo in dimension check assertion message --- src/blenderbim/test/bim/test_feature.py | 29 ++++++++++++------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/src/blenderbim/test/bim/test_feature.py b/src/blenderbim/test/bim/test_feature.py index 568bd48e13..172129a2e5 100644 --- a/src/blenderbim/test/bim/test_feature.py +++ b/src/blenderbim/test/bim/test_feature.py @@ -65,7 +65,7 @@ def an_untestable_scenario(): @given("an empty Blender session") @when("an empty Blender session is started") -def an_empty_ifc_project(): +def an_empty_blender_session(): IfcStore.purge() bpy.ops.wm.read_homefile(app_template="") if len(bpy.data.objects) > 0: @@ -73,25 +73,24 @@ def an_empty_ifc_project(): bpy.ops.outliner.orphans_purge(do_local_ids=True, do_linked_ids=True, do_recursive=True) +@given("an empty IFC project settings") +def an_empty_ifc_project_settings(): + bpy.context.scene.unit_settings.system = "METRIC" + bpy.context.scene.unit_settings.length_unit = "MILLIMETERS" + bpy.context.scene.BIMProjectProperties.template_file = '0' + + @given("an empty IFC project") def an_empty_ifc_project(): - IfcStore.purge() - bpy.ops.wm.read_homefile(app_template="") - if len(bpy.data.objects) > 0: - bpy.data.batch_remove(bpy.data.objects) - bpy.ops.outliner.orphans_purge(do_local_ids=True, do_linked_ids=True, do_recursive=True) - bpy.context.scene.unit_settings.system = "METRIC" - bpy.context.scene.unit_settings.length_unit = "MILLIMETERS" + an_empty_blender_session() + an_empty_ifc_project_settings() bpy.ops.bim.create_project() @given("an empty IFC2X3 project") -def an_empty_ifc_project(): - IfcStore.purge() - bpy.ops.wm.read_homefile(app_template="") - if len(bpy.data.objects) > 0: - bpy.data.batch_remove(bpy.data.objects) - bpy.ops.outliner.orphans_purge(do_local_ids=True, do_linked_ids=True, do_recursive=True) +def an_empty_ifc_2x3_project(): + an_empty_blender_session() + an_empty_ifc_project_settings() bpy.context.scene.BIMProjectProperties.export_schema = "IFC2X3" bpy.ops.bim.create_project() @@ -672,7 +671,7 @@ def the_object_name_dimensions_are_dimensions(name, dimensions): actual_dimensions = list(the_object_name_exists(name).dimensions) expected_dimensions = [float(co) for co in dimensions.split(",")] for i, number in enumerate(actual_dimensions): - assert is_x(number, expected_dimensions[i]), f"Expected {actual_dimensions[i]} but got {number}" + assert is_x(number, expected_dimensions[i]), f"Expected {expected_dimensions[i]} but got {number}" @then(parsers.parse('the object "{name}" top right corner is at "{location}"')) From a956038bfcf1ce67675d59575054b86ae75d0de2 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Tue, 20 Jun 2023 19:02:59 +0500 Subject: [PATCH 149/225] Preserving original name on unlinking Unlinking was using copied object name for the unlinked object instead of the original one. So it worked like Cube -> IfcWall/Cube -> Cube.001 and bim test was failing: FAILED test/bim/test_feature.py::test_unlink_object - AssertionError: The object "Cube" does not exist --- src/blenderbim/blenderbim/bim/module/root/operator.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/root/operator.py b/src/blenderbim/blenderbim/bim/module/root/operator.py index ad960d650c..5faeabe056 100644 --- a/src/blenderbim/blenderbim/bim/module/root/operator.py +++ b/src/blenderbim/blenderbim/bim/module/root/operator.py @@ -168,6 +168,7 @@ class UnlinkObject(bpy.types.Operator): else: objects = context.selected_objects for obj in objects: + object_name = obj.name element = tool.Ifc.get_entity(obj) if element: if self.should_delete: @@ -186,8 +187,8 @@ class UnlinkObject(bpy.types.Operator): material_slot.material = material_slot.material.copy() blenderbim.core.style.unlink_style(tool.Ifc, tool.Style, obj=material_slot.material) blenderbim.core.material.unlink_material(tool.Ifc, obj=material_slot.material) - if "Ifc" in obj.name and "/" in obj.name: - obj.name = "/".join(obj.name.split("/")[1:]) + if "Ifc" in object_name and "/" in object_name: + obj.name = object_name.split("/", 1)[1] return {"FINISHED"} def draw(self, context): From e719055d9a6591df5da1fd2381a42b0475b202ef Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Tue, 20 Jun 2023 19:42:31 +0500 Subject: [PATCH 150/225] Fixed duplicated objects collections issue after 586707dd2 Duplicated objects were not able to have their own collection after 586707dd2 Also fixed bim test FAILED test/bim/test_feature.py::test_copy_a_storey - AssertionError: assert 'IfcBuildingStorey/My Storey.001' in ['IfcBuildingStorey/My Storey'] --- src/blenderbim/blenderbim/bim/module/geometry/operator.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/blenderbim/blenderbim/bim/module/geometry/operator.py b/src/blenderbim/blenderbim/bim/module/geometry/operator.py index a51631d0ec..ad706d579e 100644 --- a/src/blenderbim/blenderbim/bim/module/geometry/operator.py +++ b/src/blenderbim/blenderbim/bim/module/geometry/operator.py @@ -561,6 +561,8 @@ class OverrideDuplicateMove(bpy.types.Operator): collection.objects.link(new_obj) obj.select_set(False) new_obj.select_set(True) + # clear object's collection so it will be able to have it's own + new_obj.BIMObjectProperties.collection = None # Copy the actual class new = blenderbim.core.root.copy_class(tool.Ifc, tool.Collector, tool.Geometry, tool.Root, obj=new_obj) if new: From 7aafa87b52b64eab1b075b577641a44181c3a7f7 Mon Sep 17 00:00:00 2001 From: Bruno Postle Date: Tue, 20 Jun 2023 08:50:13 +0100 Subject: [PATCH 151/225] BlenderBIM push Git tags to remote Shows error message if push fails --- .../blenderbim/bim/module/ifcgit/operator.py | 7 +++---- src/blenderbim/blenderbim/bim/module/ifcgit/ui.py | 4 ++-- src/blenderbim/blenderbim/core/ifcgit.py | 10 ++++++++-- src/blenderbim/blenderbim/tool/ifcgit.py | 8 ++++++++ 4 files changed, 21 insertions(+), 8 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/ifcgit/operator.py b/src/blenderbim/blenderbim/bim/module/ifcgit/operator.py index b1e5102308..0cafb6b987 100644 --- a/src/blenderbim/blenderbim/bim/module/ifcgit/operator.py +++ b/src/blenderbim/blenderbim/bim/module/ifcgit/operator.py @@ -132,7 +132,7 @@ class CommitChanges(bpy.types.Operator): def execute(self, context): repo = IfcGitData.data["repo"] - core.commit_changes(tool.IfcGit, tool.Ifc, repo, context) + core.commit_changes(tool.IfcGit, tool.Ifc, repo) bpy.ops.ifcgit.refresh() refresh() return {"FINISHED"} @@ -215,7 +215,7 @@ class DisplayRevision(bpy.types.Operator): def execute(self, context): - core.colourise_revision(tool.IfcGit, context) + core.colourise_revision(tool.IfcGit) refresh() return {"FINISHED"} @@ -283,8 +283,7 @@ class Push(bpy.types.Operator): props = context.scene.IfcGitProperties repo = IfcGitData.data["repo"] - remote = repo.remotes[props.select_remote] - remote.push(refspec=IfcGitData.data["repo"].active_branch.name) + core.push(tool.IfcGit, repo, props.select_remote, self) return {"FINISHED"} diff --git a/src/blenderbim/blenderbim/bim/module/ifcgit/ui.py b/src/blenderbim/blenderbim/bim/module/ifcgit/ui.py index e07ab65465..690934701e 100644 --- a/src/blenderbim/blenderbim/bim/module/ifcgit/ui.py +++ b/src/blenderbim/blenderbim/bim/module/ifcgit/ui.py @@ -168,7 +168,7 @@ class IFCGIT_PT_panel(bpy.types.Panel): row.label(text=urls[props.select_remote]) row.operator("ifcgit.delete_remote", text="", icon="PANEL_CLOSE") row = layout.row() - row.operator("ifcgit.push", icon="EXPERIMENTAL") + row.operator("ifcgit.push", icon="EXPORT") row.operator("ifcgit.fetch", icon="IMPORT") box = layout.box() @@ -177,7 +177,7 @@ class IFCGIT_PT_panel(bpy.types.Panel): row = box.row() row.prop(props, "remote_url") row = box.row() - row.operator("ifcgit.add_remote", icon="IMPORT") + row.operator("ifcgit.add_remote", icon="ADD") class COMMIT_UL_List(bpy.types.UIList): diff --git a/src/blenderbim/blenderbim/core/ifcgit.py b/src/blenderbim/blenderbim/core/ifcgit.py index 24e89cbf92..fe368d1d5d 100644 --- a/src/blenderbim/blenderbim/core/ifcgit.py +++ b/src/blenderbim/blenderbim/core/ifcgit.py @@ -26,7 +26,7 @@ def discard_uncomitted(ifcgit, ifc): ifcgit.load_project(path_ifc) -def commit_changes(ifcgit, ifc, repo, context): +def commit_changes(ifcgit, ifc, repo): path_ifc = ifc.get_path() ifcgit.git_commit(path_ifc) @@ -50,11 +50,17 @@ def delete_remote(ifcgit, repo): ifcgit.delete_remote(repo) +def push(ifcgit, repo, remote_name, operator): + error_message = ifcgit.push(repo, remote_name, repo.active_branch.name) + if error_message: + operator.report({"ERROR"}, error_message) + + def refresh_revision_list(ifcgit, repo, ifc): ifcgit.refresh_revision_list(ifc.get_path()) -def colourise_revision(ifcgit, context): +def colourise_revision(ifcgit): step_ids = ifcgit.get_revisions_step_ids() if not step_ids: diff --git a/src/blenderbim/blenderbim/tool/ifcgit.py b/src/blenderbim/blenderbim/tool/ifcgit.py index 5851dcbfce..33f2fc39e3 100644 --- a/src/blenderbim/blenderbim/tool/ifcgit.py +++ b/src/blenderbim/blenderbim/tool/ifcgit.py @@ -118,6 +118,14 @@ class IfcGit: if repo.remotes: props.select_remote = repo.remotes[0].name + @classmethod + def push(cls, repo, remote_name, branch_name): + remote = repo.remotes[remote_name] + try: + remote.push(tags=True, refspec=branch_name).raise_if_error() + except git.exc.GitCommandError as exc: + return exc.stderr + @classmethod def create_new_branch(cls): props = bpy.context.scene.IfcGitProperties From 900c35e9feb52620711ad68603840ca9d69da768 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Wed, 21 Jun 2023 09:46:44 +0500 Subject: [PATCH 152/225] Fixing collections tests related to 99d9c0f5b FAILED test/bim/test_feature.py::test_remove_drawing - AssertionError: The collection "IfcGroup/PLAN_VIEW" does not exist --- src/blenderbim/test/bim/feature/drawing.feature | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/blenderbim/test/bim/feature/drawing.feature b/src/blenderbim/test/bim/feature/drawing.feature index 2b287bf9b0..e9d9ec5a81 100644 --- a/src/blenderbim/test/bim/feature/drawing.feature +++ b/src/blenderbim/test/bim/feature/drawing.feature @@ -57,9 +57,9 @@ Scenario: Remove drawing And the variable "wall1" is "IfcStore.get_file().by_type('IfcWall')[-1].id()" And I press "bim.add_drawing" And the variable "drawing" is "IfcStore.get_file().by_type('IfcAnnotation')[0].id()" - And the collection "IfcGroup/PLAN_VIEW" exists + And the collection "IfcAnnotation/PLAN_VIEW" exists When I press "bim.remove_drawing(drawing={drawing})" - Then the collection "IfcGroup/PLAN_VIEW" does not exist + Then the collection "IfcAnnotation/PLAN_VIEW" does not exist Scenario: Remove drawing - via object deletion Given an empty IFC project @@ -70,9 +70,10 @@ Scenario: Remove drawing - via object deletion And the variable "wall1" is "IfcStore.get_file().by_type('IfcWall')[-1].id()" And I press "bim.add_drawing" And the variable "drawing" is "IfcStore.get_file().by_type('IfcAnnotation')[0].id()" + And the collection "IfcAnnotation/PLAN_VIEW" exists And the object "IfcAnnotation/PLAN_VIEW" is selected When I press "bim.override_object_delete" - Then the collection "IfcGroup/PLAN_VIEW" does not exist + Then the collection "IfcAnnotation/PLAN_VIEW" does not exist Scenario: Remove drawing - deleting active drawing Given an empty IFC project @@ -83,9 +84,10 @@ Scenario: Remove drawing - deleting active drawing And the variable "wall1" is "IfcStore.get_file().by_type('IfcWall')[-1].id()" And I press "bim.add_drawing" And the variable "drawing" is "IfcStore.get_file().by_type('IfcAnnotation')[0].id()" + And the collection "IfcAnnotation/PLAN_VIEW" exists And I set "scene.DocProperties.active_drawing_index" to "0" And I press "bim.activate_drawing(drawing={drawing})" And the object "IfcAnnotation/PLAN_VIEW" is selected When I press "bim.override_object_delete" - Then the collection "IfcGroup/PLAN_VIEW" does not exist + Then the collection "IfcAnnotation/PLAN_VIEW" does not exist From 6825d267000bbcf68a4db04a8a6a37a5d993e43d Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Wed, 21 Jun 2023 09:58:41 +0500 Subject: [PATCH 153/225] Small fix related to 5c2ae98c0 and a bit more descriptive operator error FAILED test/bim/test_feature.py::test_create_project__ifc2x3 - AssertionError: Failed to run operator bpy.ops.bim.create_project --- src/blenderbim/test/bim/test_feature.py | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/blenderbim/test/bim/test_feature.py b/src/blenderbim/test/bim/test_feature.py index 172129a2e5..821d2d484d 100644 --- a/src/blenderbim/test/bim/test_feature.py +++ b/src/blenderbim/test/bim/test_feature.py @@ -72,9 +72,7 @@ def an_empty_blender_session(): bpy.data.batch_remove(bpy.data.objects) bpy.ops.outliner.orphans_purge(do_local_ids=True, do_linked_ids=True, do_recursive=True) - -@given("an empty IFC project settings") -def an_empty_ifc_project_settings(): + # default project settings bpy.context.scene.unit_settings.system = "METRIC" bpy.context.scene.unit_settings.length_unit = "MILLIMETERS" bpy.context.scene.BIMProjectProperties.template_file = '0' @@ -83,14 +81,12 @@ def an_empty_ifc_project_settings(): @given("an empty IFC project") def an_empty_ifc_project(): an_empty_blender_session() - an_empty_ifc_project_settings() bpy.ops.bim.create_project() @given("an empty IFC2X3 project") def an_empty_ifc_2x3_project(): an_empty_blender_session() - an_empty_ifc_project_settings() bpy.context.scene.BIMProjectProperties.export_schema = "IFC2X3" bpy.ops.bim.create_project() @@ -172,9 +168,9 @@ def i_press_operator(operator): exec(f"bpy.ops.{operator}") else: exec(f"bpy.ops.{operator}()") - except: + except Exception as e: traceback.print_exc() - assert False, f"Failed to run operator bpy.ops.{operator}" + assert False, f"Failed to run operator bpy.ops.{operator} because of {e}" @given(parsers.parse('I evaluate expression "{expression}"')) From 3853258b27251dc149c9be0ffa30c102bc9eb139 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Wed, 21 Jun 2023 10:16:03 +0500 Subject: [PATCH 154/225] Fixing test after 1c12a98 FAILED test/bim/test_feature.py::test_export_ifc__with_basic_contents_and_saving_as_a_relative_path - AssertionError: Value is C:\IfcOpenShell\src\blenderbim\test\files\temp\export.ifc --- src/blenderbim/test/bim/feature/project.feature | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/blenderbim/test/bim/feature/project.feature b/src/blenderbim/test/bim/feature/project.feature index 1a1ab7f721..b44228a69c 100644 --- a/src/blenderbim/test/bim/feature/project.feature +++ b/src/blenderbim/test/bim/feature/project.feature @@ -393,7 +393,7 @@ Scenario: Export IFC - with basic contents and saving as a relative path Given an empty Blender session And I press "bim.load_project(filepath='{cwd}/test/files/basic.ifc')" When I press "wm.save_mainfile(filepath='{cwd}/test/files/temp/export.blend')" - And I press "export_ifc.bim(filepath='{cwd}/test/files/temp/export.ifc', use_relative_path=True)" + And I press "export_ifc.bim(filepath='{cwd}/test/files/temp/export.ifc', use_relative_path=True, save_as_invoked=True)" Then "scene.BIMProperties.ifc_file" is "export.ifc" Scenario: Export IFC - with deleted objects synchronised From 7dc98612e40bda5beeb4d944cc7f1a1c93c28d80 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Wed, 21 Jun 2023 11:04:22 +0500 Subject: [PATCH 155/225] Fixed void tests after d3d2c36 --- src/blenderbim/blenderbim/bim/module/void/operator.py | 8 ++++++++ src/blenderbim/test/bim/feature/void.feature | 9 +++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/void/operator.py b/src/blenderbim/blenderbim/bim/module/void/operator.py index 7cd620d754..b3b914b256 100644 --- a/src/blenderbim/blenderbim/bim/module/void/operator.py +++ b/src/blenderbim/blenderbim/bim/module/void/operator.py @@ -29,6 +29,14 @@ class AddOpening(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.add_opening" bl_label = "Add Opening" bl_options = {"REGISTER", "UNDO"} + bl_description = "Adds an opening to an element.\n" \ + "Need to select two elements, order of selection is not important" + + @classmethod + def poll(cls, context): + if len(context.selected_objects) != 2: + cls.poll_message_set("Select two elements to add an opening") + return True def _execute(self, context): props = context.scene.BIMModelProperties diff --git a/src/blenderbim/test/bim/feature/void.feature b/src/blenderbim/test/bim/feature/void.feature index 9052fb8409..44691a35d1 100644 --- a/src/blenderbim/test/bim/feature/void.feature +++ b/src/blenderbim/test/bim/feature/void.feature @@ -81,20 +81,25 @@ Scenario: Add an opening to Element B with a void that already voids Element A And the object "Cube" is selected And I set "scene.BIMRootProperties.ifc_class" to "IfcWall" And I press "bim.assign_class" + And I add a cube And the object "Cube" is selected And I press "bim.assign_class" + And I press "bim.add_potential_opening" And the object "Opening" is selected And additionally the object "IfcWall/Cube" is selected And I press "bim.add_opening" + And the object "IfcWall/Cube" is selected And I press "bim.show_openings" + When the object "IfcOpeningElement/Opening" is selected And additionally the object "IfcWall/Cube.001" is selected And I press "bim.add_opening" - Then the object "IfcWall/Cube" is voided by "Opening" - And the object "IfcWall/Cube.001" is not voided by "Opening" + + Then the object "IfcWall/Cube" is not voided by "Opening" + And the object "IfcWall/Cube.001" is voided by "Opening" Scenario: Remove opening Given an empty IFC project From d35c5c433f89a6cd7c6160a8867b3125a667276c Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Wed, 21 Jun 2023 11:41:08 +0500 Subject: [PATCH 156/225] Fixed missing ifc file in api call after 28cc168 Some bim test was failing because of it FAILED test/bim/test_feature.py::test_assign_material__material_profile_set - AssertionError: No material Default found in profiled materials: [] --- src/blenderbim/blenderbim/tool/material.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/blenderbim/blenderbim/tool/material.py b/src/blenderbim/blenderbim/tool/material.py index 6207c5828d..6ffeb8f587 100644 --- a/src/blenderbim/blenderbim/tool/material.py +++ b/src/blenderbim/blenderbim/tool/material.py @@ -187,7 +187,7 @@ class Material(blenderbim.core.tool.Material): XDim=size, YDim=size, ) - material_profile = ifcopenshell.api.run( + material_profile = tool.Ifc.run( "material.add_profile", profile_set=material_set, material=material, From 103e8a545b45e30bb8a27e48958ee907d1ebc15a Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Wed, 21 Jun 2023 12:04:33 +0500 Subject: [PATCH 157/225] Fixed test after c8c0c9a Taking into account that now we have error messages if user will try to remove the last material layer which would make layer set invalid ifc. FAILED test/bim/test_feature.py::test_remove_material_set_layer - AssertionError: Failed to run operator bpy.ops.bim.remove_layer(layer=IfcStore.get_file().by_id(93).MaterialLayers[... --- src/blenderbim/test/bim/feature/material.feature | 9 ++++++--- src/blenderbim/test/bim/test_feature.py | 15 +++++++++++++++ 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/src/blenderbim/test/bim/feature/material.feature b/src/blenderbim/test/bim/feature/material.feature index 3e850021bb..87ce5b82d6 100644 --- a/src/blenderbim/test/bim/feature/material.feature +++ b/src/blenderbim/test/bim/feature/material.feature @@ -435,17 +435,20 @@ Scenario: Remove material set layer And the object "Cube" is selected And I set "scene.BIMRootProperties.ifc_class" to "IfcWall" And I press "bim.assign_class" + And I add an empty And the object "Empty" is selected And I set "scene.BIMRootProperties.ifc_product" to "IfcElementType" And I set "scene.BIMRootProperties.ifc_class" to "IfcWallType" And I press "bim.assign_class" + And I press "bim.add_material(obj='')" And I set "active_object.BIMObjectMaterialProperties.material_type" to "IfcMaterialLayerSet" And I press "bim.assign_material" + And I press "bim.enable_editing_assigned_material" And the variable "material_set" is "{ifc}.by_type('IfcMaterialLayerSet')[0].id()" - And I press "bim.remove_layer(layer={ifc}.by_id({material_set}).MaterialLayers[0].id())" + And I press "bim.add_layer(layer_set={material_set})" - When I press "bim.remove_layer(layer={ifc}.by_id({material_set}).MaterialLayers[0].id())" - Then nothing happens + And I press "bim.remove_layer(layer={ifc}.by_id({material_set}).MaterialLayers[0].id())" + Then I press "bim.remove_layer(layer={ifc}.by_id({material_set}).MaterialLayers[0].id())" and expect error "Error: At least one layer must exist" diff --git a/src/blenderbim/test/bim/test_feature.py b/src/blenderbim/test/bim/test_feature.py index 821d2d484d..5cbdf39897 100644 --- a/src/blenderbim/test/bim/test_feature.py +++ b/src/blenderbim/test/bim/test_feature.py @@ -159,6 +159,21 @@ def i_add_a_plane_of_size_size_at_location(size, location): bpy.ops.mesh.primitive_plane_add(size=float(size), location=[float(co) for co in location.split(",")]) +@then(parsers.parse('I press "{operator}" and expect error "{error_msg}"')) +def i_press_operator_and_expect_error(operator, error_msg): + operator = replace_variables(operator) + try: + if "(" in operator: + exec(f"bpy.ops.{operator}") + else: + exec(f"bpy.ops.{operator}()") + assert False, f"Operator bpy.ops.{operator} ran without exception '{error_msg}'" + except Exception as e: + actual_error_msg = str(e).strip() + if str(e).strip() != error_msg: + traceback.print_exc() + assert False, f"Got different exception running bpy.ops.{operator} - '{actual_error_msg}' instead of '{error_msg}'" + @given(parsers.parse('I press "{operator}"')) @when(parsers.parse('I press "{operator}"')) def i_press_operator(operator): From 520860bdb946a44ed89e2d1a60376f8e74bac0ac Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Wed, 21 Jun 2023 12:52:55 +0500 Subject: [PATCH 158/225] Fixed test after b035129 --- src/blenderbim/test/bim/feature/material.feature | 9 +++++++-- src/blenderbim/test/bim/test_feature.py | 6 ++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/blenderbim/test/bim/feature/material.feature b/src/blenderbim/test/bim/feature/material.feature index 87ce5b82d6..18d9b8b0bc 100644 --- a/src/blenderbim/test/bim/feature/material.feature +++ b/src/blenderbim/test/bim/feature/material.feature @@ -156,26 +156,31 @@ Scenario: Unassign material - material layer set When I press "bim.unassign_material" Then nothing happens -Scenario: Unassign material - material layer set usages will not be removed +Scenario: Unassign material - removing inherited material Given an empty IFC project And I add a cube And the object "Cube" is selected And I set "scene.BIMRootProperties.ifc_class" to "IfcWall" And I press "bim.assign_class" + And I add an empty And the object "Empty" is selected And I set "scene.BIMRootProperties.ifc_product" to "IfcElementType" And I set "scene.BIMRootProperties.ifc_class" to "IfcWallType" And I press "bim.assign_class" + And I press "bim.add_material(obj='')" And I set "active_object.BIMObjectMaterialProperties.material_type" to "IfcMaterialLayerSet" And I press "bim.assign_material" + And the object "IfcWall/Cube" is selected When the variable "type" is "{ifc}.by_type('IfcWallType')[0].id()" And I press "bim.assign_type(relating_type={type}, related_object='IfcWall/Cube')" + Then the object "IfcWall/Cube" has a "100" thick layered material containing the material "Default" + When I press "bim.unassign_material" - Then the object "IfcWall/Cube" has a "100" thick layered material containing the material "Default" + Then the object "IfcWall/Cube" has no IFC materials Scenario: Enable editing assigned material - material layer set Given an empty IFC project diff --git a/src/blenderbim/test/bim/test_feature.py b/src/blenderbim/test/bim/test_feature.py index 5cbdf39897..816c762c28 100644 --- a/src/blenderbim/test/bim/test_feature.py +++ b/src/blenderbim/test/bim/test_feature.py @@ -600,6 +600,12 @@ def the_object_name_has_a_thickness_thick_layered_material_containing_the_materi assert is_x(total_thickness, float(thickness)) assert material_name in material_names +@then(parsers.parse('the object "{name}" has no IFC materials')) +def the_object_has_no_ifc_materials(name): + element = tool.Ifc.get_entity(the_object_name_exists(name)) + material = ifcopenshell.util.element.get_material(element) + assert material is None + @then( parsers.parse( From e99c154cb24310c14f773c8be81c2c73b85c78f9 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Wed, 21 Jun 2023 14:11:24 +0500 Subject: [PATCH 159/225] Fixed tests after a4a6dce --- src/blenderbim/test/bim/feature/classification.feature | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/blenderbim/test/bim/feature/classification.feature b/src/blenderbim/test/bim/feature/classification.feature index 48b5ae0dc0..59a1e326f5 100644 --- a/src/blenderbim/test/bim/feature/classification.feature +++ b/src/blenderbim/test/bim/feature/classification.feature @@ -226,7 +226,7 @@ Scenario: Add classification reference - cost And I press "bim.add_cost_schedule" And the variable "cost_schedule" is "{ifc}.by_type('IfcCostSchedule')[0].id()" And I press "bim.enable_editing_cost_items(cost_schedule={cost_schedule})" - And I press "bim.add_summary_cost_item(cost_schedule={cost_schedule})" + And I press "bim.add_summary_cost_item()" And I press "bim.change_classification_level(parent_id={classification})" And the variable "reference" is "{classification_ifc}.by_type('IfcClassificationReference')[0].id()" When I press "bim.add_classification_reference(reference={reference}, obj='', obj_type='Cost')" @@ -241,7 +241,7 @@ Scenario: Remove classification reference - cost And I press "bim.add_cost_schedule" And the variable "cost_schedule" is "{ifc}.by_type('IfcCostSchedule')[0].id()" And I press "bim.enable_editing_cost_items(cost_schedule={cost_schedule})" - And I press "bim.add_summary_cost_item(cost_schedule={cost_schedule})" + And I press "bim.add_summary_cost_item()" And I press "bim.change_classification_level(parent_id={classification})" And the variable "reference" is "{classification_ifc}.by_type('IfcClassificationReference')[0].id()" And I press "bim.add_classification_reference(reference={reference}, obj='', obj_type='Cost')" From ef57c209a05451c5baa67b859aefad3a213c8a9c Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Wed, 21 Jun 2023 17:30:34 +0500 Subject: [PATCH 160/225] More options to save .ifc as relative path in blender --- .../blenderbim/bim/module/project/operator.py | 11 +++++++---- src/blenderbim/blenderbim/bim/operator.py | 14 +++++++++----- src/blenderbim/blenderbim/bim/ui.py | 18 +++++++++++++++++- 3 files changed, 33 insertions(+), 10 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/project/operator.py b/src/blenderbim/blenderbim/bim/module/project/operator.py index 42b8dbb4e9..ab6446af3f 100644 --- a/src/blenderbim/blenderbim/bim/module/project/operator.py +++ b/src/blenderbim/blenderbim/bim/module/project/operator.py @@ -74,19 +74,21 @@ class SelectLibraryFile(bpy.types.Operator, IFCFileSelector): filepath: bpy.props.StringProperty(subtype="FILE_PATH") filter_glob: bpy.props.StringProperty(default="*.ifc;*.ifczip;*.ifcxml", options={"HIDDEN"}) append_all: bpy.props.BoolProperty(default=False) + use_relative_path: bpy.props.BoolProperty(name="Use Relative Path", default=False) def execute(self, context): IfcStore.begin_transaction(self) old_filepath = IfcStore.library_path result = self._execute(context) - self.transaction_data = {"old_filepath": old_filepath, "filepath": self.filepath} + self.transaction_data = {"old_filepath": old_filepath, "filepath": self.get_filepath()} IfcStore.add_transaction_operation(self) IfcStore.end_transaction(self) return result def _execute(self, context): - IfcStore.library_path = self.filepath - IfcStore.library_file = ifcopenshell.open(self.filepath) + filepath = self.get_filepath() + IfcStore.library_path = filepath + IfcStore.library_file = ifcopenshell.open(filepath) bpy.ops.bim.refresh_library() if context.area: context.area.tag_redraw() @@ -525,11 +527,12 @@ class LoadProject(bpy.types.Operator, IFCFileSelector): filepath: bpy.props.StringProperty(subtype="FILE_PATH") filter_glob: bpy.props.StringProperty(default="*.ifc;*.ifczip;*.ifcxml", options={"HIDDEN"}) is_advanced: bpy.props.BoolProperty(name="Enable Advanced Mode", default=False) + use_relative_path: bpy.props.BoolProperty(name="Use Relative Path", default=False) def execute(self, context): if not self.is_existing_ifc_file(): return {"FINISHED"} - context.scene.BIMProperties.ifc_file = self.filepath + context.scene.BIMProperties.ifc_file = self.get_filepath() context.scene.BIMProjectProperties.is_loading = True context.scene.BIMProjectProperties.total_elements = len(tool.Ifc.get().by_type("IfcElement")) if not self.is_advanced: diff --git a/src/blenderbim/blenderbim/bim/operator.py b/src/blenderbim/blenderbim/bim/operator.py index f81124a7be..7c3eb67426 100644 --- a/src/blenderbim/blenderbim/bim/operator.py +++ b/src/blenderbim/blenderbim/bim/operator.py @@ -94,10 +94,11 @@ class SelectIfcFile(bpy.types.Operator, IFCFileSelector): bl_description = "Select a different IFC file" filepath: bpy.props.StringProperty(subtype="FILE_PATH") filter_glob: bpy.props.StringProperty(default="*.ifc;*.ifczip;*.ifcxml", options={"HIDDEN"}) + use_relative_path: bpy.props.BoolProperty(name="Use Relative Path", default=False) def execute(self, context): if self.is_existing_ifc_file(): - context.scene.BIMProperties.ifc_file = self.filepath + context.scene.BIMProperties.ifc_file = self.get_filepath() return {"FINISHED"} def invoke(self, context, event): @@ -105,7 +106,7 @@ class SelectIfcFile(bpy.types.Operator, IFCFileSelector): return {"RUNNING_MODAL"} -class ReloadSelectedIfcFile(bpy.types.Operator, IFCFileSelector): +class ReloadSelectedIfcFile(bpy.types.Operator): bl_idname = "bim.reload_selected_ifc_file" bl_label = "Reload selected IFC File" bl_options = {"REGISTER", "UNDO"} @@ -113,9 +114,12 @@ class ReloadSelectedIfcFile(bpy.types.Operator, IFCFileSelector): filepath: bpy.props.StringProperty(subtype="FILE_PATH") def execute(self, context): - self.filepath = context.scene.BIMProperties.ifc_file - if self.is_existing_ifc_file(): - context.scene.BIMProperties.ifc_file = context.scene.BIMProperties.ifc_file + filepath = context.scene.BIMProperties.ifc_file + valid_file = os.path.exists(filepath) and "ifc" in os.path.splitext(filepath)[1].lower() + if not valid_file: + self.report({"ERROR"}, f"Couldn't find .ifc file by the path '{filepath}'") + return {"ERROR"} + context.scene.BIMProperties.ifc_file = context.scene.BIMProperties.ifc_file return {"FINISHED"} diff --git a/src/blenderbim/blenderbim/bim/ui.py b/src/blenderbim/blenderbim/bim/ui.py index 2ff02593d8..d930d4d20b 100644 --- a/src/blenderbim/blenderbim/bim/ui.py +++ b/src/blenderbim/blenderbim/bim/ui.py @@ -39,14 +39,23 @@ class IFCFileSelector: filepath = self.filepath return os.path.exists(filepath) and "ifc" in os.path.splitext(filepath)[1].lower() + def get_filepath(self): + """get filepath taking into account relative paths""" + if self.use_relative_path: + filepath = os.path.relpath(self.filepath, bpy.path.abspath("//")) + else: + filepath = self.filepath + return filepath + def draw(self, context): # Access filepath & Directory https://blender.stackexchange.com/a/207665 params = context.space_data.params # Decode byte string https://stackoverflow.com/a/47737082/ directory = Path(params.directory.decode("utf-8")) filepath = os.path.join(directory, params.filename) + layout = self.layout if self.is_existing_ifc_file(filepath): - box = self.layout.box() + box = layout.box() box.label(text="IFC Header Specifications", icon="INFO") header_data = IfcHeaderExtractor(filepath).extract() for key, value in header_data.items(): @@ -65,6 +74,13 @@ class IFCFileSelector: op.outfile = filepath[0:-4] + "-IFC4.ifc" op.schema = "IFC4" + if bpy.data.is_saved: + layout.prop(self, "use_relative_path") + else: + self.use_relative_path = False + layout.label(text="Save the .blend file first ") + layout.label(text="to use relative paths for .ifc.") + class BIM_PT_section_plane(Panel): bl_label = "Temporary Section Cutaways" From 71113b56bfd31a7a6bb262993b12369043adc708 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Wed, 21 Jun 2023 17:49:16 +0500 Subject: [PATCH 161/225] refactor with SKIP_SAVE option on operator props Co-Authored-By: Gorgious56 <25156105+Gorgious56@users.noreply.github.com> --- .../blenderbim/bim/module/drawing/operator.py | 28 ++++++------------- .../blenderbim/bim/module/style/operator.py | 7 ++--- 2 files changed, 10 insertions(+), 25 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/drawing/operator.py b/src/blenderbim/blenderbim/bim/module/drawing/operator.py index 434c1b99db..18d04863e6 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/operator.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/operator.py @@ -150,7 +150,7 @@ class CreateDrawing(bpy.types.Operator): "Creates/refreshes a .svg drawing based on currently active camera.\n\n" + "SHIFT+CLICK to print all selected drawings" ) - print_all: bpy.props.BoolProperty(name="Print All", default=False) + print_all: bpy.props.BoolProperty(name="Print All", default=False, options={"SKIP_SAVE"}) @classmethod def poll(cls, context): @@ -158,12 +158,9 @@ class CreateDrawing(bpy.types.Operator): def invoke(self, context, event): # printing all drawings on shift+click + # make sure to use SKIP_SAVE on property, otherwise it might get stuck if event.type == "LEFTMOUSE" and event.shift: self.print_all = True - else: - # can't rely on default value since the line above - # will set the value to `True` for all future operator calls - self.print_all = False return self.execute(context) def execute(self, context): @@ -1191,16 +1188,13 @@ class SelectAllDrawings(bpy.types.Operator): bl_label = "Select All Drawings" view: bpy.props.StringProperty() bl_description = "Select all drawings in the drawing list.\n\n" + "SHIFT+CLICK to deselect all drawings" - select_all: bpy.props.BoolProperty(name="Open All", default=False) + select_all: bpy.props.BoolProperty(name="Open All", default=False, options={"SKIP_SAVE"}) def invoke(self, context, event): # deselect all drawings on shift+click + # make sure to use SKIP_SAVE on property, otherwise it might get stuck if event.type == "LEFTMOUSE" and event.shift: self.select_all = False - else: - # can't rely on default value since the line above - # will set the value to `True` for all future operator calls - self.select_all = True return self.execute(context) def execute(self, context): @@ -1219,16 +1213,13 @@ class OpenDrawing(bpy.types.Operator): + 'or using "svg_command" from the BlenderBIM preferences (if provided).\n\n' + "SHIFT+CLICK to open all selected drawings" ) - open_all: bpy.props.BoolProperty(name="Open All", default=False) + open_all: bpy.props.BoolProperty(name="Open All", default=False, options={"SKIP_SAVE"}) def invoke(self, context, event): # opening all drawings on shift+click + # make sure to use SKIP_SAVE on property, otherwise it might get stuck if event.type == "LEFTMOUSE" and event.shift: self.open_all = True - else: - # can't rely on default value since the line above - # will set the value to `True` for all future operator calls - self.open_all = False return self.execute(context) def execute(self, context): @@ -1363,16 +1354,13 @@ class RemoveDrawing(bpy.types.Operator, Operator): bl_description = "Remove currently selected drawing.\n\n" + "SHIFT+CLICK to remove all selected drawings" drawing: bpy.props.IntProperty() - remove_all: bpy.props.BoolProperty(name="Remove All", default=False) + remove_all: bpy.props.BoolProperty(name="Remove All", default=False, options={"SKIP_SAVE"}) def invoke(self, context, event): # removing all selected drawings on shift+click + # make sure to use SKIP_SAVE on property, otherwise it might get stuck if event.type == "LEFTMOUSE" and event.shift: self.remove_all = True - else: - # can't rely on default value since the line above - # will set the value to `True` for all future operator calls - self.remove_all = False return self.execute(context) def _execute(self, context): diff --git a/src/blenderbim/blenderbim/bim/module/style/operator.py b/src/blenderbim/blenderbim/bim/module/style/operator.py index dad1c65319..06d055b61d 100644 --- a/src/blenderbim/blenderbim/bim/module/style/operator.py +++ b/src/blenderbim/blenderbim/bim/module/style/operator.py @@ -115,7 +115,7 @@ class UpdateCurrentStyle(bpy.types.Operator): + "SHIFT+CLICK to update ALL styles in the .ifc file to current style type" ) bl_options = {"REGISTER", "UNDO"} - update_all: bpy.props.BoolProperty(name="Update All", default=False) + update_all: bpy.props.BoolProperty(name="Update All", default=False, options={"SKIP_SAVE"}) @classmethod def poll(cls, context): @@ -132,12 +132,9 @@ class UpdateCurrentStyle(bpy.types.Operator): def invoke(self, context, event): # updating all styles on shift+click + # make sure to use SKIP_SAVE on property, otherwise it might get stuck if event.type == "LEFTMOUSE" and event.shift: self.update_all = True - else: - # can't rely on default value since the line above - # will set the value to `True` for all future operator calls - self.update_all = False return self.execute(context) def execute(self, context): From b63b4ce326e1825dcdfdece527bb0cdd286a313e Mon Sep 17 00:00:00 2001 From: Massimo Fabbro Date: Tue, 20 Jun 2023 21:53:38 +0200 Subject: [PATCH 162/225] Add toggle space visibiity button into spatial tool menu --- src/blenderbim/blenderbim/bim/module/spatial/workspace.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/blenderbim/blenderbim/bim/module/spatial/workspace.py b/src/blenderbim/blenderbim/bim/module/spatial/workspace.py index a04478fb19..52e5d271c8 100644 --- a/src/blenderbim/blenderbim/bim/module/spatial/workspace.py +++ b/src/blenderbim/blenderbim/bim/module/spatial/workspace.py @@ -48,6 +48,7 @@ class SpatialTool(WorkSpaceTool): ("bim.spatial_hotkey", {"type": "B", "value": "PRESS", "shift": True}, {"properties": [("hotkey", "S_B")]}), ("bim.spatial_hotkey", {"type": "A", "value": "PRESS", "shift": True}, {"properties": [("hotkey", "S_A")]}), ("bim.spatial_hotkey", {"type": "B", "value": "PRESS", "alt": True}, {"properties": [("hotkey", "A_B")]}), + ("bim.spatial_hotkey", {"type": "T", "value": "PRESS", "shift": True}, {"properties": [("hotkey", "S_T")]}), ) def draw_settings(context, layout, ws_tool): @@ -98,6 +99,10 @@ class SpatialToolUI: row.operator("bim.generate_spaces_from_walls") else: row.operator("bim.generate_space") + row = cls.layout.row(align=True) + row.label(text="", icon="EVENT_SHIFT") + row.label(text="", icon="EVENT_T") + row.operator("bim.toggle_space_visibility") @classmethod def draw_selected_object_interface(cls, context): @@ -159,3 +164,6 @@ class Hotkey(bpy.types.Operator, Operator): bpy.ops.bim.hide_boundaries() else: bpy.ops.bim.show_boundaries() + + def hotkey_S_T(self): + bpy.ops.bim.toggle_space_visibility() From c72f960ed4eeb6d11feb9cb6c5e67ec84705f1ae Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Wed, 21 Jun 2023 14:21:08 +0200 Subject: [PATCH 163/225] #2805 statically typed select types as aggregates --- .../ifcopenshell/express/mapping.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/express/mapping.py b/src/ifcopenshell-python/ifcopenshell/express/mapping.py index a9ade4a9b3..7eecbb374d 100644 --- a/src/ifcopenshell-python/ifcopenshell/express/mapping.py +++ b/src/ifcopenshell-python/ifcopenshell/express/mapping.py @@ -179,9 +179,13 @@ class Mapping: # We do not use pointers in aggregate_of. aggregate_of has member vector ty = ty.replace("*", "") - if self.schema.is_select(attr_type.type): - type_str = templates.untyped_list - elif self.schema.is_simpletype(ty) or str(ty) in self.express_to_cpp_typemapping.values(): + # https://github.com/IfcOpenShell/IfcOpenShell/issues/2805 + # This is no longer applicable, we do support statically typed select types as aggregates + # + # if self.schema.is_select(attr_type.type): + # type_str = templates.untyped_list + + if self.schema.is_simpletype(ty) or str(ty) in self.express_to_cpp_typemapping.values(): tmpl = templates.nested_array_type if is_nested_list else templates.array_type bounds = (attr_type.bounds.lower, attr_type.bounds.upper) if attr_type.bounds else (-1, -1) type_str = tmpl % {"instance_type": ty, "lower": bounds[0], "upper": bounds[1]} From aab6a21bf34f712fe832a65d24dd720da6b011b2 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Wed, 21 Jun 2023 17:01:17 +0200 Subject: [PATCH 164/225] #2805 rerun codegen --- src/ifcparse/Ifc2x3-definitions.h | 40 ++++++ src/ifcparse/Ifc2x3.cpp | 178 +++++++++++------------ src/ifcparse/Ifc2x3.h | 178 +++++++++++------------ src/ifcparse/Ifc4-definitions.h | 49 +++++++ src/ifcparse/Ifc4.cpp | 180 +++++++++++------------ src/ifcparse/Ifc4.h | 180 +++++++++++------------ src/ifcparse/Ifc4x1-definitions.h | 49 +++++++ src/ifcparse/Ifc4x1.cpp | 180 +++++++++++------------ src/ifcparse/Ifc4x1.h | 180 +++++++++++------------ src/ifcparse/Ifc4x2-definitions.h | 49 +++++++ src/ifcparse/Ifc4x2.cpp | 180 +++++++++++------------ src/ifcparse/Ifc4x2.h | 180 +++++++++++------------ src/ifcparse/Ifc4x3_add1-definitions.h | 50 +++++++ src/ifcparse/Ifc4x3_add1.cpp | 176 +++++++++++------------ src/ifcparse/Ifc4x3_add1.h | 176 +++++++++++------------ src/ifcparse/Ifc4x3_rc1-definitions.h | 49 +++++++ src/ifcparse/Ifc4x3_rc1.cpp | 188 ++++++++++++------------- src/ifcparse/Ifc4x3_rc1.h | 188 ++++++++++++------------- src/ifcparse/Ifc4x3_rc2-definitions.h | 50 +++++++ src/ifcparse/Ifc4x3_rc2.cpp | 188 ++++++++++++------------- src/ifcparse/Ifc4x3_rc2.h | 188 ++++++++++++------------- src/ifcparse/Ifc4x3_rc3-definitions.h | 50 +++++++ src/ifcparse/Ifc4x3_rc3.cpp | 176 +++++++++++------------ src/ifcparse/Ifc4x3_rc3.h | 176 +++++++++++------------ src/ifcparse/Ifc4x3_rc4-definitions.h | 50 +++++++ src/ifcparse/Ifc4x3_rc4.cpp | 176 +++++++++++------------ src/ifcparse/Ifc4x3_rc4.h | 176 +++++++++++------------ src/ifcparse/Ifc4x3_tc1-definitions.h | 50 +++++++ src/ifcparse/Ifc4x3_tc1.cpp | 176 +++++++++++------------ src/ifcparse/Ifc4x3_tc1.h | 176 +++++++++++------------ 30 files changed, 2284 insertions(+), 1798 deletions(-) diff --git a/src/ifcparse/Ifc2x3-definitions.h b/src/ifcparse/Ifc2x3-definitions.h index f732ebb5a5..71309edb67 100644 --- a/src/ifcparse/Ifc2x3-definitions.h +++ b/src/ifcparse/Ifc2x3-definitions.h @@ -3038,3 +3038,43 @@ #define SCHEMA_IfcZShapeProfileDef_HAS_EdgeRadius #define SCHEMA_IfcZShapeProfileDef_EdgeRadius_IS_OPTIONAL #define SCHEMA_HAS_IfcZone +#define SCHEMA_HAS_IfcRepresentationContextSameWCS +#define SCHEMA_HAS_IfcSingleProjectInstance +#define SCHEMA_HAS_IfcAddToBeginOfList +#define SCHEMA_HAS_IfcBaseAxis +#define SCHEMA_HAS_IfcBooleanChoose +#define SCHEMA_HAS_IfcBuild2Axes +#define SCHEMA_HAS_IfcBuildAxes +#define SCHEMA_HAS_IfcCorrectDimensions +#define SCHEMA_HAS_IfcCorrectFillAreaStyle +#define SCHEMA_HAS_IfcCorrectLocalPlacement +#define SCHEMA_HAS_IfcCorrectObjectAssignment +#define SCHEMA_HAS_IfcCorrectUnitAssignment +#define SCHEMA_HAS_IfcCrossProduct +#define SCHEMA_HAS_IfcCurveDim +#define SCHEMA_HAS_IfcCurveWeightsPositive +#define SCHEMA_HAS_IfcDeriveDimensionalExponents +#define SCHEMA_HAS_IfcDimensionsForSiUnit +#define SCHEMA_HAS_IfcDotProduct +#define SCHEMA_HAS_IfcFirstProjAxis +#define SCHEMA_HAS_IfcLeapYear +#define SCHEMA_HAS_IfcListToArray +#define SCHEMA_HAS_IfcLoopHeadToTail +#define SCHEMA_HAS_IfcMlsTotalThickness +#define SCHEMA_HAS_IfcNormalise +#define SCHEMA_HAS_IfcOrthogonalComplement +#define SCHEMA_HAS_IfcPathHeadToTail +#define SCHEMA_HAS_IfcSameAxis2Placement +#define SCHEMA_HAS_IfcSameCartesianPoint +#define SCHEMA_HAS_IfcSameDirection +#define SCHEMA_HAS_IfcSameValidPrecision +#define SCHEMA_HAS_IfcSameValue +#define SCHEMA_HAS_IfcScalarTimesVector +#define SCHEMA_HAS_IfcSecondProjAxis +#define SCHEMA_HAS_IfcShapeRepresentationTypes +#define SCHEMA_HAS_IfcTopologyRepresentationTypes +#define SCHEMA_HAS_IfcUniquePropertyName +#define SCHEMA_HAS_IfcValidCalendarDate +#define SCHEMA_HAS_IfcValidTime +#define SCHEMA_HAS_IfcVectorDifference +#define SCHEMA_HAS_IfcVectorSum diff --git a/src/ifcparse/Ifc2x3.cpp b/src/ifcparse/Ifc2x3.cpp index 249c055202..02db53339d 100644 --- a/src/ifcparse/Ifc2x3.cpp +++ b/src/ifcparse/Ifc2x3.cpp @@ -9097,7 +9097,7 @@ Ifc2x3::IfcAlarmType::IfcAlarmType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHi const IfcParse::entity& Ifc2x3::IfcAngularDimension::declaration() const { return *IFC2X3_IfcAngularDimension_type; } const IfcParse::entity& Ifc2x3::IfcAngularDimension::Class() { return *IFC2X3_IfcAngularDimension_type; } Ifc2x3::IfcAngularDimension::IfcAngularDimension(IfcEntityInstanceData* e) : IfcDimensionCurveDirectedCallout((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC2X3_IfcAngularDimension_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcAngularDimension::IfcAngularDimension(aggregate_of_instance::ptr v1_Contents) : IfcDimensionCurveDirectedCallout((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcAngularDimension_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Contents));data_->setArgument(0,attr);} } +Ifc2x3::IfcAngularDimension::IfcAngularDimension(aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v1_Contents) : IfcDimensionCurveDirectedCallout((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcAngularDimension_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Contents));data_->setArgument(0,attr);} } // Function implementations for IfcAnnotation @@ -10265,14 +10265,14 @@ Ifc2x3::IfcConstraintAggregationRelationship::IfcConstraintAggregationRelationsh // Function implementations for IfcConstraintClassificationRelationship ::Ifc2x3::IfcConstraint* Ifc2x3::IfcConstraintClassificationRelationship::ClassifiedConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcConstraint>(true); } void Ifc2x3::IfcConstraintClassificationRelationship::setClassifiedConstraint(::Ifc2x3::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of_instance::ptr Ifc2x3::IfcConstraintClassificationRelationship::RelatedClassifications() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcConstraintClassificationRelationship::setRelatedClassifications(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc2x3::IfcClassificationNotationSelect >::ptr Ifc2x3::IfcConstraintClassificationRelationship::RelatedClassifications() const { aggregate_of< ::Ifc2x3::IfcClassificationNotationSelect >::ptr v = *data_->getArgument(1); return v; } +void Ifc2x3::IfcConstraintClassificationRelationship::setRelatedClassifications(aggregate_of< ::Ifc2x3::IfcClassificationNotationSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc2x3::IfcConstraintClassificationRelationship::declaration() const { return *IFC2X3_IfcConstraintClassificationRelationship_type; } const IfcParse::entity& Ifc2x3::IfcConstraintClassificationRelationship::Class() { return *IFC2X3_IfcConstraintClassificationRelationship_type; } Ifc2x3::IfcConstraintClassificationRelationship::IfcConstraintClassificationRelationship(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC2X3_IfcConstraintClassificationRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcConstraintClassificationRelationship::IfcConstraintClassificationRelationship(::Ifc2x3::IfcConstraint* v1_ClassifiedConstraint, aggregate_of_instance::ptr v2_RelatedClassifications) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcConstraintClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ClassifiedConstraint));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_RelatedClassifications));data_->setArgument(1,attr);} } +Ifc2x3::IfcConstraintClassificationRelationship::IfcConstraintClassificationRelationship(::Ifc2x3::IfcConstraint* v1_ClassifiedConstraint, aggregate_of< ::Ifc2x3::IfcClassificationNotationSelect >::ptr v2_RelatedClassifications) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcConstraintClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ClassifiedConstraint));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_RelatedClassifications));data_->setArgument(1,attr);} } // Function implementations for IfcConstraintRelationship boost::optional< std::string > Ifc2x3::IfcConstraintRelationship::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -10299,8 +10299,8 @@ Ifc2x3::IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(IfcEn Ifc2x3::IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(std::string v1_GlobalId, ::Ifc2x3::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< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit* v9_BaseQuantity) : IfcConstructionResource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcConstructionEquipmentResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_ResourceIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_ResourceIdentifier));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_ResourceGroup) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_ResourceGroup));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_ResourceConsumption) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_ResourceConsumption,::Ifc2x3::IfcResourceConsumptionEnum::ToString(*v8_ResourceConsumption))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_BaseQuantity));data_->setArgument(8,attr);} } // Function implementations for IfcConstructionMaterialResource -boost::optional< aggregate_of_instance::ptr > Ifc2x3::IfcConstructionMaterialResource::Suppliers() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(9); return v; } -void Ifc2x3::IfcConstructionMaterialResource::setSuppliers(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } +boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > Ifc2x3::IfcConstructionMaterialResource::Suppliers() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr v = *data_->getArgument(9); return v; } +void Ifc2x3::IfcConstructionMaterialResource::setSuppliers(boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc2x3::IfcConstructionMaterialResource::UsageRatio() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } void Ifc2x3::IfcConstructionMaterialResource::setUsageRatio(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } @@ -10308,7 +10308,7 @@ void Ifc2x3::IfcConstructionMaterialResource::setUsageRatio(boost::optional< dou const IfcParse::entity& Ifc2x3::IfcConstructionMaterialResource::declaration() const { return *IFC2X3_IfcConstructionMaterialResource_type; } const IfcParse::entity& Ifc2x3::IfcConstructionMaterialResource::Class() { return *IFC2X3_IfcConstructionMaterialResource_type; } Ifc2x3::IfcConstructionMaterialResource::IfcConstructionMaterialResource(IfcEntityInstanceData* e) : IfcConstructionResource((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC2X3_IfcConstructionMaterialResource_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcConstructionMaterialResource::IfcConstructionMaterialResource(std::string v1_GlobalId, ::Ifc2x3::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< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit* v9_BaseQuantity, boost::optional< aggregate_of_instance::ptr > v10_Suppliers, boost::optional< double > v11_UsageRatio) : IfcConstructionResource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcConstructionMaterialResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_ResourceIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_ResourceIdentifier));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_ResourceGroup) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_ResourceGroup));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_ResourceConsumption) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_ResourceConsumption,::Ifc2x3::IfcResourceConsumptionEnum::ToString(*v8_ResourceConsumption))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_BaseQuantity));data_->setArgument(8,attr);} if (v10_Suppliers) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Suppliers));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_UsageRatio) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_UsageRatio));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } +Ifc2x3::IfcConstructionMaterialResource::IfcConstructionMaterialResource(std::string v1_GlobalId, ::Ifc2x3::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< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit* v9_BaseQuantity, boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > v10_Suppliers, boost::optional< double > v11_UsageRatio) : IfcConstructionResource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcConstructionMaterialResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_ResourceIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_ResourceIdentifier));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_ResourceGroup) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_ResourceGroup));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_ResourceConsumption) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_ResourceConsumption,::Ifc2x3::IfcResourceConsumptionEnum::ToString(*v8_ResourceConsumption))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_BaseQuantity));data_->setArgument(8,attr);} if (v10_Suppliers) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Suppliers));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_UsageRatio) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_UsageRatio));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } // Function implementations for IfcConstructionProductResource @@ -10426,8 +10426,8 @@ void Ifc2x3::IfcCostSchedule::setPreparedBy(::Ifc2x3::IfcActorSelect* v) { {IfcW void Ifc2x3::IfcCostSchedule::setSubmittedOn(::Ifc2x3::IfcDateTimeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } boost::optional< std::string > Ifc2x3::IfcCostSchedule::Status() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } void Ifc2x3::IfcCostSchedule::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc2x3::IfcCostSchedule::TargetUsers() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(9); return v; } -void Ifc2x3::IfcCostSchedule::setTargetUsers(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } +boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > Ifc2x3::IfcCostSchedule::TargetUsers() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr v = *data_->getArgument(9); return v; } +void Ifc2x3::IfcCostSchedule::setTargetUsers(boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } ::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcCostSchedule::UpdateDate() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcCostSchedule::setUpdateDate(::Ifc2x3::IfcDateTimeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } std::string Ifc2x3::IfcCostSchedule::ID() const { std::string v = *data_->getArgument(11); return v; } @@ -10439,7 +10439,7 @@ void Ifc2x3::IfcCostSchedule::setPredefinedType(::Ifc2x3::IfcCostScheduleTypeEnu const IfcParse::entity& Ifc2x3::IfcCostSchedule::declaration() const { return *IFC2X3_IfcCostSchedule_type; } const IfcParse::entity& Ifc2x3::IfcCostSchedule::Class() { return *IFC2X3_IfcCostSchedule_type; } Ifc2x3::IfcCostSchedule::IfcCostSchedule(IfcEntityInstanceData* e) : IfcControl((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC2X3_IfcCostSchedule_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcCostSchedule::IfcCostSchedule(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcActorSelect* v6_SubmittedBy, ::Ifc2x3::IfcActorSelect* v7_PreparedBy, ::Ifc2x3::IfcDateTimeSelect* v8_SubmittedOn, boost::optional< std::string > v9_Status, boost::optional< aggregate_of_instance::ptr > v10_TargetUsers, ::Ifc2x3::IfcDateTimeSelect* v11_UpdateDate, std::string v12_ID, ::Ifc2x3::IfcCostScheduleTypeEnum::Value v13_PredefinedType) : IfcControl((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcCostSchedule_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_SubmittedBy));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_PreparedBy));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_SubmittedOn));data_->setArgument(7,attr);} if (v9_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_Status));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_TargetUsers) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_TargetUsers));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_UpdateDate));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v12_ID));data_->setArgument(11,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v13_PredefinedType,::Ifc2x3::IfcCostScheduleTypeEnum::ToString(v13_PredefinedType))));data_->setArgument(12,attr);} } +Ifc2x3::IfcCostSchedule::IfcCostSchedule(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcActorSelect* v6_SubmittedBy, ::Ifc2x3::IfcActorSelect* v7_PreparedBy, ::Ifc2x3::IfcDateTimeSelect* v8_SubmittedOn, boost::optional< std::string > v9_Status, boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > v10_TargetUsers, ::Ifc2x3::IfcDateTimeSelect* v11_UpdateDate, std::string v12_ID, ::Ifc2x3::IfcCostScheduleTypeEnum::Value v13_PredefinedType) : IfcControl((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcCostSchedule_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_SubmittedBy));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_PreparedBy));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_SubmittedOn));data_->setArgument(7,attr);} if (v9_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_Status));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_TargetUsers) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_TargetUsers));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_UpdateDate));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v12_ID));data_->setArgument(11,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v13_PredefinedType,::Ifc2x3::IfcCostScheduleTypeEnum::ToString(v13_PredefinedType))));data_->setArgument(12,attr);} } // Function implementations for IfcCostValue std::string Ifc2x3::IfcCostValue::CostType() const { std::string v = *data_->getArgument(6); return v; } @@ -10751,7 +10751,7 @@ Ifc2x3::IfcDerivedUnitElement::IfcDerivedUnitElement(::Ifc2x3::IfcNamedUnit* v1_ const IfcParse::entity& Ifc2x3::IfcDiameterDimension::declaration() const { return *IFC2X3_IfcDiameterDimension_type; } const IfcParse::entity& Ifc2x3::IfcDiameterDimension::Class() { return *IFC2X3_IfcDiameterDimension_type; } Ifc2x3::IfcDiameterDimension::IfcDiameterDimension(IfcEntityInstanceData* e) : IfcDimensionCurveDirectedCallout((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC2X3_IfcDiameterDimension_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcDiameterDimension::IfcDiameterDimension(aggregate_of_instance::ptr v1_Contents) : IfcDimensionCurveDirectedCallout((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcDiameterDimension_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Contents));data_->setArgument(0,attr);} } +Ifc2x3::IfcDiameterDimension::IfcDiameterDimension(aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v1_Contents) : IfcDimensionCurveDirectedCallout((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcDiameterDimension_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Contents));data_->setArgument(0,attr);} } // Function implementations for IfcDimensionCalloutRelationship @@ -10776,7 +10776,7 @@ Ifc2x3::IfcDimensionCurve::IfcDimensionCurve(::Ifc2x3::IfcRepresentationItem* v1 const IfcParse::entity& Ifc2x3::IfcDimensionCurveDirectedCallout::declaration() const { return *IFC2X3_IfcDimensionCurveDirectedCallout_type; } const IfcParse::entity& Ifc2x3::IfcDimensionCurveDirectedCallout::Class() { return *IFC2X3_IfcDimensionCurveDirectedCallout_type; } Ifc2x3::IfcDimensionCurveDirectedCallout::IfcDimensionCurveDirectedCallout(IfcEntityInstanceData* e) : IfcDraughtingCallout((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC2X3_IfcDimensionCurveDirectedCallout_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcDimensionCurveDirectedCallout::IfcDimensionCurveDirectedCallout(aggregate_of_instance::ptr v1_Contents) : IfcDraughtingCallout((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcDimensionCurveDirectedCallout_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Contents));data_->setArgument(0,attr);} } +Ifc2x3::IfcDimensionCurveDirectedCallout::IfcDimensionCurveDirectedCallout(aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v1_Contents) : IfcDraughtingCallout((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcDimensionCurveDirectedCallout_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Contents));data_->setArgument(0,attr);} } // Function implementations for IfcDimensionCurveTerminator ::Ifc2x3::IfcDimensionExtentUsage::Value Ifc2x3::IfcDimensionCurveTerminator::Role() const { return ::Ifc2x3::IfcDimensionExtentUsage::FromString(*data_->getArgument(4)); } @@ -10957,8 +10957,8 @@ boost::optional< std::string > Ifc2x3::IfcDocumentInformation::Revision() const void Ifc2x3::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc2x3::IfcActorSelect* Ifc2x3::IfcDocumentInformation::DocumentOwner() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc2x3::IfcActorSelect>(true); } void Ifc2x3::IfcDocumentInformation::setDocumentOwner(::Ifc2x3::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc2x3::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(9); return v; } -void Ifc2x3::IfcDocumentInformation::setEditors(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } +boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > Ifc2x3::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr v = *data_->getArgument(9); return v; } +void Ifc2x3::IfcDocumentInformation::setEditors(boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } ::Ifc2x3::IfcDateAndTime* Ifc2x3::IfcDocumentInformation::CreationTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc2x3::IfcDateAndTime>(true); } void Ifc2x3::IfcDocumentInformation::setCreationTime(::Ifc2x3::IfcDateAndTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } ::Ifc2x3::IfcDateAndTime* Ifc2x3::IfcDocumentInformation::LastRevisionTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc2x3::IfcDateAndTime>(true); } @@ -10980,7 +10980,7 @@ void Ifc2x3::IfcDocumentInformation::setStatus(boost::optional< ::Ifc2x3::IfcDoc const IfcParse::entity& Ifc2x3::IfcDocumentInformation::declaration() const { return *IFC2X3_IfcDocumentInformation_type; } const IfcParse::entity& Ifc2x3::IfcDocumentInformation::Class() { return *IFC2X3_IfcDocumentInformation_type; } Ifc2x3::IfcDocumentInformation::IfcDocumentInformation(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC2X3_IfcDocumentInformation_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcDocumentInformation::IfcDocumentInformation(std::string v1_DocumentId, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< aggregate_of< ::Ifc2x3::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, ::Ifc2x3::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of_instance::ptr > v10_Editors, ::Ifc2x3::IfcDateAndTime* v11_CreationTime, ::Ifc2x3::IfcDateAndTime* v12_LastRevisionTime, ::Ifc2x3::IfcDocumentElectronicFormat* v13_ElectronicFormat, ::Ifc2x3::IfcCalendarDate* v14_ValidFrom, ::Ifc2x3::IfcCalendarDate* v15_ValidUntil, boost::optional< ::Ifc2x3::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc2x3::IfcDocumentStatusEnum::Value > v17_Status) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_DocumentId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DocumentReferences) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DocumentReferences)->generalize());data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_CreationTime));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v12_LastRevisionTime));data_->setArgument(11,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v13_ElectronicFormat));data_->setArgument(12,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v14_ValidFrom));data_->setArgument(13,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v15_ValidUntil));data_->setArgument(14,attr);} if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc2x3::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc2x3::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } +Ifc2x3::IfcDocumentInformation::IfcDocumentInformation(std::string v1_DocumentId, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< aggregate_of< ::Ifc2x3::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, ::Ifc2x3::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > v10_Editors, ::Ifc2x3::IfcDateAndTime* v11_CreationTime, ::Ifc2x3::IfcDateAndTime* v12_LastRevisionTime, ::Ifc2x3::IfcDocumentElectronicFormat* v13_ElectronicFormat, ::Ifc2x3::IfcCalendarDate* v14_ValidFrom, ::Ifc2x3::IfcCalendarDate* v15_ValidUntil, boost::optional< ::Ifc2x3::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc2x3::IfcDocumentStatusEnum::Value > v17_Status) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_DocumentId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DocumentReferences) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DocumentReferences)->generalize());data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_CreationTime));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v12_LastRevisionTime));data_->setArgument(11,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v13_ElectronicFormat));data_->setArgument(12,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v14_ValidFrom));data_->setArgument(13,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v15_ValidUntil));data_->setArgument(14,attr);} if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc2x3::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc2x3::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } // Function implementations for IfcDocumentInformationRelationship ::Ifc2x3::IfcDocumentInformation* Ifc2x3::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcDocumentInformation>(true); } @@ -11082,8 +11082,8 @@ Ifc2x3::IfcDoorStyle::IfcDoorStyle(IfcEntityInstanceData* e) : IfcTypeProduct((I Ifc2x3::IfcDoorStyle::IfcDoorStyle(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, ::Ifc2x3::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc2x3::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcDoorStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_OperationType,::Ifc2x3::IfcDoorStyleOperationEnum::ToString(v9_OperationType))));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_ConstructionType,::Ifc2x3::IfcDoorStyleConstructionEnum::ToString(v10_ConstructionType))));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_ParameterTakesPrecedence));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v12_Sizeable));data_->setArgument(11,attr);} } // Function implementations for IfcDraughtingCallout -aggregate_of_instance::ptr Ifc2x3::IfcDraughtingCallout::Contents() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc2x3::IfcDraughtingCallout::setContents(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr Ifc2x3::IfcDraughtingCallout::Contents() const { aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v = *data_->getArgument(0); return v; } +void Ifc2x3::IfcDraughtingCallout::setContents(aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc2x3::IfcDraughtingCalloutRelationship::list::ptr Ifc2x3::IfcDraughtingCallout::IsRelatedFromCallout() const { return data_->getInverse(IFC2X3_IfcDraughtingCalloutRelationship_type, 3)->as(); } ::Ifc2x3::IfcDraughtingCalloutRelationship::list::ptr Ifc2x3::IfcDraughtingCallout::IsRelatedToCallout() const { return data_->getInverse(IFC2X3_IfcDraughtingCalloutRelationship_type, 2)->as(); } @@ -11091,7 +11091,7 @@ void Ifc2x3::IfcDraughtingCallout::setContents(aggregate_of_instance::ptr v) { { const IfcParse::entity& Ifc2x3::IfcDraughtingCallout::declaration() const { return *IFC2X3_IfcDraughtingCallout_type; } const IfcParse::entity& Ifc2x3::IfcDraughtingCallout::Class() { return *IFC2X3_IfcDraughtingCallout_type; } Ifc2x3::IfcDraughtingCallout::IfcDraughtingCallout(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC2X3_IfcDraughtingCallout_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcDraughtingCallout::IfcDraughtingCallout(aggregate_of_instance::ptr v1_Contents) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcDraughtingCallout_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Contents));data_->setArgument(0,attr);} } +Ifc2x3::IfcDraughtingCallout::IfcDraughtingCallout(aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v1_Contents) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcDraughtingCallout_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Contents));data_->setArgument(0,attr);} } // Function implementations for IfcDraughtingCalloutRelationship boost::optional< std::string > Ifc2x3::IfcDraughtingCalloutRelationship::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -11718,14 +11718,14 @@ Ifc2x3::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcEntityInst Ifc2x3::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcFeatureElementSubtraction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcFillAreaStyle -aggregate_of_instance::ptr Ifc2x3::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcFillAreaStyle::setFillStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc2x3::IfcFillStyleSelect >::ptr Ifc2x3::IfcFillAreaStyle::FillStyles() const { aggregate_of< ::Ifc2x3::IfcFillStyleSelect >::ptr v = *data_->getArgument(1); return v; } +void Ifc2x3::IfcFillAreaStyle::setFillStyles(aggregate_of< ::Ifc2x3::IfcFillStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc2x3::IfcFillAreaStyle::declaration() const { return *IFC2X3_IfcFillAreaStyle_type; } const IfcParse::entity& Ifc2x3::IfcFillAreaStyle::Class() { return *IFC2X3_IfcFillAreaStyle_type; } Ifc2x3::IfcFillAreaStyle::IfcFillAreaStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC2X3_IfcFillAreaStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of_instance::ptr v2_FillStyles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles));data_->setArgument(1,attr);} } +Ifc2x3::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc2x3::IfcFillStyleSelect >::ptr v2_FillStyles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles));data_->setArgument(1,attr);} } // Function implementations for IfcFillAreaStyleHatching ::Ifc2x3::IfcCurveStyle* Ifc2x3::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcCurveStyle>(true); } @@ -11758,8 +11758,8 @@ Ifc2x3::IfcFillAreaStyleTileSymbolWithStyle::IfcFillAreaStyleTileSymbolWithStyle // Function implementations for IfcFillAreaStyleTiles ::Ifc2x3::IfcOneDirectionRepeatFactor* Ifc2x3::IfcFillAreaStyleTiles::TilingPattern() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcOneDirectionRepeatFactor>(true); } void Ifc2x3::IfcFillAreaStyleTiles::setTilingPattern(::Ifc2x3::IfcOneDirectionRepeatFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of_instance::ptr Ifc2x3::IfcFillAreaStyleTiles::Tiles() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcFillAreaStyleTiles::setTiles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc2x3::IfcFillAreaStyleTileShapeSelect >::ptr Ifc2x3::IfcFillAreaStyleTiles::Tiles() const { aggregate_of< ::Ifc2x3::IfcFillAreaStyleTileShapeSelect >::ptr v = *data_->getArgument(1); return v; } +void Ifc2x3::IfcFillAreaStyleTiles::setTiles(aggregate_of< ::Ifc2x3::IfcFillAreaStyleTileShapeSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } double Ifc2x3::IfcFillAreaStyleTiles::TilingScale() const { double v = *data_->getArgument(2); return v; } void Ifc2x3::IfcFillAreaStyleTiles::setTilingScale(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -11767,7 +11767,7 @@ void Ifc2x3::IfcFillAreaStyleTiles::setTilingScale(double v) { {IfcWrite::IfcWri const IfcParse::entity& Ifc2x3::IfcFillAreaStyleTiles::declaration() const { return *IFC2X3_IfcFillAreaStyleTiles_type; } const IfcParse::entity& Ifc2x3::IfcFillAreaStyleTiles::Class() { return *IFC2X3_IfcFillAreaStyleTiles_type; } Ifc2x3::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC2X3_IfcFillAreaStyleTiles_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(::Ifc2x3::IfcOneDirectionRepeatFactor* v1_TilingPattern, aggregate_of_instance::ptr v2_Tiles, double v3_TilingScale) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcFillAreaStyleTiles_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TilingPattern));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Tiles));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_TilingScale));data_->setArgument(2,attr);} } +Ifc2x3::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(::Ifc2x3::IfcOneDirectionRepeatFactor* v1_TilingPattern, aggregate_of< ::Ifc2x3::IfcFillAreaStyleTileShapeSelect >::ptr v2_Tiles, double v3_TilingScale) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcFillAreaStyleTiles_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TilingPattern));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Tiles));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_TilingScale));data_->setArgument(2,attr);} } // Function implementations for IfcFilterType ::Ifc2x3::IfcFilterTypeEnum::Value Ifc2x3::IfcFilterType::PredefinedType() const { return ::Ifc2x3::IfcFilterTypeEnum::FromString(*data_->getArgument(9)); } @@ -12067,7 +12067,7 @@ Ifc2x3::IfcGeneralProfileProperties::IfcGeneralProfileProperties(boost::optional const IfcParse::entity& Ifc2x3::IfcGeometricCurveSet::declaration() const { return *IFC2X3_IfcGeometricCurveSet_type; } const IfcParse::entity& Ifc2x3::IfcGeometricCurveSet::Class() { return *IFC2X3_IfcGeometricCurveSet_type; } Ifc2x3::IfcGeometricCurveSet::IfcGeometricCurveSet(IfcEntityInstanceData* e) : IfcGeometricSet((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC2X3_IfcGeometricCurveSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of_instance::ptr v1_Elements) : IfcGeometricSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcGeometricCurveSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } +Ifc2x3::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc2x3::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcGeometricCurveSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } // Function implementations for IfcGeometricRepresentationContext int Ifc2x3::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = *data_->getArgument(2); return v; } @@ -12111,14 +12111,14 @@ Ifc2x3::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubConte Ifc2x3::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, ::Ifc2x3::IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, ::Ifc2x3::IfcGeometricProjectionEnum::Value v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcGeometricRepresentationSubContext_type); if (v1_ContextIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_ContextIdentifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_ContextType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ContextType));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ParentContext));data_->setArgument(6,attr);} if (v8_TargetScale) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_TargetScale));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_TargetView,::Ifc2x3::IfcGeometricProjectionEnum::ToString(v9_TargetView))));data_->setArgument(8,attr);} if (v10_UserDefinedTargetView) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_UserDefinedTargetView));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcGeometricSet -aggregate_of_instance::ptr Ifc2x3::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc2x3::IfcGeometricSet::setElements(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc2x3::IfcGeometricSetSelect >::ptr Ifc2x3::IfcGeometricSet::Elements() const { aggregate_of< ::Ifc2x3::IfcGeometricSetSelect >::ptr v = *data_->getArgument(0); return v; } +void Ifc2x3::IfcGeometricSet::setElements(aggregate_of< ::Ifc2x3::IfcGeometricSetSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc2x3::IfcGeometricSet::declaration() const { return *IFC2X3_IfcGeometricSet_type; } const IfcParse::entity& Ifc2x3::IfcGeometricSet::Class() { return *IFC2X3_IfcGeometricSet_type; } Ifc2x3::IfcGeometricSet::IfcGeometricSet(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC2X3_IfcGeometricSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcGeometricSet::IfcGeometricSet(aggregate_of_instance::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcGeometricSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } +Ifc2x3::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc2x3::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcGeometricSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } // Function implementations for IfcGrid aggregate_of< ::Ifc2x3::IfcGridAxis >::ptr Ifc2x3::IfcGrid::UAxes() const { aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc2x3::IfcGridAxis >(); } @@ -12285,14 +12285,14 @@ Ifc2x3::IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, boos // Function implementations for IfcIrregularTimeSeriesValue ::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcIrregularTimeSeriesValue::TimeStamp() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcIrregularTimeSeriesValue::setTimeStamp(::Ifc2x3::IfcDateTimeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of_instance::ptr Ifc2x3::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcIrregularTimeSeriesValue::setListValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc2x3::IfcValue >::ptr Ifc2x3::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of< ::Ifc2x3::IfcValue >::ptr v = *data_->getArgument(1); return v; } +void Ifc2x3::IfcIrregularTimeSeriesValue::setListValues(aggregate_of< ::Ifc2x3::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc2x3::IfcIrregularTimeSeriesValue::declaration() const { return *IFC2X3_IfcIrregularTimeSeriesValue_type; } const IfcParse::entity& Ifc2x3::IfcIrregularTimeSeriesValue::Class() { return *IFC2X3_IfcIrregularTimeSeriesValue_type; } Ifc2x3::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC2X3_IfcIrregularTimeSeriesValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(::Ifc2x3::IfcDateTimeSelect* v1_TimeStamp, aggregate_of_instance::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcIrregularTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TimeStamp));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ListValues));data_->setArgument(1,attr);} } +Ifc2x3::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(::Ifc2x3::IfcDateTimeSelect* v1_TimeStamp, aggregate_of< ::Ifc2x3::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcIrregularTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TimeStamp));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ListValues));data_->setArgument(1,attr);} } // Function implementations for IfcJunctionBoxType ::Ifc2x3::IfcJunctionBoxTypeEnum::Value Ifc2x3::IfcJunctionBoxType::PredefinedType() const { return ::Ifc2x3::IfcJunctionBoxTypeEnum::FromString(*data_->getArgument(9)); } @@ -12517,7 +12517,7 @@ Ifc2x3::IfcLine::IfcLine(::Ifc2x3::IfcCartesianPoint* v1_Pnt, ::Ifc2x3::IfcVecto const IfcParse::entity& Ifc2x3::IfcLinearDimension::declaration() const { return *IFC2X3_IfcLinearDimension_type; } const IfcParse::entity& Ifc2x3::IfcLinearDimension::Class() { return *IFC2X3_IfcLinearDimension_type; } Ifc2x3::IfcLinearDimension::IfcLinearDimension(IfcEntityInstanceData* e) : IfcDimensionCurveDirectedCallout((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC2X3_IfcLinearDimension_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcLinearDimension::IfcLinearDimension(aggregate_of_instance::ptr v1_Contents) : IfcDimensionCurveDirectedCallout((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcLinearDimension_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Contents));data_->setArgument(0,attr);} } +Ifc2x3::IfcLinearDimension::IfcLinearDimension(aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v1_Contents) : IfcDimensionCurveDirectedCallout((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcLinearDimension_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Contents));data_->setArgument(0,attr);} } // Function implementations for IfcLocalPlacement ::Ifc2x3::IfcObjectPlacement* Ifc2x3::IfcLocalPlacement::PlacementRelTo() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcObjectPlacement>(true); } @@ -12592,8 +12592,8 @@ Ifc2x3::IfcMaterial::IfcMaterial(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEnt Ifc2x3::IfcMaterial::IfcMaterial(std::string v1_Name) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} } // Function implementations for IfcMaterialClassificationRelationship -aggregate_of_instance::ptr Ifc2x3::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc2x3::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc2x3::IfcClassificationNotationSelect >::ptr Ifc2x3::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of< ::Ifc2x3::IfcClassificationNotationSelect >::ptr v = *data_->getArgument(0); return v; } +void Ifc2x3::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of< ::Ifc2x3::IfcClassificationNotationSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc2x3::IfcMaterial* Ifc2x3::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcMaterial>(true); } void Ifc2x3::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc2x3::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -12601,7 +12601,7 @@ void Ifc2x3::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc2 const IfcParse::entity& Ifc2x3::IfcMaterialClassificationRelationship::declaration() const { return *IFC2X3_IfcMaterialClassificationRelationship_type; } const IfcParse::entity& Ifc2x3::IfcMaterialClassificationRelationship::Class() { return *IFC2X3_IfcMaterialClassificationRelationship_type; } Ifc2x3::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC2X3_IfcMaterialClassificationRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of_instance::ptr v1_MaterialClassifications, ::Ifc2x3::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcMaterialClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialClassifications));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ClassifiedMaterial));data_->setArgument(1,attr);} } +Ifc2x3::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc2x3::IfcClassificationNotationSelect >::ptr v1_MaterialClassifications, ::Ifc2x3::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcMaterialClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialClassifications));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ClassifiedMaterial));data_->setArgument(1,attr);} } // Function implementations for IfcMaterialDefinitionRepresentation ::Ifc2x3::IfcMaterial* Ifc2x3::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcMaterial>(true); } @@ -13493,8 +13493,8 @@ std::string Ifc2x3::IfcPresentationLayerAssignment::Name() const { std::string void Ifc2x3::IfcPresentationLayerAssignment::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc2x3::IfcPresentationLayerAssignment::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc2x3::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } -aggregate_of_instance::ptr Ifc2x3::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc2x3::IfcLayeredItem >::ptr Ifc2x3::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of< ::Ifc2x3::IfcLayeredItem >::ptr v = *data_->getArgument(2); return v; } +void Ifc2x3::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of< ::Ifc2x3::IfcLayeredItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< std::string > Ifc2x3::IfcPresentationLayerAssignment::Identifier() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc2x3::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } @@ -13502,7 +13502,7 @@ void Ifc2x3::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std: const IfcParse::entity& Ifc2x3::IfcPresentationLayerAssignment::declaration() const { return *IFC2X3_IfcPresentationLayerAssignment_type; } const IfcParse::entity& Ifc2x3::IfcPresentationLayerAssignment::Class() { return *IFC2X3_IfcPresentationLayerAssignment_type; } Ifc2x3::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC2X3_IfcPresentationLayerAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcPresentationLayerAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } +Ifc2x3::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc2x3::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcPresentationLayerAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcPresentationLayerWithStyle boost::logic::tribool Ifc2x3::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = *data_->getArgument(4); return v; } @@ -13511,14 +13511,14 @@ boost::logic::tribool Ifc2x3::IfcPresentationLayerWithStyle::LayerFrozen() const void Ifc2x3::IfcPresentationLayerWithStyle::setLayerFrozen(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } boost::logic::tribool Ifc2x3::IfcPresentationLayerWithStyle::LayerBlocked() const { boost::logic::tribool v = *data_->getArgument(6); return v; } void Ifc2x3::IfcPresentationLayerWithStyle::setLayerBlocked(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -aggregate_of_instance::ptr Ifc2x3::IfcPresentationLayerWithStyle::LayerStyles() const { aggregate_of_instance::ptr v = *data_->getArgument(7); return v; } -void Ifc2x3::IfcPresentationLayerWithStyle::setLayerStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } +aggregate_of< ::Ifc2x3::IfcPresentationStyleSelect >::ptr Ifc2x3::IfcPresentationLayerWithStyle::LayerStyles() const { aggregate_of< ::Ifc2x3::IfcPresentationStyleSelect >::ptr v = *data_->getArgument(7); return v; } +void Ifc2x3::IfcPresentationLayerWithStyle::setLayerStyles(aggregate_of< ::Ifc2x3::IfcPresentationStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } const IfcParse::entity& Ifc2x3::IfcPresentationLayerWithStyle::declaration() const { return *IFC2X3_IfcPresentationLayerWithStyle_type; } const IfcParse::entity& Ifc2x3::IfcPresentationLayerWithStyle::Class() { return *IFC2X3_IfcPresentationLayerWithStyle_type; } Ifc2x3::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcEntityInstanceData* e) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC2X3_IfcPresentationLayerWithStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of_instance::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcPresentationLayerWithStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_LayerOn));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LayerFrozen));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LayerBlocked));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LayerStyles));data_->setArgument(7,attr);} } +Ifc2x3::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc2x3::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc2x3::IfcPresentationStyleSelect >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcPresentationLayerWithStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_LayerOn));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LayerFrozen));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LayerBlocked));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LayerStyles));data_->setArgument(7,attr);} } // Function implementations for IfcPresentationStyle boost::optional< std::string > Ifc2x3::IfcPresentationStyle::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -13531,14 +13531,14 @@ Ifc2x3::IfcPresentationStyle::IfcPresentationStyle(IfcEntityInstanceData* e) : I Ifc2x3::IfcPresentationStyle::IfcPresentationStyle(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcPresentationStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } } // Function implementations for IfcPresentationStyleAssignment -aggregate_of_instance::ptr Ifc2x3::IfcPresentationStyleAssignment::Styles() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc2x3::IfcPresentationStyleAssignment::setStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc2x3::IfcPresentationStyleSelect >::ptr Ifc2x3::IfcPresentationStyleAssignment::Styles() const { aggregate_of< ::Ifc2x3::IfcPresentationStyleSelect >::ptr v = *data_->getArgument(0); return v; } +void Ifc2x3::IfcPresentationStyleAssignment::setStyles(aggregate_of< ::Ifc2x3::IfcPresentationStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc2x3::IfcPresentationStyleAssignment::declaration() const { return *IFC2X3_IfcPresentationStyleAssignment_type; } const IfcParse::entity& Ifc2x3::IfcPresentationStyleAssignment::Class() { return *IFC2X3_IfcPresentationStyleAssignment_type; } Ifc2x3::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC2X3_IfcPresentationStyleAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(aggregate_of_instance::ptr v1_Styles) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcPresentationStyleAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Styles));data_->setArgument(0,attr);} } +Ifc2x3::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(aggregate_of< ::Ifc2x3::IfcPresentationStyleSelect >::ptr v1_Styles) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcPresentationStyleAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Styles));data_->setArgument(0,attr);} } // Function implementations for IfcProcedure std::string Ifc2x3::IfcProcedure::ProcedureID() const { std::string v = *data_->getArgument(5); return v; } @@ -13773,8 +13773,8 @@ Ifc2x3::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(Ifc Ifc2x3::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(::Ifc2x3::IfcProperty* v1_DependingProperty, ::Ifc2x3::IfcProperty* v2_DependantProperty, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_Expression) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcPropertyDependencyRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_DependingProperty));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_DependantProperty));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcPropertyEnumeratedValue -aggregate_of_instance::ptr Ifc2x3::IfcPropertyEnumeratedValue::EnumerationValues() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcPropertyEnumeratedValue::setEnumerationValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc2x3::IfcValue >::ptr Ifc2x3::IfcPropertyEnumeratedValue::EnumerationValues() const { aggregate_of< ::Ifc2x3::IfcValue >::ptr v = *data_->getArgument(2); return v; } +void Ifc2x3::IfcPropertyEnumeratedValue::setEnumerationValues(aggregate_of< ::Ifc2x3::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc2x3::IfcPropertyEnumeration* Ifc2x3::IfcPropertyEnumeratedValue::EnumerationReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcPropertyEnumeration>(true); } void Ifc2x3::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc2x3::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -13782,13 +13782,13 @@ void Ifc2x3::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc2x3::IfcPr const IfcParse::entity& Ifc2x3::IfcPropertyEnumeratedValue::declaration() const { return *IFC2X3_IfcPropertyEnumeratedValue_type; } const IfcParse::entity& Ifc2x3::IfcPropertyEnumeratedValue::Class() { return *IFC2X3_IfcPropertyEnumeratedValue_type; } Ifc2x3::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC2X3_IfcPropertyEnumeratedValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_EnumerationValues, ::Ifc2x3::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcPropertyEnumeratedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_EnumerationValues));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EnumerationReference));data_->setArgument(3,attr);} } +Ifc2x3::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc2x3::IfcValue >::ptr v3_EnumerationValues, ::Ifc2x3::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcPropertyEnumeratedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_EnumerationValues));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EnumerationReference));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyEnumeration std::string Ifc2x3::IfcPropertyEnumeration::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc2x3::IfcPropertyEnumeration::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of_instance::ptr Ifc2x3::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcPropertyEnumeration::setEnumerationValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc2x3::IfcValue >::ptr Ifc2x3::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of< ::Ifc2x3::IfcValue >::ptr v = *data_->getArgument(1); return v; } +void Ifc2x3::IfcPropertyEnumeration::setEnumerationValues(aggregate_of< ::Ifc2x3::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } ::Ifc2x3::IfcUnit* Ifc2x3::IfcPropertyEnumeration::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcUnit>(true); } void Ifc2x3::IfcPropertyEnumeration::setUnit(::Ifc2x3::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -13796,11 +13796,11 @@ void Ifc2x3::IfcPropertyEnumeration::setUnit(::Ifc2x3::IfcUnit* v) { {IfcWrite:: const IfcParse::entity& Ifc2x3::IfcPropertyEnumeration::declaration() const { return *IFC2X3_IfcPropertyEnumeration_type; } const IfcParse::entity& Ifc2x3::IfcPropertyEnumeration::Class() { return *IFC2X3_IfcPropertyEnumeration_type; } Ifc2x3::IfcPropertyEnumeration::IfcPropertyEnumeration(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC2X3_IfcPropertyEnumeration_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of_instance::ptr v2_EnumerationValues, ::Ifc2x3::IfcUnit* v3_Unit) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcPropertyEnumeration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EnumerationValues));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);} } +Ifc2x3::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc2x3::IfcValue >::ptr v2_EnumerationValues, ::Ifc2x3::IfcUnit* v3_Unit) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcPropertyEnumeration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EnumerationValues));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);} } // Function implementations for IfcPropertyListValue -aggregate_of_instance::ptr Ifc2x3::IfcPropertyListValue::ListValues() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcPropertyListValue::setListValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc2x3::IfcValue >::ptr Ifc2x3::IfcPropertyListValue::ListValues() const { aggregate_of< ::Ifc2x3::IfcValue >::ptr v = *data_->getArgument(2); return v; } +void Ifc2x3::IfcPropertyListValue::setListValues(aggregate_of< ::Ifc2x3::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc2x3::IfcUnit* Ifc2x3::IfcPropertyListValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcUnit>(true); } void Ifc2x3::IfcPropertyListValue::setUnit(::Ifc2x3::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -13808,7 +13808,7 @@ void Ifc2x3::IfcPropertyListValue::setUnit(::Ifc2x3::IfcUnit* v) { {IfcWrite::If const IfcParse::entity& Ifc2x3::IfcPropertyListValue::declaration() const { return *IFC2X3_IfcPropertyListValue_type; } const IfcParse::entity& Ifc2x3::IfcPropertyListValue::Class() { return *IFC2X3_IfcPropertyListValue_type; } Ifc2x3::IfcPropertyListValue::IfcPropertyListValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC2X3_IfcPropertyListValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_ListValues, ::Ifc2x3::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcPropertyListValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ListValues));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } +Ifc2x3::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc2x3::IfcValue >::ptr v3_ListValues, ::Ifc2x3::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcPropertyListValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ListValues));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyReferenceValue boost::optional< std::string > Ifc2x3::IfcPropertyReferenceValue::UsageName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } @@ -13855,10 +13855,10 @@ Ifc2x3::IfcPropertySingleValue::IfcPropertySingleValue(IfcEntityInstanceData* e) Ifc2x3::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcValue* v3_NominalValue, ::Ifc2x3::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcPropertySingleValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_NominalValue));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyTableValue -aggregate_of_instance::ptr Ifc2x3::IfcPropertyTableValue::DefiningValues() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcPropertyTableValue::setDefiningValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -aggregate_of_instance::ptr Ifc2x3::IfcPropertyTableValue::DefinedValues() const { aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } -void Ifc2x3::IfcPropertyTableValue::setDefinedValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +aggregate_of< ::Ifc2x3::IfcValue >::ptr Ifc2x3::IfcPropertyTableValue::DefiningValues() const { aggregate_of< ::Ifc2x3::IfcValue >::ptr v = *data_->getArgument(2); return v; } +void Ifc2x3::IfcPropertyTableValue::setDefiningValues(aggregate_of< ::Ifc2x3::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc2x3::IfcValue >::ptr Ifc2x3::IfcPropertyTableValue::DefinedValues() const { aggregate_of< ::Ifc2x3::IfcValue >::ptr v = *data_->getArgument(3); return v; } +void Ifc2x3::IfcPropertyTableValue::setDefinedValues(aggregate_of< ::Ifc2x3::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc2x3::IfcPropertyTableValue::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc2x3::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc2x3::IfcUnit* Ifc2x3::IfcPropertyTableValue::DefiningUnit() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcUnit>(true); } @@ -13870,7 +13870,7 @@ void Ifc2x3::IfcPropertyTableValue::setDefinedUnit(::Ifc2x3::IfcUnit* v) { {IfcW const IfcParse::entity& Ifc2x3::IfcPropertyTableValue::declaration() const { return *IFC2X3_IfcPropertyTableValue_type; } const IfcParse::entity& Ifc2x3::IfcPropertyTableValue::Class() { return *IFC2X3_IfcPropertyTableValue_type; } Ifc2x3::IfcPropertyTableValue::IfcPropertyTableValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC2X3_IfcPropertyTableValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_DefiningValues, aggregate_of_instance::ptr v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc2x3::IfcUnit* v6_DefiningUnit, ::Ifc2x3::IfcUnit* v7_DefinedUnit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcPropertyTableValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_DefiningValues));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_DefinedValues));data_->setArgument(3,attr);} if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_DefiningUnit));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_DefinedUnit));data_->setArgument(6,attr);} } +Ifc2x3::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc2x3::IfcValue >::ptr v3_DefiningValues, aggregate_of< ::Ifc2x3::IfcValue >::ptr v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc2x3::IfcUnit* v6_DefiningUnit, ::Ifc2x3::IfcUnit* v7_DefinedUnit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcPropertyTableValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_DefiningValues));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_DefinedValues));data_->setArgument(3,attr);} if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_DefiningUnit));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_DefinedUnit));data_->setArgument(6,attr);} } // Function implementations for IfcProtectiveDeviceType ::Ifc2x3::IfcProtectiveDeviceTypeEnum::Value Ifc2x3::IfcProtectiveDeviceType::PredefinedType() const { return ::Ifc2x3::IfcProtectiveDeviceTypeEnum::FromString(*data_->getArgument(9)); } @@ -13970,7 +13970,7 @@ Ifc2x3::IfcQuantityWeight::IfcQuantityWeight(std::string v1_Name, boost::optiona const IfcParse::entity& Ifc2x3::IfcRadiusDimension::declaration() const { return *IFC2X3_IfcRadiusDimension_type; } const IfcParse::entity& Ifc2x3::IfcRadiusDimension::Class() { return *IFC2X3_IfcRadiusDimension_type; } Ifc2x3::IfcRadiusDimension::IfcRadiusDimension(IfcEntityInstanceData* e) : IfcDimensionCurveDirectedCallout((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC2X3_IfcRadiusDimension_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcRadiusDimension::IfcRadiusDimension(aggregate_of_instance::ptr v1_Contents) : IfcDimensionCurveDirectedCallout((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcRadiusDimension_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Contents));data_->setArgument(0,attr);} } +Ifc2x3::IfcRadiusDimension::IfcRadiusDimension(aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v1_Contents) : IfcDimensionCurveDirectedCallout((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcRadiusDimension_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Contents));data_->setArgument(0,attr);} } // Function implementations for IfcRailing boost::optional< ::Ifc2x3::IfcRailingTypeEnum::Value > Ifc2x3::IfcRailing::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc2x3::IfcRailingTypeEnum::FromString(*data_->getArgument(8)); } @@ -15141,14 +15141,14 @@ Ifc2x3::IfcShapeRepresentation::IfcShapeRepresentation(IfcEntityInstanceData* e) Ifc2x3::IfcShapeRepresentation::IfcShapeRepresentation(::Ifc2x3::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc2x3::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcShapeRepresentation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ContextOfItems));data_->setArgument(0,attr);} if (v2_RepresentationIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_RepresentationIdentifier));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_RepresentationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_RepresentationType));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Items)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcShellBasedSurfaceModel -aggregate_of_instance::ptr Ifc2x3::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc2x3::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc2x3::IfcShell >::ptr Ifc2x3::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of< ::Ifc2x3::IfcShell >::ptr v = *data_->getArgument(0); return v; } +void Ifc2x3::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of< ::Ifc2x3::IfcShell >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc2x3::IfcShellBasedSurfaceModel::declaration() const { return *IFC2X3_IfcShellBasedSurfaceModel_type; } const IfcParse::entity& Ifc2x3::IfcShellBasedSurfaceModel::Class() { return *IFC2X3_IfcShellBasedSurfaceModel_type; } Ifc2x3::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC2X3_IfcShellBasedSurfaceModel_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of_instance::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcShellBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SbsmBoundary));data_->setArgument(0,attr);} } +Ifc2x3::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc2x3::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcShellBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SbsmBoundary));data_->setArgument(0,attr);} } // Function implementations for IfcSimpleProperty @@ -15846,7 +15846,7 @@ Ifc2x3::IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(std const IfcParse::entity& Ifc2x3::IfcStructuredDimensionCallout::declaration() const { return *IFC2X3_IfcStructuredDimensionCallout_type; } const IfcParse::entity& Ifc2x3::IfcStructuredDimensionCallout::Class() { return *IFC2X3_IfcStructuredDimensionCallout_type; } Ifc2x3::IfcStructuredDimensionCallout::IfcStructuredDimensionCallout(IfcEntityInstanceData* e) : IfcDraughtingCallout((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC2X3_IfcStructuredDimensionCallout_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcStructuredDimensionCallout::IfcStructuredDimensionCallout(aggregate_of_instance::ptr v1_Contents) : IfcDraughtingCallout((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcStructuredDimensionCallout_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Contents));data_->setArgument(0,attr);} } +Ifc2x3::IfcStructuredDimensionCallout::IfcStructuredDimensionCallout(aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v1_Contents) : IfcDraughtingCallout((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcStructuredDimensionCallout_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Contents));data_->setArgument(0,attr);} } // Function implementations for IfcStyleModel @@ -15949,14 +15949,14 @@ Ifc2x3::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(::Ifc2x3::IfcProfileDef* // Function implementations for IfcSurfaceStyle ::Ifc2x3::IfcSurfaceSide::Value Ifc2x3::IfcSurfaceStyle::Side() const { return ::Ifc2x3::IfcSurfaceSide::FromString(*data_->getArgument(1)); } void Ifc2x3::IfcSurfaceStyle::setSide(::Ifc2x3::IfcSurfaceSide::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcSurfaceSide::ToString(v)));data_->setArgument(1,attr);} } -aggregate_of_instance::ptr Ifc2x3::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcSurfaceStyle::setStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc2x3::IfcSurfaceStyleElementSelect >::ptr Ifc2x3::IfcSurfaceStyle::Styles() const { aggregate_of< ::Ifc2x3::IfcSurfaceStyleElementSelect >::ptr v = *data_->getArgument(2); return v; } +void Ifc2x3::IfcSurfaceStyle::setStyles(aggregate_of< ::Ifc2x3::IfcSurfaceStyleElementSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc2x3::IfcSurfaceStyle::declaration() const { return *IFC2X3_IfcSurfaceStyle_type; } const IfcParse::entity& Ifc2x3::IfcSurfaceStyle::Class() { return *IFC2X3_IfcSurfaceStyle_type; } Ifc2x3::IfcSurfaceStyle::IfcSurfaceStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC2X3_IfcSurfaceStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc2x3::IfcSurfaceSide::Value v2_Side, aggregate_of_instance::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc2x3::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles));data_->setArgument(2,attr);} } +Ifc2x3::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc2x3::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc2x3::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc2x3::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles));data_->setArgument(2,attr);} } // Function implementations for IfcSurfaceStyleLighting ::Ifc2x3::IfcColourRgb* Ifc2x3::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcColourRgb>(true); } @@ -16166,8 +16166,8 @@ Ifc2x3::IfcTable::IfcTable(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() Ifc2x3::IfcTable::IfcTable(std::string v1_Name, aggregate_of< ::Ifc2x3::IfcTableRow >::ptr v2_Rows) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcTable_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Rows)->generalize());data_->setArgument(1,attr);} } // Function implementations for IfcTableRow -aggregate_of_instance::ptr Ifc2x3::IfcTableRow::RowCells() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc2x3::IfcTableRow::setRowCells(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc2x3::IfcValue >::ptr Ifc2x3::IfcTableRow::RowCells() const { aggregate_of< ::Ifc2x3::IfcValue >::ptr v = *data_->getArgument(0); return v; } +void Ifc2x3::IfcTableRow::setRowCells(aggregate_of< ::Ifc2x3::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } bool Ifc2x3::IfcTableRow::IsHeading() const { bool v = *data_->getArgument(1); return v; } void Ifc2x3::IfcTableRow::setIsHeading(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -16176,7 +16176,7 @@ void Ifc2x3::IfcTableRow::setIsHeading(bool v) { {IfcWrite::IfcWriteArgument* at const IfcParse::entity& Ifc2x3::IfcTableRow::declaration() const { return *IFC2X3_IfcTableRow_type; } const IfcParse::entity& Ifc2x3::IfcTableRow::Class() { return *IFC2X3_IfcTableRow_type; } Ifc2x3::IfcTableRow::IfcTableRow(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC2X3_IfcTableRow_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcTableRow::IfcTableRow(aggregate_of_instance::ptr v1_RowCells, bool v2_IsHeading) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcTableRow_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_RowCells));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_IsHeading));data_->setArgument(1,attr);} } +Ifc2x3::IfcTableRow::IfcTableRow(aggregate_of< ::Ifc2x3::IfcValue >::ptr v1_RowCells, bool v2_IsHeading) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcTableRow_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_RowCells));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_IsHeading));data_->setArgument(1,attr);} } // Function implementations for IfcTankType ::Ifc2x3::IfcTankTypeEnum::Value Ifc2x3::IfcTankType::PredefinedType() const { return ::Ifc2x3::IfcTankTypeEnum::FromString(*data_->getArgument(9)); } @@ -16388,14 +16388,14 @@ Ifc2x3::IfcTextureCoordinate::IfcTextureCoordinate() : IfcUtil::IfcBaseEntity() // Function implementations for IfcTextureCoordinateGenerator std::string Ifc2x3::IfcTextureCoordinateGenerator::Mode() const { std::string v = *data_->getArgument(0); return v; } void Ifc2x3::IfcTextureCoordinateGenerator::setMode(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of_instance::ptr Ifc2x3::IfcTextureCoordinateGenerator::Parameter() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcTextureCoordinateGenerator::setParameter(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc2x3::IfcSimpleValue >::ptr Ifc2x3::IfcTextureCoordinateGenerator::Parameter() const { aggregate_of< ::Ifc2x3::IfcSimpleValue >::ptr v = *data_->getArgument(1); return v; } +void Ifc2x3::IfcTextureCoordinateGenerator::setParameter(aggregate_of< ::Ifc2x3::IfcSimpleValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc2x3::IfcTextureCoordinateGenerator::declaration() const { return *IFC2X3_IfcTextureCoordinateGenerator_type; } const IfcParse::entity& Ifc2x3::IfcTextureCoordinateGenerator::Class() { return *IFC2X3_IfcTextureCoordinateGenerator_type; } Ifc2x3::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(IfcEntityInstanceData* e) : IfcTextureCoordinate((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC2X3_IfcTextureCoordinateGenerator_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(std::string v1_Mode, aggregate_of_instance::ptr v2_Parameter) : IfcTextureCoordinate((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcTextureCoordinateGenerator_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Mode));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Parameter));data_->setArgument(1,attr);} } +Ifc2x3::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(std::string v1_Mode, aggregate_of< ::Ifc2x3::IfcSimpleValue >::ptr v2_Parameter) : IfcTextureCoordinate((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcTextureCoordinateGenerator_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Mode));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Parameter));data_->setArgument(1,attr);} } // Function implementations for IfcTextureMap aggregate_of< ::Ifc2x3::IfcVertexBasedTextureMap >::ptr Ifc2x3::IfcTextureMap::TextureMaps() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc2x3::IfcVertexBasedTextureMap >(); } @@ -16461,18 +16461,18 @@ Ifc2x3::IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std:: // Function implementations for IfcTimeSeriesReferenceRelationship ::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcTimeSeriesReferenceRelationship::ReferencedTimeSeries() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcTimeSeries>(true); } void Ifc2x3::IfcTimeSeriesReferenceRelationship::setReferencedTimeSeries(::Ifc2x3::IfcTimeSeries* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of_instance::ptr Ifc2x3::IfcTimeSeriesReferenceRelationship::TimeSeriesReferences() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcTimeSeriesReferenceRelationship::setTimeSeriesReferences(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc2x3::IfcDocumentSelect >::ptr Ifc2x3::IfcTimeSeriesReferenceRelationship::TimeSeriesReferences() const { aggregate_of< ::Ifc2x3::IfcDocumentSelect >::ptr v = *data_->getArgument(1); return v; } +void Ifc2x3::IfcTimeSeriesReferenceRelationship::setTimeSeriesReferences(aggregate_of< ::Ifc2x3::IfcDocumentSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc2x3::IfcTimeSeriesReferenceRelationship::declaration() const { return *IFC2X3_IfcTimeSeriesReferenceRelationship_type; } const IfcParse::entity& Ifc2x3::IfcTimeSeriesReferenceRelationship::Class() { return *IFC2X3_IfcTimeSeriesReferenceRelationship_type; } Ifc2x3::IfcTimeSeriesReferenceRelationship::IfcTimeSeriesReferenceRelationship(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC2X3_IfcTimeSeriesReferenceRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcTimeSeriesReferenceRelationship::IfcTimeSeriesReferenceRelationship(::Ifc2x3::IfcTimeSeries* v1_ReferencedTimeSeries, aggregate_of_instance::ptr v2_TimeSeriesReferences) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcTimeSeriesReferenceRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ReferencedTimeSeries));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_TimeSeriesReferences));data_->setArgument(1,attr);} } +Ifc2x3::IfcTimeSeriesReferenceRelationship::IfcTimeSeriesReferenceRelationship(::Ifc2x3::IfcTimeSeries* v1_ReferencedTimeSeries, aggregate_of< ::Ifc2x3::IfcDocumentSelect >::ptr v2_TimeSeriesReferences) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcTimeSeriesReferenceRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ReferencedTimeSeries));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_TimeSeriesReferences));data_->setArgument(1,attr);} } // Function implementations for IfcTimeSeriesSchedule -boost::optional< aggregate_of_instance::ptr > Ifc2x3::IfcTimeSeriesSchedule::ApplicableDates() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(5); return v; } -void Ifc2x3::IfcTimeSeriesSchedule::setApplicableDates(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } +boost::optional< aggregate_of< ::Ifc2x3::IfcDateTimeSelect >::ptr > Ifc2x3::IfcTimeSeriesSchedule::ApplicableDates() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } aggregate_of< ::Ifc2x3::IfcDateTimeSelect >::ptr v = *data_->getArgument(5); return v; } +void Ifc2x3::IfcTimeSeriesSchedule::setApplicableDates(boost::optional< aggregate_of< ::Ifc2x3::IfcDateTimeSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::Value Ifc2x3::IfcTimeSeriesSchedule::TimeSeriesScheduleType() const { return ::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::FromString(*data_->getArgument(6)); } void Ifc2x3::IfcTimeSeriesSchedule::setTimeSeriesScheduleType(::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::ToString(v)));data_->setArgument(6,attr);} } ::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcTimeSeriesSchedule::TimeSeries() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc2x3::IfcTimeSeries>(true); } @@ -16482,17 +16482,17 @@ void Ifc2x3::IfcTimeSeriesSchedule::setTimeSeries(::Ifc2x3::IfcTimeSeries* v) { const IfcParse::entity& Ifc2x3::IfcTimeSeriesSchedule::declaration() const { return *IFC2X3_IfcTimeSeriesSchedule_type; } const IfcParse::entity& Ifc2x3::IfcTimeSeriesSchedule::Class() { return *IFC2X3_IfcTimeSeriesSchedule_type; } Ifc2x3::IfcTimeSeriesSchedule::IfcTimeSeriesSchedule(IfcEntityInstanceData* e) : IfcControl((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC2X3_IfcTimeSeriesSchedule_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcTimeSeriesSchedule::IfcTimeSeriesSchedule(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< aggregate_of_instance::ptr > v6_ApplicableDates, ::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::Value v7_TimeSeriesScheduleType, ::Ifc2x3::IfcTimeSeries* v8_TimeSeries) : IfcControl((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcTimeSeriesSchedule_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_ApplicableDates) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_ApplicableDates));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v7_TimeSeriesScheduleType,::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::ToString(v7_TimeSeriesScheduleType))));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_TimeSeries));data_->setArgument(7,attr);} } +Ifc2x3::IfcTimeSeriesSchedule::IfcTimeSeriesSchedule(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< aggregate_of< ::Ifc2x3::IfcDateTimeSelect >::ptr > v6_ApplicableDates, ::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::Value v7_TimeSeriesScheduleType, ::Ifc2x3::IfcTimeSeries* v8_TimeSeries) : IfcControl((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcTimeSeriesSchedule_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_ApplicableDates) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_ApplicableDates));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v7_TimeSeriesScheduleType,::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::ToString(v7_TimeSeriesScheduleType))));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_TimeSeries));data_->setArgument(7,attr);} } // Function implementations for IfcTimeSeriesValue -aggregate_of_instance::ptr Ifc2x3::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc2x3::IfcTimeSeriesValue::setListValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc2x3::IfcValue >::ptr Ifc2x3::IfcTimeSeriesValue::ListValues() const { aggregate_of< ::Ifc2x3::IfcValue >::ptr v = *data_->getArgument(0); return v; } +void Ifc2x3::IfcTimeSeriesValue::setListValues(aggregate_of< ::Ifc2x3::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc2x3::IfcTimeSeriesValue::declaration() const { return *IFC2X3_IfcTimeSeriesValue_type; } const IfcParse::entity& Ifc2x3::IfcTimeSeriesValue::Class() { return *IFC2X3_IfcTimeSeriesValue_type; } Ifc2x3::IfcTimeSeriesValue::IfcTimeSeriesValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC2X3_IfcTimeSeriesValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of_instance::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ListValues));data_->setArgument(0,attr);} } +Ifc2x3::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc2x3::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ListValues));data_->setArgument(0,attr);} } // Function implementations for IfcTopologicalRepresentationItem @@ -16563,10 +16563,10 @@ Ifc2x3::IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(::Ifc2x3::IfcProfileTypeE // Function implementations for IfcTrimmedCurve ::Ifc2x3::IfcCurve* Ifc2x3::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcCurve>(true); } void Ifc2x3::IfcTrimmedCurve::setBasisCurve(::Ifc2x3::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of_instance::ptr Ifc2x3::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcTrimmedCurve::setTrim1(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -aggregate_of_instance::ptr Ifc2x3::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcTrimmedCurve::setTrim2(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc2x3::IfcTrimmingSelect >::ptr Ifc2x3::IfcTrimmedCurve::Trim1() const { aggregate_of< ::Ifc2x3::IfcTrimmingSelect >::ptr v = *data_->getArgument(1); return v; } +void Ifc2x3::IfcTrimmedCurve::setTrim1(aggregate_of< ::Ifc2x3::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc2x3::IfcTrimmingSelect >::ptr Ifc2x3::IfcTrimmedCurve::Trim2() const { aggregate_of< ::Ifc2x3::IfcTrimmingSelect >::ptr v = *data_->getArgument(2); return v; } +void Ifc2x3::IfcTrimmedCurve::setTrim2(aggregate_of< ::Ifc2x3::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } bool Ifc2x3::IfcTrimmedCurve::SenseAgreement() const { bool v = *data_->getArgument(3); return v; } void Ifc2x3::IfcTrimmedCurve::setSenseAgreement(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc2x3::IfcTrimmingPreference::Value Ifc2x3::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc2x3::IfcTrimmingPreference::FromString(*data_->getArgument(4)); } @@ -16576,7 +16576,7 @@ void Ifc2x3::IfcTrimmedCurve::setMasterRepresentation(::Ifc2x3::IfcTrimmingPrefe const IfcParse::entity& Ifc2x3::IfcTrimmedCurve::declaration() const { return *IFC2X3_IfcTrimmedCurve_type; } const IfcParse::entity& Ifc2x3::IfcTrimmedCurve::Class() { return *IFC2X3_IfcTrimmedCurve_type; } Ifc2x3::IfcTrimmedCurve::IfcTrimmedCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC2X3_IfcTrimmedCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc2x3::IfcCurve* v1_BasisCurve, aggregate_of_instance::ptr v2_Trim1, aggregate_of_instance::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc2x3::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcTrimmedCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Trim1));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Trim2));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SenseAgreement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_MasterRepresentation,::Ifc2x3::IfcTrimmingPreference::ToString(v5_MasterRepresentation))));data_->setArgument(4,attr);} } +Ifc2x3::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc2x3::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc2x3::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc2x3::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc2x3::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcTrimmedCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Trim1));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Trim2));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SenseAgreement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_MasterRepresentation,::Ifc2x3::IfcTrimmingPreference::ToString(v5_MasterRepresentation))));data_->setArgument(4,attr);} } // Function implementations for IfcTubeBundleType ::Ifc2x3::IfcTubeBundleTypeEnum::Value Ifc2x3::IfcTubeBundleType::PredefinedType() const { return ::Ifc2x3::IfcTubeBundleTypeEnum::FromString(*data_->getArgument(9)); } @@ -16648,14 +16648,14 @@ Ifc2x3::IfcUShapeProfileDef::IfcUShapeProfileDef(IfcEntityInstanceData* e) : Ifc Ifc2x3::IfcUShapeProfileDef::IfcUShapeProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::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((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcUShapeProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc2x3::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_FlangeWidth));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_WebThickness));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_FlangeThickness));data_->setArgument(6,attr);} if (v8_FilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_FilletRadius));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_EdgeRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_EdgeRadius));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_FlangeSlope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_FlangeSlope));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CentreOfGravityInX) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CentreOfGravityInX));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } // Function implementations for IfcUnitAssignment -aggregate_of_instance::ptr Ifc2x3::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc2x3::IfcUnitAssignment::setUnits(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc2x3::IfcUnit >::ptr Ifc2x3::IfcUnitAssignment::Units() const { aggregate_of< ::Ifc2x3::IfcUnit >::ptr v = *data_->getArgument(0); return v; } +void Ifc2x3::IfcUnitAssignment::setUnits(aggregate_of< ::Ifc2x3::IfcUnit >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc2x3::IfcUnitAssignment::declaration() const { return *IFC2X3_IfcUnitAssignment_type; } const IfcParse::entity& Ifc2x3::IfcUnitAssignment::Class() { return *IFC2X3_IfcUnitAssignment_type; } Ifc2x3::IfcUnitAssignment::IfcUnitAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC2X3_IfcUnitAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcUnitAssignment::IfcUnitAssignment(aggregate_of_instance::ptr v1_Units) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcUnitAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Units));data_->setArgument(0,attr);} } +Ifc2x3::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc2x3::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcUnitAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Units));data_->setArgument(0,attr);} } // Function implementations for IfcUnitaryEquipmentType ::Ifc2x3::IfcUnitaryEquipmentTypeEnum::Value Ifc2x3::IfcUnitaryEquipmentType::PredefinedType() const { return ::Ifc2x3::IfcUnitaryEquipmentTypeEnum::FromString(*data_->getArgument(9)); } diff --git a/src/ifcparse/Ifc2x3.h b/src/ifcparse/Ifc2x3.h index a9ff0fbf90..432347b98d 100644 --- a/src/ifcparse/Ifc2x3.h +++ b/src/ifcparse/Ifc2x3.h @@ -8375,12 +8375,12 @@ class IFC_PARSE_API IfcConstraintClassificationRelationship : public IfcUtil::I public: ::Ifc2x3::IfcConstraint* ClassifiedConstraint() const; void setClassifiedConstraint(::Ifc2x3::IfcConstraint* v); - aggregate_of_instance::ptr RelatedClassifications() const; - void setRelatedClassifications(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc2x3::IfcClassificationNotationSelect >::ptr RelatedClassifications() const; + void setRelatedClassifications(aggregate_of< ::Ifc2x3::IfcClassificationNotationSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcConstraintClassificationRelationship (IfcEntityInstanceData* e); - IfcConstraintClassificationRelationship (::Ifc2x3::IfcConstraint* v1_ClassifiedConstraint, aggregate_of_instance::ptr v2_RelatedClassifications); + IfcConstraintClassificationRelationship (::Ifc2x3::IfcConstraint* v1_ClassifiedConstraint, aggregate_of< ::Ifc2x3::IfcClassificationNotationSelect >::ptr v2_RelatedClassifications); typedef aggregate_of< IfcConstraintClassificationRelationship > list; }; /// An IfcConstraintRelationship is an objectified relationship that enables instances of IfcConstraint and its @@ -8748,8 +8748,8 @@ public: ::Ifc2x3::IfcActorSelect* DocumentOwner() const; void setDocumentOwner(::Ifc2x3::IfcActorSelect* v); /// The persons and/or organizations who have created this document or contributed to it. - boost::optional< aggregate_of_instance::ptr > Editors() const; - void setEditors(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > Editors() const; + void setEditors(boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > v); /// 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. @@ -8788,7 +8788,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcDocumentInformation (IfcEntityInstanceData* e); - IfcDocumentInformation (std::string v1_DocumentId, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< aggregate_of< ::Ifc2x3::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, ::Ifc2x3::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of_instance::ptr > v10_Editors, ::Ifc2x3::IfcDateAndTime* v11_CreationTime, ::Ifc2x3::IfcDateAndTime* v12_LastRevisionTime, ::Ifc2x3::IfcDocumentElectronicFormat* v13_ElectronicFormat, ::Ifc2x3::IfcCalendarDate* v14_ValidFrom, ::Ifc2x3::IfcCalendarDate* v15_ValidUntil, boost::optional< ::Ifc2x3::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc2x3::IfcDocumentStatusEnum::Value > v17_Status); + IfcDocumentInformation (std::string v1_DocumentId, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< aggregate_of< ::Ifc2x3::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, ::Ifc2x3::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > v10_Editors, ::Ifc2x3::IfcDateAndTime* v11_CreationTime, ::Ifc2x3::IfcDateAndTime* v12_LastRevisionTime, ::Ifc2x3::IfcDocumentElectronicFormat* v13_ElectronicFormat, ::Ifc2x3::IfcCalendarDate* v14_ValidFrom, ::Ifc2x3::IfcCalendarDate* v15_ValidUntil, boost::optional< ::Ifc2x3::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc2x3::IfcDocumentStatusEnum::Value > v17_Status); typedef aggregate_of< IfcDocumentInformation > list; }; /// An IfcDocumentInformationRelationship is a relationship class that enables a document to have the ability to reference other documents. @@ -8991,12 +8991,12 @@ public: ::Ifc2x3::IfcDateTimeSelect* TimeStamp() const; void setTimeStamp(::Ifc2x3::IfcDateTimeSelect* v); /// A list of time-series values. At least one value is required. - aggregate_of_instance::ptr ListValues() const; - void setListValues(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc2x3::IfcValue >::ptr ListValues() const; + void setListValues(aggregate_of< ::Ifc2x3::IfcValue >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcIrregularTimeSeriesValue (IfcEntityInstanceData* e); - IfcIrregularTimeSeriesValue (::Ifc2x3::IfcDateTimeSelect* v1_TimeStamp, aggregate_of_instance::ptr v2_ListValues); + IfcIrregularTimeSeriesValue (::Ifc2x3::IfcDateTimeSelect* v1_TimeStamp, aggregate_of< ::Ifc2x3::IfcValue >::ptr v2_ListValues); typedef aggregate_of< 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. @@ -9169,15 +9169,15 @@ public: class IFC_PARSE_API IfcMaterialClassificationRelationship : public IfcUtil::IfcBaseEntity { public: /// The material classifications identifying the type of material. - aggregate_of_instance::ptr MaterialClassifications() const; - void setMaterialClassifications(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc2x3::IfcClassificationNotationSelect >::ptr MaterialClassifications() const; + void setMaterialClassifications(aggregate_of< ::Ifc2x3::IfcClassificationNotationSelect >::ptr v); /// Material being classified. ::Ifc2x3::IfcMaterial* ClassifiedMaterial() const; void setClassifiedMaterial(::Ifc2x3::IfcMaterial* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcMaterialClassificationRelationship (IfcEntityInstanceData* e); - IfcMaterialClassificationRelationship (aggregate_of_instance::ptr v1_MaterialClassifications, ::Ifc2x3::IfcMaterial* v2_ClassifiedMaterial); + IfcMaterialClassificationRelationship (aggregate_of< ::Ifc2x3::IfcClassificationNotationSelect >::ptr v1_MaterialClassifications, ::Ifc2x3::IfcMaterial* v2_ClassifiedMaterial); typedef aggregate_of< IfcMaterialClassificationRelationship > list; }; /// IfcMaterialLayer is a single and identifiable part of an element which is constructed of a number of layers (one or more). Each IfcMaterialLayer has a constant thickness and is located relative to the referencing IfcMaterialLayerSet along the MlsBase. @@ -10045,15 +10045,15 @@ public: boost::optional< std::string > Description() const; void setDescription(boost::optional< std::string > v); /// The set of layered items, which are assigned to this layer. - aggregate_of_instance::ptr AssignedItems() const; - void setAssignedItems(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc2x3::IfcLayeredItem >::ptr AssignedItems() const; + void setAssignedItems(aggregate_of< ::Ifc2x3::IfcLayeredItem >::ptr v); /// An (internal) identifier assigned to the layer. boost::optional< std::string > Identifier() const; void setIdentifier(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPresentationLayerAssignment (IfcEntityInstanceData* e); - IfcPresentationLayerAssignment (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier); + IfcPresentationLayerAssignment (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc2x3::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier); typedef aggregate_of< IfcPresentationLayerAssignment > list; }; /// An IfcPresentationLayerAssignmentWithStyle extends the presentation layer assignment with capabilities to define visibility control, access control and common style information. @@ -10085,12 +10085,12 @@ 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. - aggregate_of_instance::ptr LayerStyles() const; - void setLayerStyles(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc2x3::IfcPresentationStyleSelect >::ptr LayerStyles() const; + void setLayerStyles(aggregate_of< ::Ifc2x3::IfcPresentationStyleSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPresentationLayerWithStyle (IfcEntityInstanceData* e); - IfcPresentationLayerWithStyle (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of_instance::ptr v8_LayerStyles); + IfcPresentationLayerWithStyle (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc2x3::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc2x3::IfcPresentationStyleSelect >::ptr v8_LayerStyles); typedef aggregate_of< 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. @@ -10117,12 +10117,12 @@ public: class IFC_PARSE_API IfcPresentationStyleAssignment : public IfcUtil::IfcBaseEntity { public: /// A set of presentation styles that are assigned to styled items. - aggregate_of_instance::ptr Styles() const; - void setStyles(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc2x3::IfcPresentationStyleSelect >::ptr Styles() const; + void setStyles(aggregate_of< ::Ifc2x3::IfcPresentationStyleSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPresentationStyleAssignment (IfcEntityInstanceData* e); - IfcPresentationStyleAssignment (aggregate_of_instance::ptr v1_Styles); + IfcPresentationStyleAssignment (aggregate_of< ::Ifc2x3::IfcPresentationStyleSelect >::ptr v1_Styles); typedef aggregate_of< IfcPresentationStyleAssignment > list; }; /// IfcProductRepresentation defines a representation of a @@ -10502,15 +10502,15 @@ public: std::string Name() const; void setName(std::string v); /// List of values that form the enumeration. - aggregate_of_instance::ptr EnumerationValues() const; - void setEnumerationValues(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc2x3::IfcValue >::ptr EnumerationValues() const; + void setEnumerationValues(aggregate_of< ::Ifc2x3::IfcValue >::ptr v); /// 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. ::Ifc2x3::IfcUnit* Unit() const; void setUnit(::Ifc2x3::IfcUnit* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyEnumeration (IfcEntityInstanceData* e); - IfcPropertyEnumeration (std::string v1_Name, aggregate_of_instance::ptr v2_EnumerationValues, ::Ifc2x3::IfcUnit* v3_Unit); + IfcPropertyEnumeration (std::string v1_Name, aggregate_of< ::Ifc2x3::IfcValue >::ptr v2_EnumerationValues, ::Ifc2x3::IfcUnit* v3_Unit); typedef aggregate_of< 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. @@ -11360,12 +11360,12 @@ public: ::Ifc2x3::IfcSurfaceSide::Value Side() const; void setSide(::Ifc2x3::IfcSurfaceSide::Value v); /// A collection of different surface styles. - aggregate_of_instance::ptr Styles() const; - void setStyles(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc2x3::IfcSurfaceStyleElementSelect >::ptr Styles() const; + void setStyles(aggregate_of< ::Ifc2x3::IfcSurfaceStyleElementSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSurfaceStyle (IfcEntityInstanceData* e); - IfcSurfaceStyle (boost::optional< std::string > v1_Name, ::Ifc2x3::IfcSurfaceSide::Value v2_Side, aggregate_of_instance::ptr v3_Styles); + IfcSurfaceStyle (boost::optional< std::string > v1_Name, ::Ifc2x3::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc2x3::IfcSurfaceStyleElementSelect >::ptr v3_Styles); typedef aggregate_of< IfcSurfaceStyle > list; }; /// IfcSurfaceStyleLighting is a container class for properties for calculation of physically exact illuminance related to a particular surface style. @@ -11643,8 +11643,8 @@ public: class IFC_PARSE_API IfcTableRow : public IfcUtil::IfcBaseEntity { public: /// The data value of the table cell.. - aggregate_of_instance::ptr RowCells() const; - void setRowCells(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc2x3::IfcValue >::ptr RowCells() const; + void setRowCells(aggregate_of< ::Ifc2x3::IfcValue >::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); @@ -11652,7 +11652,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTableRow (IfcEntityInstanceData* e); - IfcTableRow (aggregate_of_instance::ptr v1_RowCells, bool v2_IsHeading); + IfcTableRow (aggregate_of< ::Ifc2x3::IfcValue >::ptr v1_RowCells, bool v2_IsHeading); typedef aggregate_of< IfcTableRow > list; }; /// Definition: Address to which telephone, electronic mail and other forms of telecommunications should be addressed. @@ -11999,12 +11999,12 @@ public: /// The parameters used as arguments by the function as specified by Mode. /// /// IFC2x4 CHANGE  Made optional data type restricted to REAL. - aggregate_of_instance::ptr Parameter() const; - void setParameter(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc2x3::IfcSimpleValue >::ptr Parameter() const; + void setParameter(aggregate_of< ::Ifc2x3::IfcSimpleValue >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTextureCoordinateGenerator (IfcEntityInstanceData* e); - IfcTextureCoordinateGenerator (std::string v1_Mode, aggregate_of_instance::ptr v2_Parameter); + IfcTextureCoordinateGenerator (std::string v1_Mode, aggregate_of< ::Ifc2x3::IfcSimpleValue >::ptr v2_Parameter); typedef aggregate_of< IfcTextureCoordinateGenerator > list; }; /// An IfcTextureMap provides the mapping of the @@ -12166,12 +12166,12 @@ class IFC_PARSE_API IfcTimeSeriesReferenceRelationship : public IfcUtil::IfcBas public: ::Ifc2x3::IfcTimeSeries* ReferencedTimeSeries() const; void setReferencedTimeSeries(::Ifc2x3::IfcTimeSeries* v); - aggregate_of_instance::ptr TimeSeriesReferences() const; - void setTimeSeriesReferences(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc2x3::IfcDocumentSelect >::ptr TimeSeriesReferences() const; + void setTimeSeriesReferences(aggregate_of< ::Ifc2x3::IfcDocumentSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTimeSeriesReferenceRelationship (IfcEntityInstanceData* e); - IfcTimeSeriesReferenceRelationship (::Ifc2x3::IfcTimeSeries* v1_ReferencedTimeSeries, aggregate_of_instance::ptr v2_TimeSeriesReferences); + IfcTimeSeriesReferenceRelationship (::Ifc2x3::IfcTimeSeries* v1_ReferencedTimeSeries, aggregate_of< ::Ifc2x3::IfcDocumentSelect >::ptr v2_TimeSeriesReferences); typedef aggregate_of< IfcTimeSeriesReferenceRelationship > 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: @@ -12186,12 +12186,12 @@ public: class IFC_PARSE_API IfcTimeSeriesValue : public IfcUtil::IfcBaseEntity { public: /// A list of time-series values. At least one value is required. - aggregate_of_instance::ptr ListValues() const; - void setListValues(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc2x3::IfcValue >::ptr ListValues() const; + void setListValues(aggregate_of< ::Ifc2x3::IfcValue >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTimeSeriesValue (IfcEntityInstanceData* e); - IfcTimeSeriesValue (aggregate_of_instance::ptr v1_ListValues); + IfcTimeSeriesValue (aggregate_of< ::Ifc2x3::IfcValue >::ptr v1_ListValues); typedef aggregate_of< IfcTimeSeriesValue > list; }; /// Definition from ISO/CD 10303-42:1992: The topological representation item is the supertype for all the topological representation items in the geometry resource. @@ -12257,12 +12257,12 @@ public: class IFC_PARSE_API IfcUnitAssignment : public IfcUtil::IfcBaseEntity { public: /// Units to be included within a unit assignment. - aggregate_of_instance::ptr Units() const; - void setUnits(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc2x3::IfcUnit >::ptr Units() const; + void setUnits(aggregate_of< ::Ifc2x3::IfcUnit >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcUnitAssignment (IfcEntityInstanceData* e); - IfcUnitAssignment (aggregate_of_instance::ptr v1_Units); + IfcUnitAssignment (aggregate_of< ::Ifc2x3::IfcUnit >::ptr v1_Units); typedef aggregate_of< IfcUnitAssignment > list; }; /// Definition from ISO/CD 10303-42:1992: A vertex is the topological construct corresponding to a point. It has dimensionality 0 and extent 0. The domain of a vertex, if present, is a point in m dimensional real space RM; this is represented by the vertex point subtype. @@ -13448,12 +13448,12 @@ public: class IFC_PARSE_API IfcFillAreaStyle : public IfcPresentationStyle, public IfcPresentationStyleSelect { public: /// The set of fill area styles to use in presenting visible curve segments, annotation fill areas or surfaces. - aggregate_of_instance::ptr FillStyles() const; - void setFillStyles(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc2x3::IfcFillStyleSelect >::ptr FillStyles() const; + void setFillStyles(aggregate_of< ::Ifc2x3::IfcFillStyleSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcFillAreaStyle (IfcEntityInstanceData* e); - IfcFillAreaStyle (boost::optional< std::string > v1_Name, aggregate_of_instance::ptr v2_FillStyles); + IfcFillAreaStyle (boost::optional< std::string > v1_Name, aggregate_of< ::Ifc2x3::IfcFillStyleSelect >::ptr v2_FillStyles); typedef aggregate_of< IfcFillAreaStyle > list; }; @@ -13657,12 +13657,12 @@ public: class IFC_PARSE_API 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. - aggregate_of_instance::ptr Elements() const; - void setElements(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc2x3::IfcGeometricSetSelect >::ptr Elements() const; + void setElements(aggregate_of< ::Ifc2x3::IfcGeometricSetSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcGeometricSet (IfcEntityInstanceData* e); - IfcGeometricSet (aggregate_of_instance::ptr v1_Elements); + IfcGeometricSet (aggregate_of< ::Ifc2x3::IfcGeometricSetSelect >::ptr v1_Elements); typedef aggregate_of< IfcGeometricSet > list; }; /// IfcGridPlacement provides a specialization of IfcObjectPlacement in which @@ -15074,15 +15074,15 @@ 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. - aggregate_of_instance::ptr EnumerationValues() const; - void setEnumerationValues(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc2x3::IfcValue >::ptr EnumerationValues() const; + void setEnumerationValues(aggregate_of< ::Ifc2x3::IfcValue >::ptr v); /// Enumeration from which a enumeration value has been selected. The referenced enumeration also establishes the unit of the enumeration value. ::Ifc2x3::IfcPropertyEnumeration* EnumerationReference() const; void setEnumerationReference(::Ifc2x3::IfcPropertyEnumeration* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyEnumeratedValue (IfcEntityInstanceData* e); - IfcPropertyEnumeratedValue (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_EnumerationValues, ::Ifc2x3::IfcPropertyEnumeration* v4_EnumerationReference); + IfcPropertyEnumeratedValue (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc2x3::IfcValue >::ptr v3_EnumerationValues, ::Ifc2x3::IfcPropertyEnumeration* v4_EnumerationReference); typedef aggregate_of< IfcPropertyEnumeratedValue > list; }; /// An IfcPropertyListValue @@ -15155,15 +15155,15 @@ public: /// List of property values. /// /// IFC2x4 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. - aggregate_of_instance::ptr ListValues() const; - void setListValues(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc2x3::IfcValue >::ptr ListValues() const; + void setListValues(aggregate_of< ::Ifc2x3::IfcValue >::ptr v); /// 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. ::Ifc2x3::IfcUnit* Unit() const; void setUnit(::Ifc2x3::IfcUnit* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyListValue (IfcEntityInstanceData* e); - IfcPropertyListValue (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_ListValues, ::Ifc2x3::IfcUnit* v4_Unit); + IfcPropertyListValue (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc2x3::IfcValue >::ptr v3_ListValues, ::Ifc2x3::IfcUnit* v4_Unit); typedef aggregate_of< IfcPropertyListValue > list; }; /// IfcPropertyReferenceValue allows a property value to @@ -15432,13 +15432,13 @@ 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. - aggregate_of_instance::ptr DefiningValues() const; - void setDefiningValues(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc2x3::IfcValue >::ptr DefiningValues() const; + void setDefiningValues(aggregate_of< ::Ifc2x3::IfcValue >::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. - aggregate_of_instance::ptr DefinedValues() const; - void setDefinedValues(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc2x3::IfcValue >::ptr DefinedValues() const; + void setDefinedValues(aggregate_of< ::Ifc2x3::IfcValue >::ptr v); /// 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. boost::optional< std::string > Expression() const; void setExpression(boost::optional< std::string > v); @@ -15451,7 +15451,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyTableValue (IfcEntityInstanceData* e); - IfcPropertyTableValue (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_DefiningValues, aggregate_of_instance::ptr v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc2x3::IfcUnit* v6_DefiningUnit, ::Ifc2x3::IfcUnit* v7_DefinedUnit); + IfcPropertyTableValue (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc2x3::IfcValue >::ptr v3_DefiningValues, aggregate_of< ::Ifc2x3::IfcValue >::ptr v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc2x3::IfcUnit* v6_DefiningUnit, ::Ifc2x3::IfcUnit* v7_DefinedUnit); typedef aggregate_of< 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. @@ -15726,12 +15726,12 @@ public: /// The shells shall not overlap or intersect except at common faces, edges or vertices. class IFC_PARSE_API IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { public: - aggregate_of_instance::ptr SbsmBoundary() const; - void setSbsmBoundary(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc2x3::IfcShell >::ptr SbsmBoundary() const; + void setSbsmBoundary(aggregate_of< ::Ifc2x3::IfcShell >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcShellBasedSurfaceModel (IfcEntityInstanceData* e); - IfcShellBasedSurfaceModel (aggregate_of_instance::ptr v1_SbsmBoundary); + IfcShellBasedSurfaceModel (aggregate_of< ::Ifc2x3::IfcShell >::ptr v1_SbsmBoundary); typedef aggregate_of< IfcShellBasedSurfaceModel > 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. @@ -18110,14 +18110,14 @@ public: class IFC_PARSE_API IfcDraughtingCallout : public IfcGeometricRepresentationItem { public: - aggregate_of_instance::ptr Contents() const; - void setContents(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr Contents() const; + void setContents(aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v); aggregate_of< IfcDraughtingCalloutRelationship >::ptr IsRelatedFromCallout() const; // INVERSE IfcDraughtingCalloutRelationship::RelatedDraughtingCallout aggregate_of< IfcDraughtingCalloutRelationship >::ptr IsRelatedToCallout() const; // INVERSE IfcDraughtingCalloutRelationship::RelatingDraughtingCallout virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcDraughtingCallout (IfcEntityInstanceData* e); - IfcDraughtingCallout (aggregate_of_instance::ptr v1_Contents); + IfcDraughtingCallout (aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v1_Contents); typedef aggregate_of< IfcDraughtingCallout > list; }; /// The draughting pre defined colour is a pre defined colour for the purpose to identify a colour by name. Allowable names are: @@ -18645,15 +18645,15 @@ public: ::Ifc2x3::IfcOneDirectionRepeatFactor* TilingPattern() const; void setTilingPattern(::Ifc2x3::IfcOneDirectionRepeatFactor* v); /// A set of constituents of the tile. - aggregate_of_instance::ptr Tiles() const; - void setTiles(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc2x3::IfcFillAreaStyleTileShapeSelect >::ptr Tiles() const; + void setTiles(aggregate_of< ::Ifc2x3::IfcFillAreaStyleTileShapeSelect >::ptr v); /// The scale factor applied to each tile as it is placed in the annotation fill area. double TilingScale() const; void setTilingScale(double v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcFillAreaStyleTiles (IfcEntityInstanceData* e); - IfcFillAreaStyleTiles (::Ifc2x3::IfcOneDirectionRepeatFactor* v1_TilingPattern, aggregate_of_instance::ptr v2_Tiles, double v3_TilingScale); + IfcFillAreaStyleTiles (::Ifc2x3::IfcOneDirectionRepeatFactor* v1_TilingPattern, aggregate_of< ::Ifc2x3::IfcFillAreaStyleTileShapeSelect >::ptr v2_Tiles, double v3_TilingScale); typedef aggregate_of< IfcFillAreaStyleTiles > list; }; @@ -18791,7 +18791,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcGeometricCurveSet (IfcEntityInstanceData* e); - IfcGeometricCurveSet (aggregate_of_instance::ptr v1_Elements); + IfcGeometricCurveSet (aggregate_of< ::Ifc2x3::IfcGeometricSetSelect >::ptr v1_Elements); typedef aggregate_of< IfcGeometricCurveSet > list; }; /// IfcIShapeProfileDef @@ -22339,7 +22339,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcStructuredDimensionCallout (IfcEntityInstanceData* e); - IfcStructuredDimensionCallout (aggregate_of_instance::ptr v1_Contents); + IfcStructuredDimensionCallout (aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v1_Contents); typedef aggregate_of< IfcStructuredDimensionCallout > list; }; /// The IfcSurfaceCurveSweptAreaSolid is the result of @@ -24135,8 +24135,8 @@ public: /// STARTED boost::optional< std::string > Status() const; void setStatus(boost::optional< std::string > v); - boost::optional< aggregate_of_instance::ptr > TargetUsers() const; - void setTargetUsers(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > TargetUsers() const; + void setTargetUsers(boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > v); /// The date and time that this cost schedule is updated; this allows tracking the schedule history. /// /// IFC2x4 CHANGE Type changed from IfcDateTimeSelect. @@ -24152,7 +24152,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCostSchedule (IfcEntityInstanceData* e); - IfcCostSchedule (std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcActorSelect* v6_SubmittedBy, ::Ifc2x3::IfcActorSelect* v7_PreparedBy, ::Ifc2x3::IfcDateTimeSelect* v8_SubmittedOn, boost::optional< std::string > v9_Status, boost::optional< aggregate_of_instance::ptr > v10_TargetUsers, ::Ifc2x3::IfcDateTimeSelect* v11_UpdateDate, std::string v12_ID, ::Ifc2x3::IfcCostScheduleTypeEnum::Value v13_PredefinedType); + IfcCostSchedule (std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcActorSelect* v6_SubmittedBy, ::Ifc2x3::IfcActorSelect* v7_PreparedBy, ::Ifc2x3::IfcDateTimeSelect* v8_SubmittedOn, boost::optional< std::string > v9_Status, boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > v10_TargetUsers, ::Ifc2x3::IfcDateTimeSelect* v11_UpdateDate, std::string v12_ID, ::Ifc2x3::IfcCostScheduleTypeEnum::Value v13_PredefinedType); typedef aggregate_of< IfcCostSchedule > list; }; /// Definition from IAI: The element type @@ -24301,7 +24301,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcDimensionCurveDirectedCallout (IfcEntityInstanceData* e); - IfcDimensionCurveDirectedCallout (aggregate_of_instance::ptr v1_Contents); + IfcDimensionCurveDirectedCallout (aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v1_Contents); typedef aggregate_of< IfcDimensionCurveDirectedCallout > list; }; /// Definition from IAI: The @@ -26008,7 +26008,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcLinearDimension (IfcEntityInstanceData* e); - IfcLinearDimension (aggregate_of_instance::ptr v1_Contents); + IfcLinearDimension (aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v1_Contents); typedef aggregate_of< IfcLinearDimension > 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. @@ -27272,7 +27272,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRadiusDimension (IfcEntityInstanceData* e); - IfcRadiusDimension (aggregate_of_instance::ptr v1_Contents); + IfcRadiusDimension (aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v1_Contents); typedef aggregate_of< IfcRadiusDimension > list; }; /// Definition from IAI: The element type (IfcRailingType) @@ -28867,8 +28867,8 @@ public: class IFC_PARSE_API IfcTimeSeriesSchedule : public IfcControl { public: - boost::optional< aggregate_of_instance::ptr > ApplicableDates() const; - void setApplicableDates(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc2x3::IfcDateTimeSelect >::ptr > ApplicableDates() const; + void setApplicableDates(boost::optional< aggregate_of< ::Ifc2x3::IfcDateTimeSelect >::ptr > v); ::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::Value TimeSeriesScheduleType() const; void setTimeSeriesScheduleType(::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::Value v); ::Ifc2x3::IfcTimeSeries* TimeSeries() const; @@ -28876,7 +28876,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTimeSeriesSchedule (IfcEntityInstanceData* e); - IfcTimeSeriesSchedule (std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< aggregate_of_instance::ptr > v6_ApplicableDates, ::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::Value v7_TimeSeriesScheduleType, ::Ifc2x3::IfcTimeSeries* v8_TimeSeries); + IfcTimeSeriesSchedule (std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< aggregate_of< ::Ifc2x3::IfcDateTimeSelect >::ptr > v6_ApplicableDates, ::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::Value v7_TimeSeriesScheduleType, ::Ifc2x3::IfcTimeSeries* v8_TimeSeries); typedef aggregate_of< IfcTimeSeriesSchedule > list; }; /// The energy conversion device type IfcTransformerType defines commonly shared information for occurrences of transformers. The set of shared information may include: @@ -29133,11 +29133,11 @@ public: ::Ifc2x3::IfcCurve* BasisCurve() const; void setBasisCurve(::Ifc2x3::IfcCurve* v); /// The first trimming point which may be specified as a Cartesian point, as a real parameter or both. - aggregate_of_instance::ptr Trim1() const; - void setTrim1(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc2x3::IfcTrimmingSelect >::ptr Trim1() const; + void setTrim1(aggregate_of< ::Ifc2x3::IfcTrimmingSelect >::ptr v); /// The second trimming point which may be specified as a Cartesian point, as a real parameter or both. - aggregate_of_instance::ptr Trim2() const; - void setTrim2(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc2x3::IfcTrimmingSelect >::ptr Trim2() const; + void setTrim2(aggregate_of< ::Ifc2x3::IfcTrimmingSelect >::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); @@ -29147,7 +29147,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTrimmedCurve (IfcEntityInstanceData* e); - IfcTrimmedCurve (::Ifc2x3::IfcCurve* v1_BasisCurve, aggregate_of_instance::ptr v2_Trim1, aggregate_of_instance::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc2x3::IfcTrimmingPreference::Value v5_MasterRepresentation); + IfcTrimmedCurve (::Ifc2x3::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc2x3::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc2x3::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc2x3::IfcTrimmingPreference::Value v5_MasterRepresentation); typedef aggregate_of< IfcTrimmedCurve > list; }; /// The energy conversion device type IfcTubeBundleType defines commonly shared information for occurrences of tube bundles. The set of shared information may include: @@ -29940,7 +29940,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcAngularDimension (IfcEntityInstanceData* e); - IfcAngularDimension (aggregate_of_instance::ptr v1_Contents); + IfcAngularDimension (aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v1_Contents); typedef aggregate_of< IfcAngularDimension > 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. @@ -31571,14 +31571,14 @@ public: /// Figure 184 — Construction material resource assignment class IFC_PARSE_API IfcConstructionMaterialResource : public IfcConstructionResource { public: - boost::optional< aggregate_of_instance::ptr > Suppliers() const; - void setSuppliers(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > Suppliers() const; + void setSuppliers(boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > v); boost::optional< double > UsageRatio() const; void setUsageRatio(boost::optional< double > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcConstructionMaterialResource (IfcEntityInstanceData* e); - IfcConstructionMaterialResource (std::string v1_GlobalId, ::Ifc2x3::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< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit* v9_BaseQuantity, boost::optional< aggregate_of_instance::ptr > v10_Suppliers, boost::optional< double > v11_UsageRatio); + IfcConstructionMaterialResource (std::string v1_GlobalId, ::Ifc2x3::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< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit* v9_BaseQuantity, boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > v10_Suppliers, boost::optional< double > v11_UsageRatio); typedef aggregate_of< IfcConstructionMaterialResource > list; }; /// IfcConstructionProductResource defines the role of a product that is consumed (wholly or partially), or occupied in the performance of construction. @@ -32122,7 +32122,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcDiameterDimension (IfcEntityInstanceData* e); - IfcDiameterDimension (aggregate_of_instance::ptr v1_Contents); + IfcDiameterDimension (aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v1_Contents); typedef aggregate_of< IfcDiameterDimension > list; }; /// Definition from IAI: Representation of different kinds of diff --git a/src/ifcparse/Ifc4-definitions.h b/src/ifcparse/Ifc4-definitions.h index 29b262df31..53c877533f 100644 --- a/src/ifcparse/Ifc4-definitions.h +++ b/src/ifcparse/Ifc4-definitions.h @@ -3659,3 +3659,52 @@ #define SCHEMA_HAS_IfcZone #define SCHEMA_IfcZone_HAS_LongName #define SCHEMA_IfcZone_LongName_IS_OPTIONAL +#define SCHEMA_HAS_IfcRepresentationContextSameWCS +#define SCHEMA_HAS_IfcSingleProjectInstance +#define SCHEMA_HAS_IfcAssociatedSurface +#define SCHEMA_HAS_IfcBaseAxis +#define SCHEMA_HAS_IfcBooleanChoose +#define SCHEMA_HAS_IfcBuild2Axes +#define SCHEMA_HAS_IfcBuildAxes +#define SCHEMA_HAS_IfcConsecutiveSegments +#define SCHEMA_HAS_IfcConstraintsParamBSpline +#define SCHEMA_HAS_IfcConvertDirectionInto2D +#define SCHEMA_HAS_IfcCorrectDimensions +#define SCHEMA_HAS_IfcCorrectFillAreaStyle +#define SCHEMA_HAS_IfcCorrectLocalPlacement +#define SCHEMA_HAS_IfcCorrectObjectAssignment +#define SCHEMA_HAS_IfcCorrectUnitAssignment +#define SCHEMA_HAS_IfcCrossProduct +#define SCHEMA_HAS_IfcCurveDim +#define SCHEMA_HAS_IfcCurveWeightsPositive +#define SCHEMA_HAS_IfcDeriveDimensionalExponents +#define SCHEMA_HAS_IfcDimensionsForSiUnit +#define SCHEMA_HAS_IfcDotProduct +#define SCHEMA_HAS_IfcFirstProjAxis +#define SCHEMA_HAS_IfcGetBasisSurface +#define SCHEMA_HAS_IfcListToArray +#define SCHEMA_HAS_IfcLoopHeadToTail +#define SCHEMA_HAS_IfcMakeArrayOfArray +#define SCHEMA_HAS_IfcMlsTotalThickness +#define SCHEMA_HAS_IfcNormalise +#define SCHEMA_HAS_IfcOrthogonalComplement +#define SCHEMA_HAS_IfcPathHeadToTail +#define SCHEMA_HAS_IfcPointListDim +#define SCHEMA_HAS_IfcSameAxis2Placement +#define SCHEMA_HAS_IfcSameCartesianPoint +#define SCHEMA_HAS_IfcSameDirection +#define SCHEMA_HAS_IfcSameValidPrecision +#define SCHEMA_HAS_IfcSameValue +#define SCHEMA_HAS_IfcScalarTimesVector +#define SCHEMA_HAS_IfcSecondProjAxis +#define SCHEMA_HAS_IfcShapeRepresentationTypes +#define SCHEMA_HAS_IfcSurfaceWeightsPositive +#define SCHEMA_HAS_IfcTaperedSweptAreaProfiles +#define SCHEMA_HAS_IfcTopologyRepresentationTypes +#define SCHEMA_HAS_IfcUniqueDefinitionNames +#define SCHEMA_HAS_IfcUniquePropertyName +#define SCHEMA_HAS_IfcUniquePropertySetNames +#define SCHEMA_HAS_IfcUniquePropertyTemplateNames +#define SCHEMA_HAS_IfcUniqueQuantityNames +#define SCHEMA_HAS_IfcVectorDifference +#define SCHEMA_HAS_IfcVectorSum diff --git a/src/ifcparse/Ifc4.cpp b/src/ifcparse/Ifc4.cpp index 3f0b878a59..2352139ac0 100644 --- a/src/ifcparse/Ifc4.cpp +++ b/src/ifcparse/Ifc4.cpp @@ -13335,8 +13335,8 @@ boost::optional< std::string > Ifc4::IfcDocumentInformation::Revision() const { void Ifc4::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4::IfcActorSelect* Ifc4::IfcDocumentInformation::DocumentOwner() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4::IfcActorSelect>(true); } void Ifc4::IfcDocumentInformation::setDocumentOwner(::Ifc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(9); return v; } -void Ifc4::IfcDocumentInformation::setEditors(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } +boost::optional< aggregate_of< ::Ifc4::IfcActorSelect >::ptr > Ifc4::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of< ::Ifc4::IfcActorSelect >::ptr v = *data_->getArgument(9); return v; } +void Ifc4::IfcDocumentInformation::setEditors(boost::optional< aggregate_of< ::Ifc4::IfcActorSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4::IfcDocumentInformation::CreationTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } void Ifc4::IfcDocumentInformation::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4::IfcDocumentInformation::LastRevisionTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } @@ -13360,7 +13360,7 @@ void Ifc4::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4::IfcDocumen const IfcParse::entity& Ifc4::IfcDocumentInformation::declaration() const { return *IFC4_IfcDocumentInformation_type; } const IfcParse::entity& Ifc4::IfcDocumentInformation::Class() { return *IFC4_IfcDocumentInformation_type; } Ifc4::IfcDocumentInformation::IfcDocumentInformation(IfcEntityInstanceData* e) : IfcExternalInformation((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcDocumentInformation_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::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, ::Ifc4::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of_instance::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< ::Ifc4::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Identification));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Location));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CreationTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LastRevisionTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LastRevisionTime));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ElectronicFormat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ElectronicFormat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ValidFrom) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ValidFrom));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ValidUntil) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ValidUntil));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc4::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc4::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } +Ifc4::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, ::Ifc4::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4::IfcActorSelect >::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< ::Ifc4::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Identification));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Location));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CreationTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LastRevisionTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LastRevisionTime));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ElectronicFormat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ElectronicFormat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ValidFrom) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ValidFrom));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ValidUntil) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ValidUntil));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc4::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc4::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } // Function implementations for IfcDocumentInformationRelationship ::Ifc4::IfcDocumentInformation* Ifc4::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcDocumentInformation>(true); } @@ -14007,14 +14007,14 @@ Ifc4::IfcExternalReference::IfcExternalReference(boost::optional< std::string > // Function implementations for IfcExternalReferenceRelationship ::Ifc4::IfcExternalReference* Ifc4::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcExternalReference>(true); } void Ifc4::IfcExternalReferenceRelationship::setRelatingReference(::Ifc4::IfcExternalReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -aggregate_of_instance::ptr Ifc4::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } -void Ifc4::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr Ifc4::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr v = *data_->getArgument(3); return v; } +void Ifc4::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcExternalReferenceRelationship::declaration() const { return *IFC4_IfcExternalReferenceRelationship_type; } const IfcParse::entity& Ifc4::IfcExternalReferenceRelationship::Class() { return *IFC4_IfcExternalReferenceRelationship_type; } Ifc4::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcExternalReferenceRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcExternalReference* v3_RelatingReference, aggregate_of_instance::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcExternalReferenceRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingReference));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } +Ifc4::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcExternalReferenceRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingReference));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } // Function implementations for IfcExternalSpatialElement boost::optional< ::Ifc4::IfcExternalSpatialElementTypeEnum::Value > Ifc4::IfcExternalSpatialElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcExternalSpatialElementTypeEnum::FromString(*data_->getArgument(8)); } @@ -14239,8 +14239,8 @@ Ifc4::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcEntityInstan Ifc4::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFeatureElementSubtraction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcFillAreaStyle -aggregate_of_instance::ptr Ifc4::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4::IfcFillAreaStyle::setFillStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4::IfcFillStyleSelect >::ptr Ifc4::IfcFillAreaStyle::FillStyles() const { aggregate_of< ::Ifc4::IfcFillStyleSelect >::ptr v = *data_->getArgument(1); return v; } +void Ifc4::IfcFillAreaStyle::setFillStyles(aggregate_of< ::Ifc4::IfcFillStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< bool > Ifc4::IfcFillAreaStyle::ModelorDraughting() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } void Ifc4::IfcFillAreaStyle::setModelorDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } @@ -14248,7 +14248,7 @@ void Ifc4::IfcFillAreaStyle::setModelorDraughting(boost::optional< bool > v) { { const IfcParse::entity& Ifc4::IfcFillAreaStyle::declaration() const { return *IFC4_IfcFillAreaStyle_type; } const IfcParse::entity& Ifc4::IfcFillAreaStyle::Class() { return *IFC4_IfcFillAreaStyle_type; } Ifc4::IfcFillAreaStyle::IfcFillAreaStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFillAreaStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of_instance::ptr v2_FillStyles, boost::optional< bool > v3_ModelorDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles));data_->setArgument(1,attr);} if (v3_ModelorDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ModelorDraughting));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelorDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles));data_->setArgument(1,attr);} if (v3_ModelorDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ModelorDraughting));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcFillAreaStyleHatching ::Ifc4::IfcCurveStyle* Ifc4::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCurveStyle>(true); } @@ -14574,7 +14574,7 @@ Ifc4::IfcGeographicElementType::IfcGeographicElementType(std::string v1_GlobalId const IfcParse::entity& Ifc4::IfcGeometricCurveSet::declaration() const { return *IFC4_IfcGeometricCurveSet_type; } const IfcParse::entity& Ifc4::IfcGeometricCurveSet::Class() { return *IFC4_IfcGeometricCurveSet_type; } Ifc4::IfcGeometricCurveSet::IfcGeometricCurveSet(IfcEntityInstanceData* e) : IfcGeometricSet((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcGeometricCurveSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of_instance::ptr v1_Elements) : IfcGeometricSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcGeometricCurveSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } +Ifc4::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcGeometricCurveSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } // Function implementations for IfcGeometricRepresentationContext int Ifc4::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = *data_->getArgument(2); return v; } @@ -14619,14 +14619,14 @@ Ifc4::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext Ifc4::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, ::Ifc4::IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, ::Ifc4::IfcGeometricProjectionEnum::Value v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcGeometricRepresentationSubContext_type); if (v1_ContextIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_ContextIdentifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_ContextType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ContextType));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ParentContext));data_->setArgument(6,attr);} if (v8_TargetScale) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_TargetScale));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_TargetView,::Ifc4::IfcGeometricProjectionEnum::ToString(v9_TargetView))));data_->setArgument(8,attr);} if (v10_UserDefinedTargetView) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_UserDefinedTargetView));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcGeometricSet -aggregate_of_instance::ptr Ifc4::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4::IfcGeometricSet::setElements(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4::IfcGeometricSetSelect >::ptr Ifc4::IfcGeometricSet::Elements() const { aggregate_of< ::Ifc4::IfcGeometricSetSelect >::ptr v = *data_->getArgument(0); return v; } +void Ifc4::IfcGeometricSet::setElements(aggregate_of< ::Ifc4::IfcGeometricSetSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcGeometricSet::declaration() const { return *IFC4_IfcGeometricSet_type; } const IfcParse::entity& Ifc4::IfcGeometricSet::Class() { return *IFC4_IfcGeometricSet_type; } Ifc4::IfcGeometricSet::IfcGeometricSet(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcGeometricSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcGeometricSet::IfcGeometricSet(aggregate_of_instance::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcGeometricSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } +Ifc4::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcGeometricSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } // Function implementations for IfcGrid aggregate_of< ::Ifc4::IfcGridAxis >::ptr Ifc4::IfcGrid::UAxes() const { aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4::IfcGridAxis >(); } @@ -14787,8 +14787,8 @@ Ifc4::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4::IfcTessellatedFaceSet* v1 // Function implementations for IfcIndexedPolyCurve ::Ifc4::IfcCartesianPointList* Ifc4::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCartesianPointList>(true); } void Ifc4::IfcIndexedPolyCurve::setPoints(::Ifc4::IfcCartesianPointList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } +boost::optional< aggregate_of< ::Ifc4::IfcSegmentIndexSelect >::ptr > Ifc4::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of< ::Ifc4::IfcSegmentIndexSelect >::ptr v = *data_->getArgument(1); return v; } +void Ifc4::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of< ::Ifc4::IfcSegmentIndexSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< bool > Ifc4::IfcIndexedPolyCurve::SelfIntersect() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } void Ifc4::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } @@ -14796,7 +14796,7 @@ void Ifc4::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { {I const IfcParse::entity& Ifc4::IfcIndexedPolyCurve::declaration() const { return *IFC4_IfcIndexedPolyCurve_type; } const IfcParse::entity& Ifc4::IfcIndexedPolyCurve::Class() { return *IFC4_IfcIndexedPolyCurve_type; } Ifc4::IfcIndexedPolyCurve::IfcIndexedPolyCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcIndexedPolyCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of_instance::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcIndexedPolyCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Points));data_->setArgument(0,attr);} if (v2_Segments) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Segments));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_SelfIntersect) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_SelfIntersect));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcIndexedPolyCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Points));data_->setArgument(0,attr);} if (v2_Segments) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Segments));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_SelfIntersect) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_SelfIntersect));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcIndexedPolygonalFace std::vector< int > /*[3:?]*/ Ifc4::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = *data_->getArgument(0); return v; } @@ -14902,14 +14902,14 @@ Ifc4::IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, boost: // Function implementations for IfcIrregularTimeSeriesValue std::string Ifc4::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcIrregularTimeSeriesValue::setTimeStamp(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of_instance::ptr Ifc4::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4::IfcIrregularTimeSeriesValue::setListValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4::IfcValue >::ptr Ifc4::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of< ::Ifc4::IfcValue >::ptr v = *data_->getArgument(1); return v; } +void Ifc4::IfcIrregularTimeSeriesValue::setListValues(aggregate_of< ::Ifc4::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcIrregularTimeSeriesValue::declaration() const { return *IFC4_IfcIrregularTimeSeriesValue_type; } const IfcParse::entity& Ifc4::IfcIrregularTimeSeriesValue::Class() { return *IFC4_IfcIrregularTimeSeriesValue_type; } Ifc4::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcIrregularTimeSeriesValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of_instance::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcIrregularTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TimeStamp));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ListValues));data_->setArgument(1,attr);} } +Ifc4::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcIrregularTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TimeStamp));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ListValues));data_->setArgument(1,attr);} } // Function implementations for IfcJunctionBox boost::optional< ::Ifc4::IfcJunctionBoxTypeEnum::Value > Ifc4::IfcJunctionBox::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcJunctionBoxTypeEnum::FromString(*data_->getArgument(8)); } @@ -15266,8 +15266,8 @@ Ifc4::IfcMaterial::IfcMaterial(IfcEntityInstanceData* e) : IfcMaterialDefinition Ifc4::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_Category) : IfcMaterialDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Category) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Category));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcMaterialClassificationRelationship -aggregate_of_instance::ptr Ifc4::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4::IfcClassificationSelect >::ptr Ifc4::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of< ::Ifc4::IfcClassificationSelect >::ptr v = *data_->getArgument(0); return v; } +void Ifc4::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of< ::Ifc4::IfcClassificationSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4::IfcMaterial* Ifc4::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcMaterial>(true); } void Ifc4::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc4::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -15275,7 +15275,7 @@ void Ifc4::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc4:: const IfcParse::entity& Ifc4::IfcMaterialClassificationRelationship::declaration() const { return *IFC4_IfcMaterialClassificationRelationship_type; } const IfcParse::entity& Ifc4::IfcMaterialClassificationRelationship::Class() { return *IFC4_IfcMaterialClassificationRelationship_type; } Ifc4::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcMaterialClassificationRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of_instance::ptr v1_MaterialClassifications, ::Ifc4::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcMaterialClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialClassifications));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ClassifiedMaterial));data_->setArgument(1,attr);} } +Ifc4::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcMaterialClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialClassifications));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ClassifiedMaterial));data_->setArgument(1,attr);} } // Function implementations for IfcMaterialConstituent boost::optional< std::string > Ifc4::IfcMaterialConstituent::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -16364,8 +16364,8 @@ std::string Ifc4::IfcPresentationLayerAssignment::Name() const { std::string v void Ifc4::IfcPresentationLayerAssignment::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcPresentationLayerAssignment::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } -aggregate_of_instance::ptr Ifc4::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4::IfcLayeredItem >::ptr Ifc4::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of< ::Ifc4::IfcLayeredItem >::ptr v = *data_->getArgument(2); return v; } +void Ifc4::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of< ::Ifc4::IfcLayeredItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4::IfcPresentationLayerAssignment::Identifier() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } @@ -16373,7 +16373,7 @@ void Ifc4::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::s const IfcParse::entity& Ifc4::IfcPresentationLayerAssignment::declaration() const { return *IFC4_IfcPresentationLayerAssignment_type; } const IfcParse::entity& Ifc4::IfcPresentationLayerAssignment::Class() { return *IFC4_IfcPresentationLayerAssignment_type; } Ifc4::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcPresentationLayerAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcPresentationLayerAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } +Ifc4::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcPresentationLayerAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcPresentationLayerWithStyle boost::logic::tribool Ifc4::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = *data_->getArgument(4); return v; } @@ -16389,7 +16389,7 @@ void Ifc4::IfcPresentationLayerWithStyle::setLayerStyles(aggregate_of< ::Ifc4::I const IfcParse::entity& Ifc4::IfcPresentationLayerWithStyle::declaration() const { return *IFC4_IfcPresentationLayerWithStyle_type; } const IfcParse::entity& Ifc4::IfcPresentationLayerWithStyle::Class() { return *IFC4_IfcPresentationLayerWithStyle_type; } Ifc4::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcEntityInstanceData* e) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPresentationLayerWithStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPresentationLayerWithStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_LayerOn));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LayerFrozen));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LayerBlocked));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LayerStyles)->generalize());data_->setArgument(7,attr);} } +Ifc4::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPresentationLayerWithStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_LayerOn));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LayerFrozen));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LayerBlocked));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LayerStyles)->generalize());data_->setArgument(7,attr);} } // Function implementations for IfcPresentationStyle boost::optional< std::string > Ifc4::IfcPresentationStyle::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -16402,14 +16402,14 @@ Ifc4::IfcPresentationStyle::IfcPresentationStyle(IfcEntityInstanceData* e) : Ifc Ifc4::IfcPresentationStyle::IfcPresentationStyle(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcPresentationStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } } // Function implementations for IfcPresentationStyleAssignment -aggregate_of_instance::ptr Ifc4::IfcPresentationStyleAssignment::Styles() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4::IfcPresentationStyleAssignment::setStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4::IfcPresentationStyleSelect >::ptr Ifc4::IfcPresentationStyleAssignment::Styles() const { aggregate_of< ::Ifc4::IfcPresentationStyleSelect >::ptr v = *data_->getArgument(0); return v; } +void Ifc4::IfcPresentationStyleAssignment::setStyles(aggregate_of< ::Ifc4::IfcPresentationStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcPresentationStyleAssignment::declaration() const { return *IFC4_IfcPresentationStyleAssignment_type; } const IfcParse::entity& Ifc4::IfcPresentationStyleAssignment::Class() { return *IFC4_IfcPresentationStyleAssignment_type; } Ifc4::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcPresentationStyleAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(aggregate_of_instance::ptr v1_Styles) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcPresentationStyleAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Styles));data_->setArgument(0,attr);} } +Ifc4::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(aggregate_of< ::Ifc4::IfcPresentationStyleSelect >::ptr v1_Styles) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcPresentationStyleAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Styles));data_->setArgument(0,attr);} } // Function implementations for IfcProcedure boost::optional< ::Ifc4::IfcProcedureTypeEnum::Value > Ifc4::IfcProcedure::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4::IfcProcedureTypeEnum::FromString(*data_->getArgument(7)); } @@ -16629,8 +16629,8 @@ Ifc4::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(IfcEn Ifc4::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcProperty* v3_DependingProperty, ::Ifc4::IfcProperty* v4_DependantProperty, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPropertyDependencyRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_DependingProperty));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_DependantProperty));data_->setArgument(3,attr);} if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcPropertyEnumeratedValue -boost::optional< aggregate_of_instance::ptr > Ifc4::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > Ifc4::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4::IfcValue >::ptr v = *data_->getArgument(2); return v; } +void Ifc4::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4::IfcPropertyEnumeration* Ifc4::IfcPropertyEnumeratedValue::EnumerationReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcPropertyEnumeration>(true); } void Ifc4::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -16638,13 +16638,13 @@ void Ifc4::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4::IfcProper const IfcParse::entity& Ifc4::IfcPropertyEnumeratedValue::declaration() const { return *IFC4_IfcPropertyEnumeratedValue_type; } const IfcParse::entity& Ifc4::IfcPropertyEnumeratedValue::Class() { return *IFC4_IfcPropertyEnumeratedValue_type; } Ifc4::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPropertyEnumeratedValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of_instance::ptr > v3_EnumerationValues, ::Ifc4::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPropertyEnumeratedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EnumerationValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EnumerationValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EnumerationReference));data_->setArgument(3,attr);} } +Ifc4::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPropertyEnumeratedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EnumerationValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EnumerationValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EnumerationReference));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyEnumeration std::string Ifc4::IfcPropertyEnumeration::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcPropertyEnumeration::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of_instance::ptr Ifc4::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4::IfcPropertyEnumeration::setEnumerationValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4::IfcValue >::ptr Ifc4::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of< ::Ifc4::IfcValue >::ptr v = *data_->getArgument(1); return v; } +void Ifc4::IfcPropertyEnumeration::setEnumerationValues(aggregate_of< ::Ifc4::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } ::Ifc4::IfcUnit* Ifc4::IfcPropertyEnumeration::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcUnit>(true); } void Ifc4::IfcPropertyEnumeration::setUnit(::Ifc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -16652,11 +16652,11 @@ void Ifc4::IfcPropertyEnumeration::setUnit(::Ifc4::IfcUnit* v) { {IfcWrite::IfcW const IfcParse::entity& Ifc4::IfcPropertyEnumeration::declaration() const { return *IFC4_IfcPropertyEnumeration_type; } const IfcParse::entity& Ifc4::IfcPropertyEnumeration::Class() { return *IFC4_IfcPropertyEnumeration_type; } Ifc4::IfcPropertyEnumeration::IfcPropertyEnumeration(IfcEntityInstanceData* e) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPropertyEnumeration_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of_instance::ptr v2_EnumerationValues, ::Ifc4::IfcUnit* v3_Unit) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPropertyEnumeration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EnumerationValues));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);} } +Ifc4::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4::IfcValue >::ptr v2_EnumerationValues, ::Ifc4::IfcUnit* v3_Unit) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPropertyEnumeration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EnumerationValues));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);} } // Function implementations for IfcPropertyListValue -boost::optional< aggregate_of_instance::ptr > Ifc4::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4::IfcPropertyListValue::setListValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > Ifc4::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4::IfcValue >::ptr v = *data_->getArgument(2); return v; } +void Ifc4::IfcPropertyListValue::setListValues(boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4::IfcUnit* Ifc4::IfcPropertyListValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcUnit>(true); } void Ifc4::IfcPropertyListValue::setUnit(::Ifc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -16664,7 +16664,7 @@ void Ifc4::IfcPropertyListValue::setUnit(::Ifc4::IfcUnit* v) { {IfcWrite::IfcWri const IfcParse::entity& Ifc4::IfcPropertyListValue::declaration() const { return *IFC4_IfcPropertyListValue_type; } const IfcParse::entity& Ifc4::IfcPropertyListValue::Class() { return *IFC4_IfcPropertyListValue_type; } Ifc4::IfcPropertyListValue::IfcPropertyListValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPropertyListValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of_instance::ptr > v3_ListValues, ::Ifc4::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPropertyListValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ListValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ListValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } +Ifc4::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v3_ListValues, ::Ifc4::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPropertyListValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ListValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ListValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyReferenceValue boost::optional< std::string > Ifc4::IfcPropertyReferenceValue::UsageName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } @@ -16727,10 +16727,10 @@ Ifc4::IfcPropertySingleValue::IfcPropertySingleValue(IfcEntityInstanceData* e) : Ifc4::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcValue* v3_NominalValue, ::Ifc4::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPropertySingleValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_NominalValue));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyTableValue -boost::optional< aggregate_of_instance::ptr > Ifc4::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } -void Ifc4::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } +boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > Ifc4::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4::IfcValue >::ptr v = *data_->getArgument(2); return v; } +void Ifc4::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > Ifc4::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of< ::Ifc4::IfcValue >::ptr v = *data_->getArgument(3); return v; } +void Ifc4::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcPropertyTableValue::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4::IfcUnit* Ifc4::IfcPropertyTableValue::DefiningUnit() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcUnit>(true); } @@ -16744,7 +16744,7 @@ void Ifc4::IfcPropertyTableValue::setCurveInterpolation(boost::optional< ::Ifc4: const IfcParse::entity& Ifc4::IfcPropertyTableValue::declaration() const { return *IFC4_IfcPropertyTableValue_type; } const IfcParse::entity& Ifc4::IfcPropertyTableValue::Class() { return *IFC4_IfcPropertyTableValue_type; } Ifc4::IfcPropertyTableValue::IfcPropertyTableValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPropertyTableValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of_instance::ptr > v3_DefiningValues, boost::optional< aggregate_of_instance::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4::IfcUnit* v6_DefiningUnit, ::Ifc4::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPropertyTableValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_DefiningValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_DefiningValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DefinedValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DefinedValues));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_DefiningUnit));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_DefinedUnit));data_->setArgument(6,attr);} if (v8_CurveInterpolation) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_CurveInterpolation,::Ifc4::IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } +Ifc4::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4::IfcUnit* v6_DefiningUnit, ::Ifc4::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPropertyTableValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_DefiningValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_DefiningValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DefinedValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DefinedValues));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_DefiningUnit));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_DefinedUnit));data_->setArgument(6,attr);} if (v8_CurveInterpolation) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_CurveInterpolation,::Ifc4::IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcPropertyTemplate @@ -17175,14 +17175,14 @@ boost::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > Ifc4::IfcReinforc void Ifc4::IfcReinforcingBarType::setBarSurface(boost::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcReinforcingBarSurfaceEnum::ToString(*v)));}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4::IfcReinforcingBarType::BendingShapeCode() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } void Ifc4::IfcReinforcingBarType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(15); return v; } -void Ifc4::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } +boost::optional< aggregate_of< ::Ifc4::IfcBendingParameterSelect >::ptr > Ifc4::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of< ::Ifc4::IfcBendingParameterSelect >::ptr v = *data_->getArgument(15); return v; } +void Ifc4::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } const IfcParse::entity& Ifc4::IfcReinforcingBarType::declaration() const { return *IFC4_IfcReinforcingBarType_type; } const IfcParse::entity& Ifc4::IfcReinforcingBarType::Class() { return *IFC4_IfcReinforcingBarType_type; } Ifc4::IfcReinforcingBarType::IfcReinforcingBarType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcReinforcingBarType_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of_instance::ptr > v16_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcReinforcingBarType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcReinforcingBarTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_BarLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_BarLength));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_BarSurface) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_BarSurface,::Ifc4::IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_BendingShapeCode));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_BendingParameters));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } } +Ifc4::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcReinforcingBarType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcReinforcingBarTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_BarLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_BarLength));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_BarSurface) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_BarSurface,::Ifc4::IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_BendingShapeCode));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_BendingParameters));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } } // Function implementations for IfcReinforcingElement boost::optional< std::string > Ifc4::IfcReinforcingElement::SteelGrade() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } @@ -17249,14 +17249,14 @@ boost::optional< double > Ifc4::IfcReinforcingMeshType::TransverseBarSpacing() c void Ifc4::IfcReinforcingMeshType::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(17,attr);} } boost::optional< std::string > Ifc4::IfcReinforcingMeshType::BendingShapeCode() const { if(!data_->getArgument(18) || data_->getArgument(18)->isNull()) { return boost::none; } std::string v = *data_->getArgument(18); return v; } void Ifc4::IfcReinforcingMeshType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(18,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(19); return v; } -void Ifc4::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(19,attr);} } +boost::optional< aggregate_of< ::Ifc4::IfcBendingParameterSelect >::ptr > Ifc4::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of< ::Ifc4::IfcBendingParameterSelect >::ptr v = *data_->getArgument(19); return v; } +void Ifc4::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(19,attr);} } const IfcParse::entity& Ifc4::IfcReinforcingMeshType::declaration() const { return *IFC4_IfcReinforcingMeshType_type; } const IfcParse::entity& Ifc4::IfcReinforcingMeshType::Class() { return *IFC4_IfcReinforcingMeshType_type; } Ifc4::IfcReinforcingMeshType::IfcReinforcingMeshType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcReinforcingMeshType_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of_instance::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcReinforcingMeshType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshLength));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_MeshWidth));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LongitudinalBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TransverseBarNominalDiameter));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LongitudinalBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_TransverseBarCrossSectionArea));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LongitudinalBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_TransverseBarSpacing));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_BendingShapeCode));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_BendingParameters));data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } +Ifc4::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of< ::Ifc4::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcReinforcingMeshType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshLength));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_MeshWidth));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LongitudinalBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TransverseBarNominalDiameter));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LongitudinalBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_TransverseBarCrossSectionArea));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LongitudinalBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_TransverseBarSpacing));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_BendingShapeCode));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_BendingParameters));data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } // Function implementations for IfcRelAggregates ::Ifc4::IfcObjectDefinition* Ifc4::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcObjectDefinition>(true); } @@ -17357,14 +17357,14 @@ Ifc4::IfcRelAssignsToResource::IfcRelAssignsToResource(IfcEntityInstanceData* e) Ifc4::IfcRelAssignsToResource::IfcRelAssignsToResource(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcResourceSelect* v7_RelatingResource) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssignsToResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingResource));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociates -aggregate_of_instance::ptr Ifc4::IfcRelAssociates::RelatedObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(4); return v; } -void Ifc4::IfcRelAssociates::setRelatedObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr Ifc4::IfcRelAssociates::RelatedObjects() const { aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v = *data_->getArgument(4); return v; } +void Ifc4::IfcRelAssociates::setRelatedObjects(aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcRelAssociates::declaration() const { return *IFC4_IfcRelAssociates_type; } const IfcParse::entity& Ifc4::IfcRelAssociates::Class() { return *IFC4_IfcRelAssociates_type; } Ifc4::IfcRelAssociates::IfcRelAssociates(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelAssociates_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} } +Ifc4::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} } // Function implementations for IfcRelAssociatesApproval ::Ifc4::IfcApproval* Ifc4::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcApproval>(true); } @@ -17374,7 +17374,7 @@ void Ifc4::IfcRelAssociatesApproval::setRelatingApproval(::Ifc4::IfcApproval* v) const IfcParse::entity& Ifc4::IfcRelAssociatesApproval::declaration() const { return *IFC4_IfcRelAssociatesApproval_type; } const IfcParse::entity& Ifc4::IfcRelAssociatesApproval::Class() { return *IFC4_IfcRelAssociatesApproval_type; } Ifc4::IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelAssociatesApproval_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4::IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } +Ifc4::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4::IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesClassification ::Ifc4::IfcClassificationSelect* Ifc4::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcClassificationSelect>(true); } @@ -17384,7 +17384,7 @@ void Ifc4::IfcRelAssociatesClassification::setRelatingClassification(::Ifc4::Ifc const IfcParse::entity& Ifc4::IfcRelAssociatesClassification::declaration() const { return *IFC4_IfcRelAssociatesClassification_type; } const IfcParse::entity& Ifc4::IfcRelAssociatesClassification::Class() { return *IFC4_IfcRelAssociatesClassification_type; } Ifc4::IfcRelAssociatesClassification::IfcRelAssociatesClassification(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelAssociatesClassification_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssociatesClassification_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingClassification));data_->setArgument(5,attr);} } +Ifc4::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssociatesClassification_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingClassification));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesConstraint boost::optional< std::string > Ifc4::IfcRelAssociatesConstraint::Intent() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } @@ -17396,7 +17396,7 @@ void Ifc4::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc4::IfcConstrai const IfcParse::entity& Ifc4::IfcRelAssociatesConstraint::declaration() const { return *IFC4_IfcRelAssociatesConstraint_type; } const IfcParse::entity& Ifc4::IfcRelAssociatesConstraint::Class() { return *IFC4_IfcRelAssociatesConstraint_type; } Ifc4::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelAssociatesConstraint_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} if (v6_Intent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Intent));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } +Ifc4::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} if (v6_Intent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Intent));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociatesDocument ::Ifc4::IfcDocumentSelect* Ifc4::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcDocumentSelect>(true); } @@ -17406,7 +17406,7 @@ void Ifc4::IfcRelAssociatesDocument::setRelatingDocument(::Ifc4::IfcDocumentSele const IfcParse::entity& Ifc4::IfcRelAssociatesDocument::declaration() const { return *IFC4_IfcRelAssociatesDocument_type; } const IfcParse::entity& Ifc4::IfcRelAssociatesDocument::Class() { return *IFC4_IfcRelAssociatesDocument_type; } Ifc4::IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelAssociatesDocument_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } +Ifc4::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesLibrary ::Ifc4::IfcLibrarySelect* Ifc4::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcLibrarySelect>(true); } @@ -17416,7 +17416,7 @@ void Ifc4::IfcRelAssociatesLibrary::setRelatingLibrary(::Ifc4::IfcLibrarySelect* const IfcParse::entity& Ifc4::IfcRelAssociatesLibrary::declaration() const { return *IFC4_IfcRelAssociatesLibrary_type; } const IfcParse::entity& Ifc4::IfcRelAssociatesLibrary::Class() { return *IFC4_IfcRelAssociatesLibrary_type; } Ifc4::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelAssociatesLibrary_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } +Ifc4::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesMaterial ::Ifc4::IfcMaterialSelect* Ifc4::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcMaterialSelect>(true); } @@ -17426,7 +17426,7 @@ void Ifc4::IfcRelAssociatesMaterial::setRelatingMaterial(::Ifc4::IfcMaterialSele const IfcParse::entity& Ifc4::IfcRelAssociatesMaterial::declaration() const { return *IFC4_IfcRelAssociatesMaterial_type; } const IfcParse::entity& Ifc4::IfcRelAssociatesMaterial::Class() { return *IFC4_IfcRelAssociatesMaterial_type; } Ifc4::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelAssociatesMaterial_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssociatesMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingMaterial));data_->setArgument(5,attr);} } +Ifc4::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssociatesMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingMaterial));data_->setArgument(5,attr);} } // Function implementations for IfcRelConnects @@ -17585,14 +17585,14 @@ Ifc4::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::Ifc4::If // Function implementations for IfcRelDeclares ::Ifc4::IfcContext* Ifc4::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcContext>(true); } void Ifc4::IfcRelDeclares::setRelatingContext(::Ifc4::IfcContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -aggregate_of_instance::ptr Ifc4::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr v = *data_->getArgument(5); return v; } -void Ifc4::IfcRelDeclares::setRelatedDefinitions(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } +aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr Ifc4::IfcRelDeclares::RelatedDefinitions() const { aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v = *data_->getArgument(5); return v; } +void Ifc4::IfcRelDeclares::setRelatedDefinitions(aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4::IfcRelDeclares::declaration() const { return *IFC4_IfcRelDeclares_type; } const IfcParse::entity& Ifc4::IfcRelDeclares::Class() { return *IFC4_IfcRelDeclares_type; } Ifc4::IfcRelDeclares::IfcRelDeclares(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelDeclares_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcContext* v5_RelatingContext, aggregate_of_instance::ptr v6_RelatedDefinitions) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelDeclares_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingContext));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedDefinitions));data_->setArgument(5,attr);} } +Ifc4::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelDeclares_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingContext));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedDefinitions));data_->setArgument(5,attr);} } // Function implementations for IfcRelDecomposes @@ -17906,8 +17906,8 @@ Ifc4::IfcResource::IfcResource(IfcEntityInstanceData* e) : IfcObject((IfcEntityI Ifc4::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc4::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((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_LongDescription));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcResourceApprovalRelationship -aggregate_of_instance::ptr Ifc4::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr Ifc4::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr v = *data_->getArgument(2); return v; } +void Ifc4::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4::IfcApproval* Ifc4::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcApproval>(true); } void Ifc4::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -17915,19 +17915,19 @@ void Ifc4::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4::IfcAppro const IfcParse::entity& Ifc4::IfcResourceApprovalRelationship::declaration() const { return *IFC4_IfcResourceApprovalRelationship_type; } const IfcParse::entity& Ifc4::IfcResourceApprovalRelationship::Class() { return *IFC4_IfcResourceApprovalRelationship_type; } Ifc4::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcResourceApprovalRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_RelatedResourceObjects, ::Ifc4::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcResourceApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatedResourceObjects));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatingApproval));data_->setArgument(3,attr);} } +Ifc4::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcResourceApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatedResourceObjects));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatingApproval));data_->setArgument(3,attr);} } // Function implementations for IfcResourceConstraintRelationship ::Ifc4::IfcConstraint* Ifc4::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcConstraint>(true); } void Ifc4::IfcResourceConstraintRelationship::setRelatingConstraint(::Ifc4::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -aggregate_of_instance::ptr Ifc4::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } -void Ifc4::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr Ifc4::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr v = *data_->getArgument(3); return v; } +void Ifc4::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcResourceConstraintRelationship::declaration() const { return *IFC4_IfcResourceConstraintRelationship_type; } const IfcParse::entity& Ifc4::IfcResourceConstraintRelationship::Class() { return *IFC4_IfcResourceConstraintRelationship_type; } Ifc4::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcResourceConstraintRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcConstraint* v3_RelatingConstraint, aggregate_of_instance::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcResourceConstraintRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingConstraint));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } +Ifc4::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcResourceConstraintRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingConstraint));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } // Function implementations for IfcResourceLevelRelationship boost::optional< std::string > Ifc4::IfcResourceLevelRelationship::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -18249,14 +18249,14 @@ Ifc4::IfcShapeRepresentation::IfcShapeRepresentation(IfcEntityInstanceData* e) : Ifc4::IfcShapeRepresentation::IfcShapeRepresentation(::Ifc4::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcShapeRepresentation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ContextOfItems));data_->setArgument(0,attr);} if (v2_RepresentationIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_RepresentationIdentifier));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_RepresentationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_RepresentationType));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Items)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcShellBasedSurfaceModel -aggregate_of_instance::ptr Ifc4::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4::IfcShell >::ptr Ifc4::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of< ::Ifc4::IfcShell >::ptr v = *data_->getArgument(0); return v; } +void Ifc4::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of< ::Ifc4::IfcShell >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcShellBasedSurfaceModel::declaration() const { return *IFC4_IfcShellBasedSurfaceModel_type; } const IfcParse::entity& Ifc4::IfcShellBasedSurfaceModel::Class() { return *IFC4_IfcShellBasedSurfaceModel_type; } Ifc4::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcShellBasedSurfaceModel_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of_instance::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcShellBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SbsmBoundary));data_->setArgument(0,attr);} } +Ifc4::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcShellBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SbsmBoundary));data_->setArgument(0,attr);} } // Function implementations for IfcSimpleProperty @@ -19017,8 +19017,8 @@ Ifc4::IfcStyleModel::IfcStyleModel(::Ifc4::IfcRepresentationContext* v1_ContextO // Function implementations for IfcStyledItem ::Ifc4::IfcRepresentationItem* Ifc4::IfcStyledItem::Item() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcRepresentationItem>(true); } void Ifc4::IfcStyledItem::setItem(::Ifc4::IfcRepresentationItem* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of_instance::ptr Ifc4::IfcStyledItem::Styles() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4::IfcStyledItem::setStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4::IfcStyleAssignmentSelect >::ptr Ifc4::IfcStyledItem::Styles() const { aggregate_of< ::Ifc4::IfcStyleAssignmentSelect >::ptr v = *data_->getArgument(1); return v; } +void Ifc4::IfcStyledItem::setStyles(aggregate_of< ::Ifc4::IfcStyleAssignmentSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcStyledItem::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4::IfcStyledItem::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } @@ -19026,7 +19026,7 @@ void Ifc4::IfcStyledItem::setName(boost::optional< std::string > v) { {IfcWrite: const IfcParse::entity& Ifc4::IfcStyledItem::declaration() const { return *IFC4_IfcStyledItem_type; } const IfcParse::entity& Ifc4::IfcStyledItem::Class() { return *IFC4_IfcStyledItem_type; } Ifc4::IfcStyledItem::IfcStyledItem(IfcEntityInstanceData* e) : IfcRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcStyledItem_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcStyledItem::IfcStyledItem(::Ifc4::IfcRepresentationItem* v1_Item, aggregate_of_instance::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStyledItem_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Item));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Styles));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4::IfcStyledItem::IfcStyledItem(::Ifc4::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc4::IfcStyleAssignmentSelect >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStyledItem_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Item));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Styles));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcStyledRepresentation @@ -19153,14 +19153,14 @@ Ifc4::IfcSurfaceReinforcementArea::IfcSurfaceReinforcementArea(boost::optional< // Function implementations for IfcSurfaceStyle ::Ifc4::IfcSurfaceSide::Value Ifc4::IfcSurfaceStyle::Side() const { return ::Ifc4::IfcSurfaceSide::FromString(*data_->getArgument(1)); } void Ifc4::IfcSurfaceStyle::setSide(::Ifc4::IfcSurfaceSide::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcSurfaceSide::ToString(v)));data_->setArgument(1,attr);} } -aggregate_of_instance::ptr Ifc4::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4::IfcSurfaceStyle::setStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4::IfcSurfaceStyleElementSelect >::ptr Ifc4::IfcSurfaceStyle::Styles() const { aggregate_of< ::Ifc4::IfcSurfaceStyleElementSelect >::ptr v = *data_->getArgument(2); return v; } +void Ifc4::IfcSurfaceStyle::setStyles(aggregate_of< ::Ifc4::IfcSurfaceStyleElementSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcSurfaceStyle::declaration() const { return *IFC4_IfcSurfaceStyle_type; } const IfcParse::entity& Ifc4::IfcSurfaceStyle::Class() { return *IFC4_IfcSurfaceStyle_type; } Ifc4::IfcSurfaceStyle::IfcSurfaceStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSurfaceStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4::IfcSurfaceSide::Value v2_Side, aggregate_of_instance::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc4::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles));data_->setArgument(2,attr);} } +Ifc4::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc4::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles));data_->setArgument(2,attr);} } // Function implementations for IfcSurfaceStyleLighting ::Ifc4::IfcColourRgb* Ifc4::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcColourRgb>(true); } @@ -19414,8 +19414,8 @@ Ifc4::IfcTableColumn::IfcTableColumn(IfcEntityInstanceData* e) : IfcUtil::IfcBas Ifc4::IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, ::Ifc4::IfcUnit* v4_Unit, ::Ifc4::IfcReference* v5_ReferencePath) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcTableColumn_type); if (v1_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Identifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Name));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_ReferencePath));data_->setArgument(4,attr);} } // Function implementations for IfcTableRow -boost::optional< aggregate_of_instance::ptr > Ifc4::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4::IfcTableRow::setRowCells(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } +boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > Ifc4::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of< ::Ifc4::IfcValue >::ptr v = *data_->getArgument(0); return v; } +void Ifc4::IfcTableRow::setRowCells(boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< bool > Ifc4::IfcTableRow::IsHeading() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } bool v = *data_->getArgument(1); return v; } void Ifc4::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } @@ -19423,7 +19423,7 @@ void Ifc4::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrite::Ifc const IfcParse::entity& Ifc4::IfcTableRow::declaration() const { return *IFC4_IfcTableRow_type; } const IfcParse::entity& Ifc4::IfcTableRow::Class() { return *IFC4_IfcTableRow_type; } Ifc4::IfcTableRow::IfcTableRow(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcTableRow_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcTableRow::IfcTableRow(boost::optional< aggregate_of_instance::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcTableRow_type); if (v1_RowCells) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RowCells));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_IsHeading) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_IsHeading));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } +Ifc4::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcTableRow_type); if (v1_RowCells) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RowCells));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_IsHeading) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_IsHeading));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcTank boost::optional< ::Ifc4::IfcTankTypeEnum::Value > Ifc4::IfcTank::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcTankTypeEnum::FromString(*data_->getArgument(8)); } @@ -19815,14 +19815,14 @@ Ifc4::IfcTimeSeries::IfcTimeSeries(IfcEntityInstanceData* e) : IfcUtil::IfcBaseE Ifc4::IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4::IfcUnit* v8_Unit) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcTimeSeries_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_StartTime));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EndTime));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_TimeSeriesDataType,::Ifc4::IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType))));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v6_DataOrigin,::Ifc4::IfcDataOriginEnum::ToString(v6_DataOrigin))));data_->setArgument(5,attr);} if (v7_UserDefinedDataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_UserDefinedDataOrigin));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Unit));data_->setArgument(7,attr);} } // Function implementations for IfcTimeSeriesValue -aggregate_of_instance::ptr Ifc4::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4::IfcTimeSeriesValue::setListValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4::IfcValue >::ptr Ifc4::IfcTimeSeriesValue::ListValues() const { aggregate_of< ::Ifc4::IfcValue >::ptr v = *data_->getArgument(0); return v; } +void Ifc4::IfcTimeSeriesValue::setListValues(aggregate_of< ::Ifc4::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcTimeSeriesValue::declaration() const { return *IFC4_IfcTimeSeriesValue_type; } const IfcParse::entity& Ifc4::IfcTimeSeriesValue::Class() { return *IFC4_IfcTimeSeriesValue_type; } Ifc4::IfcTimeSeriesValue::IfcTimeSeriesValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcTimeSeriesValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of_instance::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ListValues));data_->setArgument(0,attr);} } +Ifc4::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ListValues));data_->setArgument(0,attr);} } // Function implementations for IfcTopologicalRepresentationItem @@ -19927,10 +19927,10 @@ Ifc4::IfcTriangulatedFaceSet::IfcTriangulatedFaceSet(::Ifc4::IfcCartesianPointLi // Function implementations for IfcTrimmedCurve ::Ifc4::IfcCurve* Ifc4::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcTrimmedCurve::setBasisCurve(::Ifc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of_instance::ptr Ifc4::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4::IfcTrimmedCurve::setTrim1(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -aggregate_of_instance::ptr Ifc4::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4::IfcTrimmedCurve::setTrim2(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4::IfcTrimmingSelect >::ptr Ifc4::IfcTrimmedCurve::Trim1() const { aggregate_of< ::Ifc4::IfcTrimmingSelect >::ptr v = *data_->getArgument(1); return v; } +void Ifc4::IfcTrimmedCurve::setTrim1(aggregate_of< ::Ifc4::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4::IfcTrimmingSelect >::ptr Ifc4::IfcTrimmedCurve::Trim2() const { aggregate_of< ::Ifc4::IfcTrimmingSelect >::ptr v = *data_->getArgument(2); return v; } +void Ifc4::IfcTrimmedCurve::setTrim2(aggregate_of< ::Ifc4::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } bool Ifc4::IfcTrimmedCurve::SenseAgreement() const { bool v = *data_->getArgument(3); return v; } void Ifc4::IfcTrimmedCurve::setSenseAgreement(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4::IfcTrimmingPreference::Value Ifc4::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4::IfcTrimmingPreference::FromString(*data_->getArgument(4)); } @@ -19940,7 +19940,7 @@ void Ifc4::IfcTrimmedCurve::setMasterRepresentation(::Ifc4::IfcTrimmingPreferenc const IfcParse::entity& Ifc4::IfcTrimmedCurve::declaration() const { return *IFC4_IfcTrimmedCurve_type; } const IfcParse::entity& Ifc4::IfcTrimmedCurve::Class() { return *IFC4_IfcTrimmedCurve_type; } Ifc4::IfcTrimmedCurve::IfcTrimmedCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcTrimmedCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4::IfcCurve* v1_BasisCurve, aggregate_of_instance::ptr v2_Trim1, aggregate_of_instance::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTrimmedCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Trim1));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Trim2));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SenseAgreement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_MasterRepresentation,::Ifc4::IfcTrimmingPreference::ToString(v5_MasterRepresentation))));data_->setArgument(4,attr);} } +Ifc4::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTrimmedCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Trim1));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Trim2));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SenseAgreement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_MasterRepresentation,::Ifc4::IfcTrimmingPreference::ToString(v5_MasterRepresentation))));data_->setArgument(4,attr);} } // Function implementations for IfcTubeBundle boost::optional< ::Ifc4::IfcTubeBundleTypeEnum::Value > Ifc4::IfcTubeBundle::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcTubeBundleTypeEnum::FromString(*data_->getArgument(8)); } @@ -20041,14 +20041,14 @@ Ifc4::IfcUShapeProfileDef::IfcUShapeProfileDef(IfcEntityInstanceData* e) : IfcPa Ifc4::IfcUShapeProfileDef::IfcUShapeProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::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((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcUShapeProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_FlangeWidth));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_WebThickness));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_FlangeThickness));data_->setArgument(6,attr);} if (v8_FilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_FilletRadius));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_EdgeRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_EdgeRadius));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_FlangeSlope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_FlangeSlope));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcUnitAssignment -aggregate_of_instance::ptr Ifc4::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4::IfcUnitAssignment::setUnits(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4::IfcUnit >::ptr Ifc4::IfcUnitAssignment::Units() const { aggregate_of< ::Ifc4::IfcUnit >::ptr v = *data_->getArgument(0); return v; } +void Ifc4::IfcUnitAssignment::setUnits(aggregate_of< ::Ifc4::IfcUnit >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcUnitAssignment::declaration() const { return *IFC4_IfcUnitAssignment_type; } const IfcParse::entity& Ifc4::IfcUnitAssignment::Class() { return *IFC4_IfcUnitAssignment_type; } Ifc4::IfcUnitAssignment::IfcUnitAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcUnitAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcUnitAssignment::IfcUnitAssignment(aggregate_of_instance::ptr v1_Units) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcUnitAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Units));data_->setArgument(0,attr);} } +Ifc4::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcUnitAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Units));data_->setArgument(0,attr);} } // Function implementations for IfcUnitaryControlElement boost::optional< ::Ifc4::IfcUnitaryControlElementTypeEnum::Value > Ifc4::IfcUnitaryControlElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcUnitaryControlElementTypeEnum::FromString(*data_->getArgument(8)); } diff --git a/src/ifcparse/Ifc4.h b/src/ifcparse/Ifc4.h index 8b80139d29..4ae5c6d32d 100644 --- a/src/ifcparse/Ifc4.h +++ b/src/ifcparse/Ifc4.h @@ -10468,12 +10468,12 @@ public: std::string TimeStamp() const; void setTimeStamp(std::string v); /// A list of time-series values. At least one value is required. - aggregate_of_instance::ptr ListValues() const; - void setListValues(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4::IfcValue >::ptr ListValues() const; + void setListValues(aggregate_of< ::Ifc4::IfcValue >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcIrregularTimeSeriesValue (IfcEntityInstanceData* e); - IfcIrregularTimeSeriesValue (std::string v1_TimeStamp, aggregate_of_instance::ptr v2_ListValues); + IfcIrregularTimeSeriesValue (std::string v1_TimeStamp, aggregate_of< ::Ifc4::IfcValue >::ptr v2_ListValues); typedef aggregate_of< 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. @@ -10647,15 +10647,15 @@ public: class IFC_PARSE_API IfcMaterialClassificationRelationship : public IfcUtil::IfcBaseEntity { public: /// The material classifications identifying the type of material. - aggregate_of_instance::ptr MaterialClassifications() const; - void setMaterialClassifications(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4::IfcClassificationSelect >::ptr MaterialClassifications() const; + void setMaterialClassifications(aggregate_of< ::Ifc4::IfcClassificationSelect >::ptr v); /// Material being classified. ::Ifc4::IfcMaterial* ClassifiedMaterial() const; void setClassifiedMaterial(::Ifc4::IfcMaterial* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcMaterialClassificationRelationship (IfcEntityInstanceData* e); - IfcMaterialClassificationRelationship (aggregate_of_instance::ptr v1_MaterialClassifications, ::Ifc4::IfcMaterial* v2_ClassifiedMaterial); + IfcMaterialClassificationRelationship (aggregate_of< ::Ifc4::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4::IfcMaterial* v2_ClassifiedMaterial); typedef aggregate_of< IfcMaterialClassificationRelationship > list; }; /// IfcMaterialDefinition is a general supertype for all @@ -11445,15 +11445,15 @@ public: boost::optional< std::string > Description() const; void setDescription(boost::optional< std::string > v); /// The set of layered items, which are assigned to this layer. - aggregate_of_instance::ptr AssignedItems() const; - void setAssignedItems(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4::IfcLayeredItem >::ptr AssignedItems() const; + void setAssignedItems(aggregate_of< ::Ifc4::IfcLayeredItem >::ptr v); /// An (internal) identifier assigned to the layer. boost::optional< std::string > Identifier() const; void setIdentifier(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPresentationLayerAssignment (IfcEntityInstanceData* e); - IfcPresentationLayerAssignment (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier); + IfcPresentationLayerAssignment (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier); typedef aggregate_of< IfcPresentationLayerAssignment > list; }; /// An IfcPresentationLayerAssignmentWithStyle extends the presentation layer assignment with capabilities to define visibility control, access control and common style information. @@ -11490,7 +11490,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPresentationLayerWithStyle (IfcEntityInstanceData* e); - IfcPresentationLayerWithStyle (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4::IfcPresentationStyle >::ptr v8_LayerStyles); + IfcPresentationLayerWithStyle (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4::IfcPresentationStyle >::ptr v8_LayerStyles); typedef aggregate_of< 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. @@ -11517,12 +11517,12 @@ public: class IFC_PARSE_API IfcPresentationStyleAssignment : public IfcUtil::IfcBaseEntity, public IfcStyleAssignmentSelect { public: /// A set of presentation styles that are assigned to styled items. - aggregate_of_instance::ptr Styles() const; - void setStyles(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4::IfcPresentationStyleSelect >::ptr Styles() const; + void setStyles(aggregate_of< ::Ifc4::IfcPresentationStyleSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPresentationStyleAssignment (IfcEntityInstanceData* e); - IfcPresentationStyleAssignment (aggregate_of_instance::ptr v1_Styles); + IfcPresentationStyleAssignment (aggregate_of< ::Ifc4::IfcPresentationStyleSelect >::ptr v1_Styles); typedef aggregate_of< IfcPresentationStyleAssignment > list; }; /// IfcProductRepresentation defines a representation of a @@ -11854,15 +11854,15 @@ public: std::string Name() const; void setName(std::string v); /// List of values that form the enumeration. - aggregate_of_instance::ptr EnumerationValues() const; - void setEnumerationValues(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4::IfcValue >::ptr EnumerationValues() const; + void setEnumerationValues(aggregate_of< ::Ifc4::IfcValue >::ptr v); /// 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. ::Ifc4::IfcUnit* Unit() const; void setUnit(::Ifc4::IfcUnit* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyEnumeration (IfcEntityInstanceData* e); - IfcPropertyEnumeration (std::string v1_Name, aggregate_of_instance::ptr v2_EnumerationValues, ::Ifc4::IfcUnit* v3_Unit); + IfcPropertyEnumeration (std::string v1_Name, aggregate_of< ::Ifc4::IfcValue >::ptr v2_EnumerationValues, ::Ifc4::IfcUnit* v3_Unit); typedef aggregate_of< 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. @@ -12711,15 +12711,15 @@ public: /// for file based exchange. /// /// NOTE Only the select item IfcPresentationStyle shall be used from IFC2x4 onwards, the IfcPresentationStyleAssignment has been deprecated. - aggregate_of_instance::ptr Styles() const; - void setStyles(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4::IfcStyleAssignmentSelect >::ptr Styles() const; + void setStyles(aggregate_of< ::Ifc4::IfcStyleAssignmentSelect >::ptr v); /// The word, or group of words, by which the styled item is referred to. boost::optional< std::string > Name() const; void setName(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcStyledItem (IfcEntityInstanceData* e); - IfcStyledItem (::Ifc4::IfcRepresentationItem* v1_Item, aggregate_of_instance::ptr v2_Styles, boost::optional< std::string > v3_Name); + IfcStyledItem (::Ifc4::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc4::IfcStyleAssignmentSelect >::ptr v2_Styles, boost::optional< std::string > v3_Name); typedef aggregate_of< 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. @@ -12772,12 +12772,12 @@ public: ::Ifc4::IfcSurfaceSide::Value Side() const; void setSide(::Ifc4::IfcSurfaceSide::Value v); /// A collection of different surface styles. - aggregate_of_instance::ptr Styles() const; - void setStyles(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4::IfcSurfaceStyleElementSelect >::ptr Styles() const; + void setStyles(aggregate_of< ::Ifc4::IfcSurfaceStyleElementSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSurfaceStyle (IfcEntityInstanceData* e); - IfcSurfaceStyle (boost::optional< std::string > v1_Name, ::Ifc4::IfcSurfaceSide::Value v2_Side, aggregate_of_instance::ptr v3_Styles); + IfcSurfaceStyle (boost::optional< std::string > v1_Name, ::Ifc4::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4::IfcSurfaceStyleElementSelect >::ptr v3_Styles); typedef aggregate_of< IfcSurfaceStyle > list; }; /// IfcSurfaceStyleLighting is a container class for properties for calculation of physically exact illuminance related to a particular surface style. @@ -13086,15 +13086,15 @@ public: class IFC_PARSE_API IfcTableRow : public IfcUtil::IfcBaseEntity { public: /// The data value of the table cell.. - boost::optional< aggregate_of_instance::ptr > RowCells() const; - void setRowCells(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > RowCells() const; + void setRowCells(boost::optional< aggregate_of< ::Ifc4::IfcValue >::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. boost::optional< bool > IsHeading() const; void setIsHeading(boost::optional< bool > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTableRow (IfcEntityInstanceData* e); - IfcTableRow (boost::optional< aggregate_of_instance::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading); + IfcTableRow (boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading); typedef aggregate_of< IfcTableRow > list; }; /// IfcTaskTime captures the time-related information about a task including the different types (actual or scheduled) of starting and ending times. @@ -13643,12 +13643,12 @@ public: class IFC_PARSE_API IfcTimeSeriesValue : public IfcUtil::IfcBaseEntity { public: /// A list of time-series values. At least one value is required. - aggregate_of_instance::ptr ListValues() const; - void setListValues(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4::IfcValue >::ptr ListValues() const; + void setListValues(aggregate_of< ::Ifc4::IfcValue >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTimeSeriesValue (IfcEntityInstanceData* e); - IfcTimeSeriesValue (aggregate_of_instance::ptr v1_ListValues); + IfcTimeSeriesValue (aggregate_of< ::Ifc4::IfcValue >::ptr v1_ListValues); typedef aggregate_of< IfcTimeSeriesValue > list; }; /// Definition from ISO/CD 10303-42:1992: The topological representation item is the supertype for all the topological representation items in the geometry resource. @@ -13714,12 +13714,12 @@ public: class IFC_PARSE_API IfcUnitAssignment : public IfcUtil::IfcBaseEntity { public: /// Units to be included within a unit assignment. - aggregate_of_instance::ptr Units() const; - void setUnits(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4::IfcUnit >::ptr Units() const; + void setUnits(aggregate_of< ::Ifc4::IfcUnit >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcUnitAssignment (IfcEntityInstanceData* e); - IfcUnitAssignment (aggregate_of_instance::ptr v1_Units); + IfcUnitAssignment (aggregate_of< ::Ifc4::IfcUnit >::ptr v1_Units); typedef aggregate_of< IfcUnitAssignment > list; }; /// Definition from ISO/CD 10303-42:1992: A vertex is the topological construct corresponding to a point. It has dimensionality 0 and extent 0. The domain of a vertex, if present, is a point in m dimensional real space RM; this is represented by the vertex point subtype. @@ -14695,8 +14695,8 @@ public: ::Ifc4::IfcActorSelect* DocumentOwner() const; void setDocumentOwner(::Ifc4::IfcActorSelect* v); /// The persons and/or organizations who have created this document or contributed to it. - boost::optional< aggregate_of_instance::ptr > Editors() const; - void setEditors(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4::IfcActorSelect >::ptr > Editors() const; + void setEditors(boost::optional< aggregate_of< ::Ifc4::IfcActorSelect >::ptr > v); /// 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. @@ -14737,7 +14737,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcDocumentInformation (IfcEntityInstanceData* e); - 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, ::Ifc4::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of_instance::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< ::Ifc4::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4::IfcDocumentStatusEnum::Value > 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, ::Ifc4::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4::IfcActorSelect >::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< ::Ifc4::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4::IfcDocumentStatusEnum::Value > v17_Status); typedef aggregate_of< IfcDocumentInformation > list; }; /// An IfcDocumentInformationRelationship is a relationship class that enables a document to have the ability to reference other documents. @@ -14978,12 +14978,12 @@ public: ::Ifc4::IfcExternalReference* RelatingReference() const; void setRelatingReference(::Ifc4::IfcExternalReference* v); /// Objects within the list of IfcResourceObjectSelect that can be tagged by an external reference to a dictionary, library, catalogue, classification or documentation. - aggregate_of_instance::ptr RelatedResourceObjects() const; - void setRelatedResourceObjects(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr RelatedResourceObjects() const; + void setRelatedResourceObjects(aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcExternalReferenceRelationship (IfcEntityInstanceData* e); - IfcExternalReferenceRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcExternalReference* v3_RelatingReference, aggregate_of_instance::ptr v4_RelatedResourceObjects); + IfcExternalReferenceRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects); typedef aggregate_of< IfcExternalReferenceRelationship > list; }; /// Definition from ISO/CD 10303-42:1992: A face is a topological @@ -15194,14 +15194,14 @@ public: class IFC_PARSE_API IfcFillAreaStyle : public IfcPresentationStyle, public IfcPresentationStyleSelect { public: /// The set of fill area styles to use in presenting visible curve segments, annotation fill areas or surfaces. - aggregate_of_instance::ptr FillStyles() const; - void setFillStyles(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4::IfcFillStyleSelect >::ptr FillStyles() const; + void setFillStyles(aggregate_of< ::Ifc4::IfcFillStyleSelect >::ptr v); boost::optional< bool > ModelorDraughting() const; void setModelorDraughting(boost::optional< bool > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcFillAreaStyle (IfcEntityInstanceData* e); - IfcFillAreaStyle (boost::optional< std::string > v1_Name, aggregate_of_instance::ptr v2_FillStyles, boost::optional< bool > v3_ModelorDraughting); + IfcFillAreaStyle (boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelorDraughting); typedef aggregate_of< IfcFillAreaStyle > list; }; /// Definition from ISO/CD 10303-42:1992: A geometric @@ -15355,12 +15355,12 @@ public: class IFC_PARSE_API 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. - aggregate_of_instance::ptr Elements() const; - void setElements(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4::IfcGeometricSetSelect >::ptr Elements() const; + void setElements(aggregate_of< ::Ifc4::IfcGeometricSetSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcGeometricSet (IfcEntityInstanceData* e); - IfcGeometricSet (aggregate_of_instance::ptr v1_Elements); + IfcGeometricSet (aggregate_of< ::Ifc4::IfcGeometricSetSelect >::ptr v1_Elements); typedef aggregate_of< IfcGeometricSet > list; }; /// IfcGridPlacement provides a specialization of IfcObjectPlacement in which @@ -17327,15 +17327,15 @@ public: class IFC_PARSE_API IfcResourceApprovalRelationship : public IfcResourceLevelRelationship { public: /// Resource objects that are approved. - aggregate_of_instance::ptr RelatedResourceObjects() const; - void setRelatedResourceObjects(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr RelatedResourceObjects() const; + void setRelatedResourceObjects(aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr v); /// The approval for the resource objects selected. ::Ifc4::IfcApproval* RelatingApproval() const; void setRelatingApproval(::Ifc4::IfcApproval* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcResourceApprovalRelationship (IfcEntityInstanceData* e); - IfcResourceApprovalRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_RelatedResourceObjects, ::Ifc4::IfcApproval* v4_RelatingApproval); + IfcResourceApprovalRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4::IfcApproval* v4_RelatingApproval); typedef aggregate_of< IfcResourceApprovalRelationship > list; }; /// An IfcResourceConstraintRelationship is a relationship @@ -17364,12 +17364,12 @@ public: ::Ifc4::IfcConstraint* RelatingConstraint() const; void setRelatingConstraint(::Ifc4::IfcConstraint* v); /// The properties to which a constraint is to be related. - aggregate_of_instance::ptr RelatedResourceObjects() const; - void setRelatedResourceObjects(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr RelatedResourceObjects() const; + void setRelatedResourceObjects(aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcResourceConstraintRelationship (IfcEntityInstanceData* e); - IfcResourceConstraintRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcConstraint* v3_RelatingConstraint, aggregate_of_instance::ptr v4_RelatedResourceObjects); + IfcResourceConstraintRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects); typedef aggregate_of< IfcResourceConstraintRelationship > list; }; /// IfcResourceTime captures the time-related information about a construction resource. @@ -17614,12 +17614,12 @@ public: /// The shells shall not overlap or intersect except at common faces, edges or vertices. class IFC_PARSE_API IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { public: - aggregate_of_instance::ptr SbsmBoundary() const; - void setSbsmBoundary(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4::IfcShell >::ptr SbsmBoundary() const; + void setSbsmBoundary(aggregate_of< ::Ifc4::IfcShell >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcShellBasedSurfaceModel (IfcEntityInstanceData* e); - IfcShellBasedSurfaceModel (aggregate_of_instance::ptr v1_SbsmBoundary); + IfcShellBasedSurfaceModel (aggregate_of< ::Ifc4::IfcShell >::ptr v1_SbsmBoundary); typedef aggregate_of< IfcShellBasedSurfaceModel > 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. @@ -20587,7 +20587,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcGeometricCurveSet (IfcEntityInstanceData* e); - IfcGeometricCurveSet (aggregate_of_instance::ptr v1_Elements); + IfcGeometricCurveSet (aggregate_of< ::Ifc4::IfcGeometricSetSelect >::ptr v1_Elements); typedef aggregate_of< IfcGeometricCurveSet > list; }; /// IfcIShapeProfileDef @@ -21685,15 +21685,15 @@ 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. - boost::optional< aggregate_of_instance::ptr > EnumerationValues() const; - void setEnumerationValues(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > EnumerationValues() const; + void setEnumerationValues(boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v); /// Enumeration from which a enumeration value has been selected. The referenced enumeration also establishes the unit of the enumeration value. ::Ifc4::IfcPropertyEnumeration* EnumerationReference() const; void setEnumerationReference(::Ifc4::IfcPropertyEnumeration* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyEnumeratedValue (IfcEntityInstanceData* e); - IfcPropertyEnumeratedValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of_instance::ptr > v3_EnumerationValues, ::Ifc4::IfcPropertyEnumeration* v4_EnumerationReference); + IfcPropertyEnumeratedValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4::IfcPropertyEnumeration* v4_EnumerationReference); typedef aggregate_of< IfcPropertyEnumeratedValue > list; }; /// An IfcPropertyListValue @@ -21766,15 +21766,15 @@ public: /// List of property values. /// /// IFC2x4 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. - boost::optional< aggregate_of_instance::ptr > ListValues() const; - void setListValues(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > ListValues() const; + void setListValues(boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v); /// 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. ::Ifc4::IfcUnit* Unit() const; void setUnit(::Ifc4::IfcUnit* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyListValue (IfcEntityInstanceData* e); - IfcPropertyListValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of_instance::ptr > v3_ListValues, ::Ifc4::IfcUnit* v4_Unit); + IfcPropertyListValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v3_ListValues, ::Ifc4::IfcUnit* v4_Unit); typedef aggregate_of< IfcPropertyListValue > list; }; /// IfcPropertyReferenceValue allows a property value to @@ -22114,13 +22114,13 @@ 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. - boost::optional< aggregate_of_instance::ptr > DefiningValues() const; - void setDefiningValues(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > DefiningValues() const; + void setDefiningValues(boost::optional< aggregate_of< ::Ifc4::IfcValue >::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. - boost::optional< aggregate_of_instance::ptr > DefinedValues() const; - void setDefinedValues(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > DefinedValues() const; + void setDefinedValues(boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v); /// 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. boost::optional< std::string > Expression() const; void setExpression(boost::optional< std::string > v); @@ -22138,7 +22138,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyTableValue (IfcEntityInstanceData* e); - IfcPropertyTableValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of_instance::ptr > v3_DefiningValues, boost::optional< aggregate_of_instance::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4::IfcUnit* v6_DefiningUnit, ::Ifc4::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation); + IfcPropertyTableValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4::IfcUnit* v6_DefiningUnit, ::Ifc4::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation); typedef aggregate_of< IfcPropertyTableValue > list; }; /// The IfcPropertyTemplate is an abstract supertype @@ -22664,12 +22664,12 @@ 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. - aggregate_of_instance::ptr RelatedObjects() const; - void setRelatedObjects(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr RelatedObjects() const; + void setRelatedObjects(aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociates (IfcEntityInstanceData* e); - IfcRelAssociates (std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects); + IfcRelAssociates (std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v5_RelatedObjects); typedef aggregate_of< IfcRelAssociates > list; }; /// The entity IfcRelAssociatesApproval is used to apply approval information defined by IfcApproval, in IfcApprovalResource schema, to subtypes of IfcRoot. @@ -22683,7 +22683,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesApproval (IfcEntityInstanceData* e); - IfcRelAssociatesApproval (std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4::IfcApproval* v6_RelatingApproval); + IfcRelAssociatesApproval (std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4::IfcApproval* v6_RelatingApproval); typedef aggregate_of< IfcRelAssociatesApproval > list; }; /// The objectified relationship @@ -22724,7 +22724,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesClassification (IfcEntityInstanceData* e); - IfcRelAssociatesClassification (std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4::IfcClassificationSelect* v6_RelatingClassification); + IfcRelAssociatesClassification (std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4::IfcClassificationSelect* v6_RelatingClassification); typedef aggregate_of< IfcRelAssociatesClassification > list; }; /// The entity IfcRelAssociatesConstraint is used to apply constraint information defined by IfcConstraint, in the IfcConstraintResource schema, to subtypes of IfcRoot. @@ -22741,7 +22741,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesConstraint (IfcEntityInstanceData* e); - IfcRelAssociatesConstraint (std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4::IfcConstraint* v7_RelatingConstraint); + IfcRelAssociatesConstraint (std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4::IfcConstraint* v7_RelatingConstraint); typedef aggregate_of< 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). @@ -22759,7 +22759,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesDocument (IfcEntityInstanceData* e); - IfcRelAssociatesDocument (std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4::IfcDocumentSelect* v6_RelatingDocument); + IfcRelAssociatesDocument (std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4::IfcDocumentSelect* v6_RelatingDocument); typedef aggregate_of< IfcRelAssociatesDocument > list; }; /// The objectified relationship (IfcRelAssociatesLibrary) handles the assignment of a library item (items of the select IfcLibrarySelect) to subtypes of IfcObjectDefinition or IfcPropertyDefinition. @@ -22777,7 +22777,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesLibrary (IfcEntityInstanceData* e); - IfcRelAssociatesLibrary (std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4::IfcLibrarySelect* v6_RelatingLibrary); + IfcRelAssociatesLibrary (std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4::IfcLibrarySelect* v6_RelatingLibrary); typedef aggregate_of< IfcRelAssociatesLibrary > list; }; /// Definition from IAI: Objectified relationship between a @@ -22882,7 +22882,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesMaterial (IfcEntityInstanceData* e); - IfcRelAssociatesMaterial (std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4::IfcMaterialSelect* v6_RelatingMaterial); + IfcRelAssociatesMaterial (std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4::IfcMaterialSelect* v6_RelatingMaterial); typedef aggregate_of< 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. @@ -23355,12 +23355,12 @@ public: ::Ifc4::IfcContext* RelatingContext() const; void setRelatingContext(::Ifc4::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. - aggregate_of_instance::ptr RelatedDefinitions() const; - void setRelatedDefinitions(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr RelatedDefinitions() const; + void setRelatedDefinitions(aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelDeclares (IfcEntityInstanceData* e); - IfcRelDeclares (std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcContext* v5_RelatingContext, aggregate_of_instance::ptr v6_RelatedDefinitions); + IfcRelDeclares (std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v6_RelatedDefinitions); typedef aggregate_of< IfcRelDeclares > list; }; /// The decomposition relationship, @@ -30581,14 +30581,14 @@ class IFC_PARSE_API IfcIndexedPolyCurve : public IfcBoundedCurve { public: ::Ifc4::IfcCartesianPointList* Points() const; void setPoints(::Ifc4::IfcCartesianPointList* v); - boost::optional< aggregate_of_instance::ptr > Segments() const; - void setSegments(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4::IfcSegmentIndexSelect >::ptr > Segments() const; + void setSegments(boost::optional< aggregate_of< ::Ifc4::IfcSegmentIndexSelect >::ptr > v); boost::optional< bool > SelfIntersect() const; void setSelfIntersect(boost::optional< bool > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcIndexedPolyCurve (IfcEntityInstanceData* e); - IfcIndexedPolyCurve (::Ifc4::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of_instance::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect); + IfcIndexedPolyCurve (::Ifc4::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect); typedef aggregate_of< IfcIndexedPolyCurve > list; }; /// The flow treatment device type IfcInterceptorType defines commonly shared information for occurrences of interceptors. The set of shared information may include: @@ -32571,12 +32571,12 @@ public: void setTransverseBarSpacing(boost::optional< double > v); boost::optional< std::string > BendingShapeCode() const; void setBendingShapeCode(boost::optional< std::string > v); - boost::optional< aggregate_of_instance::ptr > BendingParameters() const; - void setBendingParameters(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4::IfcBendingParameterSelect >::ptr > BendingParameters() const; + void setBendingParameters(boost::optional< aggregate_of< ::Ifc4::IfcBendingParameterSelect >::ptr > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcReinforcingMeshType (IfcEntityInstanceData* e); - IfcReinforcingMeshType (std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of_instance::ptr > v20_BendingParameters); + IfcReinforcingMeshType (std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of< ::Ifc4::IfcBendingParameterSelect >::ptr > v20_BendingParameters); typedef aggregate_of< IfcReinforcingMeshType > list; }; /// The aggregation relationship @@ -34751,11 +34751,11 @@ public: ::Ifc4::IfcCurve* BasisCurve() const; void setBasisCurve(::Ifc4::IfcCurve* v); /// The first trimming point which may be specified as a Cartesian point, as a real parameter or both. - aggregate_of_instance::ptr Trim1() const; - void setTrim1(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4::IfcTrimmingSelect >::ptr Trim1() const; + void setTrim1(aggregate_of< ::Ifc4::IfcTrimmingSelect >::ptr v); /// The second trimming point which may be specified as a Cartesian point, as a real parameter or both. - aggregate_of_instance::ptr Trim2() const; - void setTrim2(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4::IfcTrimmingSelect >::ptr Trim2() const; + void setTrim2(aggregate_of< ::Ifc4::IfcTrimmingSelect >::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); @@ -34765,7 +34765,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTrimmedCurve (IfcEntityInstanceData* e); - IfcTrimmedCurve (::Ifc4::IfcCurve* v1_BasisCurve, aggregate_of_instance::ptr v2_Trim1, aggregate_of_instance::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4::IfcTrimmingPreference::Value v5_MasterRepresentation); + IfcTrimmedCurve (::Ifc4::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4::IfcTrimmingPreference::Value v5_MasterRepresentation); typedef aggregate_of< IfcTrimmedCurve > list; }; /// The energy conversion device type IfcTubeBundleType defines commonly shared information for occurrences of tube bundles. The set of shared information may include: @@ -43524,12 +43524,12 @@ public: void setBarSurface(boost::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > v); boost::optional< std::string > BendingShapeCode() const; void setBendingShapeCode(boost::optional< std::string > v); - boost::optional< aggregate_of_instance::ptr > BendingParameters() const; - void setBendingParameters(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4::IfcBendingParameterSelect >::ptr > BendingParameters() const; + void setBendingParameters(boost::optional< aggregate_of< ::Ifc4::IfcBendingParameterSelect >::ptr > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcReinforcingBarType (IfcEntityInstanceData* e); - IfcReinforcingBarType (std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of_instance::ptr > v16_BendingParameters); + IfcReinforcingBarType (std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4::IfcBendingParameterSelect >::ptr > v16_BendingParameters); typedef aggregate_of< IfcReinforcingBarType > list; }; /// Definition from ISO 6707-1:1989: Construction enclosing the building from above. diff --git a/src/ifcparse/Ifc4x1-definitions.h b/src/ifcparse/Ifc4x1-definitions.h index 244a3c4cc9..c2270a31d3 100644 --- a/src/ifcparse/Ifc4x1-definitions.h +++ b/src/ifcparse/Ifc4x1-definitions.h @@ -3763,3 +3763,52 @@ #define SCHEMA_HAS_IfcZone #define SCHEMA_IfcZone_HAS_LongName #define SCHEMA_IfcZone_LongName_IS_OPTIONAL +#define SCHEMA_HAS_IfcRepresentationContextSameWCS +#define SCHEMA_HAS_IfcSingleProjectInstance +#define SCHEMA_HAS_IfcAssociatedSurface +#define SCHEMA_HAS_IfcBaseAxis +#define SCHEMA_HAS_IfcBooleanChoose +#define SCHEMA_HAS_IfcBuild2Axes +#define SCHEMA_HAS_IfcBuildAxes +#define SCHEMA_HAS_IfcConsecutiveSegments +#define SCHEMA_HAS_IfcConstraintsParamBSpline +#define SCHEMA_HAS_IfcConvertDirectionInto2D +#define SCHEMA_HAS_IfcCorrectDimensions +#define SCHEMA_HAS_IfcCorrectFillAreaStyle +#define SCHEMA_HAS_IfcCorrectLocalPlacement +#define SCHEMA_HAS_IfcCorrectObjectAssignment +#define SCHEMA_HAS_IfcCorrectUnitAssignment +#define SCHEMA_HAS_IfcCrossProduct +#define SCHEMA_HAS_IfcCurveDim +#define SCHEMA_HAS_IfcCurveWeightsPositive +#define SCHEMA_HAS_IfcDeriveDimensionalExponents +#define SCHEMA_HAS_IfcDimensionsForSiUnit +#define SCHEMA_HAS_IfcDotProduct +#define SCHEMA_HAS_IfcFirstProjAxis +#define SCHEMA_HAS_IfcGetBasisSurface +#define SCHEMA_HAS_IfcListToArray +#define SCHEMA_HAS_IfcLoopHeadToTail +#define SCHEMA_HAS_IfcMakeArrayOfArray +#define SCHEMA_HAS_IfcMlsTotalThickness +#define SCHEMA_HAS_IfcNormalise +#define SCHEMA_HAS_IfcOrthogonalComplement +#define SCHEMA_HAS_IfcPathHeadToTail +#define SCHEMA_HAS_IfcPointListDim +#define SCHEMA_HAS_IfcSameAxis2Placement +#define SCHEMA_HAS_IfcSameCartesianPoint +#define SCHEMA_HAS_IfcSameDirection +#define SCHEMA_HAS_IfcSameValidPrecision +#define SCHEMA_HAS_IfcSameValue +#define SCHEMA_HAS_IfcScalarTimesVector +#define SCHEMA_HAS_IfcSecondProjAxis +#define SCHEMA_HAS_IfcShapeRepresentationTypes +#define SCHEMA_HAS_IfcSurfaceWeightsPositive +#define SCHEMA_HAS_IfcTaperedSweptAreaProfiles +#define SCHEMA_HAS_IfcTopologyRepresentationTypes +#define SCHEMA_HAS_IfcUniqueDefinitionNames +#define SCHEMA_HAS_IfcUniquePropertyName +#define SCHEMA_HAS_IfcUniquePropertySetNames +#define SCHEMA_HAS_IfcUniquePropertyTemplateNames +#define SCHEMA_HAS_IfcUniqueQuantityNames +#define SCHEMA_HAS_IfcVectorDifference +#define SCHEMA_HAS_IfcVectorSum diff --git a/src/ifcparse/Ifc4x1.cpp b/src/ifcparse/Ifc4x1.cpp index 6799e2678f..5d80cfe21b 100644 --- a/src/ifcparse/Ifc4x1.cpp +++ b/src/ifcparse/Ifc4x1.cpp @@ -13651,8 +13651,8 @@ boost::optional< std::string > Ifc4x1::IfcDocumentInformation::Revision() const void Ifc4x1::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x1::IfcActorSelect* Ifc4x1::IfcDocumentInformation::DocumentOwner() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x1::IfcActorSelect>(true); } void Ifc4x1::IfcDocumentInformation::setDocumentOwner(::Ifc4x1::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x1::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(9); return v; } -void Ifc4x1::IfcDocumentInformation::setEditors(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } +boost::optional< aggregate_of< ::Ifc4x1::IfcActorSelect >::ptr > Ifc4x1::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x1::IfcActorSelect >::ptr v = *data_->getArgument(9); return v; } +void Ifc4x1::IfcDocumentInformation::setEditors(boost::optional< aggregate_of< ::Ifc4x1::IfcActorSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x1::IfcDocumentInformation::CreationTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } void Ifc4x1::IfcDocumentInformation::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4x1::IfcDocumentInformation::LastRevisionTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } @@ -13676,7 +13676,7 @@ void Ifc4x1::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x1::IfcDoc const IfcParse::entity& Ifc4x1::IfcDocumentInformation::declaration() const { return *IFC4X1_IfcDocumentInformation_type; } const IfcParse::entity& Ifc4x1::IfcDocumentInformation::Class() { return *IFC4X1_IfcDocumentInformation_type; } Ifc4x1::IfcDocumentInformation::IfcDocumentInformation(IfcEntityInstanceData* e) : IfcExternalInformation((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcDocumentInformation_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::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, ::Ifc4x1::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of_instance::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< ::Ifc4x1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x1::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Identification));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Location));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CreationTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LastRevisionTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LastRevisionTime));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ElectronicFormat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ElectronicFormat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ValidFrom) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ValidFrom));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ValidUntil) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ValidUntil));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc4x1::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc4x1::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } +Ifc4x1::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, ::Ifc4x1::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x1::IfcActorSelect >::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< ::Ifc4x1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x1::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Identification));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Location));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CreationTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LastRevisionTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LastRevisionTime));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ElectronicFormat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ElectronicFormat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ValidFrom) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ValidFrom));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ValidUntil) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ValidUntil));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc4x1::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc4x1::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } // Function implementations for IfcDocumentInformationRelationship ::Ifc4x1::IfcDocumentInformation* Ifc4x1::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcDocumentInformation>(true); } @@ -14323,14 +14323,14 @@ Ifc4x1::IfcExternalReference::IfcExternalReference(boost::optional< std::string // Function implementations for IfcExternalReferenceRelationship ::Ifc4x1::IfcExternalReference* Ifc4x1::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcExternalReference>(true); } void Ifc4x1::IfcExternalReferenceRelationship::setRelatingReference(::Ifc4x1::IfcExternalReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -aggregate_of_instance::ptr Ifc4x1::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } -void Ifc4x1::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr Ifc4x1::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr v = *data_->getArgument(3); return v; } +void Ifc4x1::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x1::IfcExternalReferenceRelationship::declaration() const { return *IFC4X1_IfcExternalReferenceRelationship_type; } const IfcParse::entity& Ifc4x1::IfcExternalReferenceRelationship::Class() { return *IFC4X1_IfcExternalReferenceRelationship_type; } Ifc4x1::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcExternalReferenceRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcExternalReference* v3_RelatingReference, aggregate_of_instance::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcExternalReferenceRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingReference));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } +Ifc4x1::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcExternalReferenceRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingReference));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } // Function implementations for IfcExternalSpatialElement boost::optional< ::Ifc4x1::IfcExternalSpatialElementTypeEnum::Value > Ifc4x1::IfcExternalSpatialElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcExternalSpatialElementTypeEnum::FromString(*data_->getArgument(8)); } @@ -14555,8 +14555,8 @@ Ifc4x1::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcEntityInst Ifc4x1::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcFeatureElementSubtraction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcFillAreaStyle -aggregate_of_instance::ptr Ifc4x1::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcFillAreaStyle::setFillStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x1::IfcFillStyleSelect >::ptr Ifc4x1::IfcFillAreaStyle::FillStyles() const { aggregate_of< ::Ifc4x1::IfcFillStyleSelect >::ptr v = *data_->getArgument(1); return v; } +void Ifc4x1::IfcFillAreaStyle::setFillStyles(aggregate_of< ::Ifc4x1::IfcFillStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x1::IfcFillAreaStyle::ModelorDraughting() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } void Ifc4x1::IfcFillAreaStyle::setModelorDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } @@ -14564,7 +14564,7 @@ void Ifc4x1::IfcFillAreaStyle::setModelorDraughting(boost::optional< bool > v) { const IfcParse::entity& Ifc4x1::IfcFillAreaStyle::declaration() const { return *IFC4X1_IfcFillAreaStyle_type; } const IfcParse::entity& Ifc4x1::IfcFillAreaStyle::Class() { return *IFC4X1_IfcFillAreaStyle_type; } Ifc4x1::IfcFillAreaStyle::IfcFillAreaStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcFillAreaStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of_instance::ptr v2_FillStyles, boost::optional< bool > v3_ModelorDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles));data_->setArgument(1,attr);} if (v3_ModelorDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ModelorDraughting));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x1::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x1::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelorDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles));data_->setArgument(1,attr);} if (v3_ModelorDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ModelorDraughting));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcFillAreaStyleHatching ::Ifc4x1::IfcCurveStyle* Ifc4x1::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcCurveStyle>(true); } @@ -14890,7 +14890,7 @@ Ifc4x1::IfcGeographicElementType::IfcGeographicElementType(std::string v1_Global const IfcParse::entity& Ifc4x1::IfcGeometricCurveSet::declaration() const { return *IFC4X1_IfcGeometricCurveSet_type; } const IfcParse::entity& Ifc4x1::IfcGeometricCurveSet::Class() { return *IFC4X1_IfcGeometricCurveSet_type; } Ifc4x1::IfcGeometricCurveSet::IfcGeometricCurveSet(IfcEntityInstanceData* e) : IfcGeometricSet((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcGeometricCurveSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of_instance::ptr v1_Elements) : IfcGeometricSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcGeometricCurveSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } +Ifc4x1::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4x1::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcGeometricCurveSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } // Function implementations for IfcGeometricRepresentationContext int Ifc4x1::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = *data_->getArgument(2); return v; } @@ -14935,14 +14935,14 @@ Ifc4x1::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubConte Ifc4x1::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, ::Ifc4x1::IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, ::Ifc4x1::IfcGeometricProjectionEnum::Value v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcGeometricRepresentationSubContext_type); if (v1_ContextIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_ContextIdentifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_ContextType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ContextType));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ParentContext));data_->setArgument(6,attr);} if (v8_TargetScale) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_TargetScale));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_TargetView,::Ifc4x1::IfcGeometricProjectionEnum::ToString(v9_TargetView))));data_->setArgument(8,attr);} if (v10_UserDefinedTargetView) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_UserDefinedTargetView));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcGeometricSet -aggregate_of_instance::ptr Ifc4x1::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x1::IfcGeometricSet::setElements(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x1::IfcGeometricSetSelect >::ptr Ifc4x1::IfcGeometricSet::Elements() const { aggregate_of< ::Ifc4x1::IfcGeometricSetSelect >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x1::IfcGeometricSet::setElements(aggregate_of< ::Ifc4x1::IfcGeometricSetSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x1::IfcGeometricSet::declaration() const { return *IFC4X1_IfcGeometricSet_type; } const IfcParse::entity& Ifc4x1::IfcGeometricSet::Class() { return *IFC4X1_IfcGeometricSet_type; } Ifc4x1::IfcGeometricSet::IfcGeometricSet(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcGeometricSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcGeometricSet::IfcGeometricSet(aggregate_of_instance::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcGeometricSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } +Ifc4x1::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x1::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcGeometricSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } // Function implementations for IfcGrid aggregate_of< ::Ifc4x1::IfcGridAxis >::ptr Ifc4x1::IfcGrid::UAxes() const { aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x1::IfcGridAxis >(); } @@ -15102,8 +15102,8 @@ Ifc4x1::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4x1::IfcTessellatedFaceSet // Function implementations for IfcIndexedPolyCurve ::Ifc4x1::IfcCartesianPointList* Ifc4x1::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcCartesianPointList>(true); } void Ifc4x1::IfcIndexedPolyCurve::setPoints(::Ifc4x1::IfcCartesianPointList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x1::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } +boost::optional< aggregate_of< ::Ifc4x1::IfcSegmentIndexSelect >::ptr > Ifc4x1::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x1::IfcSegmentIndexSelect >::ptr v = *data_->getArgument(1); return v; } +void Ifc4x1::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of< ::Ifc4x1::IfcSegmentIndexSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x1::IfcIndexedPolyCurve::SelfIntersect() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } void Ifc4x1::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } @@ -15111,7 +15111,7 @@ void Ifc4x1::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { const IfcParse::entity& Ifc4x1::IfcIndexedPolyCurve::declaration() const { return *IFC4X1_IfcIndexedPolyCurve_type; } const IfcParse::entity& Ifc4x1::IfcIndexedPolyCurve::Class() { return *IFC4X1_IfcIndexedPolyCurve_type; } Ifc4x1::IfcIndexedPolyCurve::IfcIndexedPolyCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcIndexedPolyCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x1::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of_instance::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcIndexedPolyCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Points));data_->setArgument(0,attr);} if (v2_Segments) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Segments));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_SelfIntersect) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_SelfIntersect));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x1::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x1::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x1::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcIndexedPolyCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Points));data_->setArgument(0,attr);} if (v2_Segments) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Segments));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_SelfIntersect) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_SelfIntersect));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcIndexedPolygonalFace std::vector< int > /*[3:?]*/ Ifc4x1::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = *data_->getArgument(0); return v; } @@ -15217,14 +15217,14 @@ Ifc4x1::IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, boos // Function implementations for IfcIrregularTimeSeriesValue std::string Ifc4x1::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x1::IfcIrregularTimeSeriesValue::setTimeStamp(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of_instance::ptr Ifc4x1::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcIrregularTimeSeriesValue::setListValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x1::IfcValue >::ptr Ifc4x1::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of< ::Ifc4x1::IfcValue >::ptr v = *data_->getArgument(1); return v; } +void Ifc4x1::IfcIrregularTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x1::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x1::IfcIrregularTimeSeriesValue::declaration() const { return *IFC4X1_IfcIrregularTimeSeriesValue_type; } const IfcParse::entity& Ifc4x1::IfcIrregularTimeSeriesValue::Class() { return *IFC4X1_IfcIrregularTimeSeriesValue_type; } Ifc4x1::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X1_IfcIrregularTimeSeriesValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of_instance::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X1_IfcIrregularTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TimeStamp));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ListValues));data_->setArgument(1,attr);} } +Ifc4x1::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4x1::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X1_IfcIrregularTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TimeStamp));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ListValues));data_->setArgument(1,attr);} } // Function implementations for IfcJunctionBox boost::optional< ::Ifc4x1::IfcJunctionBoxTypeEnum::Value > Ifc4x1::IfcJunctionBox::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcJunctionBoxTypeEnum::FromString(*data_->getArgument(8)); } @@ -15615,8 +15615,8 @@ Ifc4x1::IfcMaterial::IfcMaterial(IfcEntityInstanceData* e) : IfcMaterialDefiniti Ifc4x1::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_Category) : IfcMaterialDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Category) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Category));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcMaterialClassificationRelationship -aggregate_of_instance::ptr Ifc4x1::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x1::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x1::IfcClassificationSelect >::ptr Ifc4x1::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of< ::Ifc4x1::IfcClassificationSelect >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x1::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of< ::Ifc4x1::IfcClassificationSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4x1::IfcMaterial* Ifc4x1::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcMaterial>(true); } void Ifc4x1::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc4x1::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -15624,7 +15624,7 @@ void Ifc4x1::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc4 const IfcParse::entity& Ifc4x1::IfcMaterialClassificationRelationship::declaration() const { return *IFC4X1_IfcMaterialClassificationRelationship_type; } const IfcParse::entity& Ifc4x1::IfcMaterialClassificationRelationship::Class() { return *IFC4X1_IfcMaterialClassificationRelationship_type; } Ifc4x1::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X1_IfcMaterialClassificationRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of_instance::ptr v1_MaterialClassifications, ::Ifc4x1::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X1_IfcMaterialClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialClassifications));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ClassifiedMaterial));data_->setArgument(1,attr);} } +Ifc4x1::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4x1::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x1::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X1_IfcMaterialClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialClassifications));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ClassifiedMaterial));data_->setArgument(1,attr);} } // Function implementations for IfcMaterialConstituent boost::optional< std::string > Ifc4x1::IfcMaterialConstituent::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -16752,8 +16752,8 @@ std::string Ifc4x1::IfcPresentationLayerAssignment::Name() const { std::string void Ifc4x1::IfcPresentationLayerAssignment::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x1::IfcPresentationLayerAssignment::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x1::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } -aggregate_of_instance::ptr Ifc4x1::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x1::IfcLayeredItem >::ptr Ifc4x1::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of< ::Ifc4x1::IfcLayeredItem >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x1::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of< ::Ifc4x1::IfcLayeredItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x1::IfcPresentationLayerAssignment::Identifier() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4x1::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } @@ -16761,7 +16761,7 @@ void Ifc4x1::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std: const IfcParse::entity& Ifc4x1::IfcPresentationLayerAssignment::declaration() const { return *IFC4X1_IfcPresentationLayerAssignment_type; } const IfcParse::entity& Ifc4x1::IfcPresentationLayerAssignment::Class() { return *IFC4X1_IfcPresentationLayerAssignment_type; } Ifc4x1::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X1_IfcPresentationLayerAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X1_IfcPresentationLayerAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } +Ifc4x1::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x1::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X1_IfcPresentationLayerAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcPresentationLayerWithStyle boost::logic::tribool Ifc4x1::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = *data_->getArgument(4); return v; } @@ -16777,7 +16777,7 @@ void Ifc4x1::IfcPresentationLayerWithStyle::setLayerStyles(aggregate_of< ::Ifc4x const IfcParse::entity& Ifc4x1::IfcPresentationLayerWithStyle::declaration() const { return *IFC4X1_IfcPresentationLayerWithStyle_type; } const IfcParse::entity& Ifc4x1::IfcPresentationLayerWithStyle::Class() { return *IFC4X1_IfcPresentationLayerWithStyle_type; } Ifc4x1::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcEntityInstanceData* e) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcPresentationLayerWithStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x1::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcPresentationLayerWithStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_LayerOn));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LayerFrozen));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LayerBlocked));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LayerStyles)->generalize());data_->setArgument(7,attr);} } +Ifc4x1::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x1::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x1::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcPresentationLayerWithStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_LayerOn));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LayerFrozen));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LayerBlocked));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LayerStyles)->generalize());data_->setArgument(7,attr);} } // Function implementations for IfcPresentationStyle boost::optional< std::string > Ifc4x1::IfcPresentationStyle::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -16790,14 +16790,14 @@ Ifc4x1::IfcPresentationStyle::IfcPresentationStyle(IfcEntityInstanceData* e) : I Ifc4x1::IfcPresentationStyle::IfcPresentationStyle(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X1_IfcPresentationStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } } // Function implementations for IfcPresentationStyleAssignment -aggregate_of_instance::ptr Ifc4x1::IfcPresentationStyleAssignment::Styles() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x1::IfcPresentationStyleAssignment::setStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x1::IfcPresentationStyleSelect >::ptr Ifc4x1::IfcPresentationStyleAssignment::Styles() const { aggregate_of< ::Ifc4x1::IfcPresentationStyleSelect >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x1::IfcPresentationStyleAssignment::setStyles(aggregate_of< ::Ifc4x1::IfcPresentationStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x1::IfcPresentationStyleAssignment::declaration() const { return *IFC4X1_IfcPresentationStyleAssignment_type; } const IfcParse::entity& Ifc4x1::IfcPresentationStyleAssignment::Class() { return *IFC4X1_IfcPresentationStyleAssignment_type; } Ifc4x1::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X1_IfcPresentationStyleAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(aggregate_of_instance::ptr v1_Styles) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X1_IfcPresentationStyleAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Styles));data_->setArgument(0,attr);} } +Ifc4x1::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(aggregate_of< ::Ifc4x1::IfcPresentationStyleSelect >::ptr v1_Styles) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X1_IfcPresentationStyleAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Styles));data_->setArgument(0,attr);} } // Function implementations for IfcProcedure boost::optional< ::Ifc4x1::IfcProcedureTypeEnum::Value > Ifc4x1::IfcProcedure::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x1::IfcProcedureTypeEnum::FromString(*data_->getArgument(7)); } @@ -17017,8 +17017,8 @@ Ifc4x1::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(Ifc Ifc4x1::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcProperty* v3_DependingProperty, ::Ifc4x1::IfcProperty* v4_DependantProperty, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcPropertyDependencyRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_DependingProperty));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_DependantProperty));data_->setArgument(3,attr);} if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcPropertyEnumeratedValue -boost::optional< aggregate_of_instance::ptr > Ifc4x1::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > Ifc4x1::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x1::IfcValue >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x1::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x1::IfcPropertyEnumeration* Ifc4x1::IfcPropertyEnumeratedValue::EnumerationReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcPropertyEnumeration>(true); } void Ifc4x1::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x1::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -17026,13 +17026,13 @@ void Ifc4x1::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x1::IfcPr const IfcParse::entity& Ifc4x1::IfcPropertyEnumeratedValue::declaration() const { return *IFC4X1_IfcPropertyEnumeratedValue_type; } const IfcParse::entity& Ifc4x1::IfcPropertyEnumeratedValue::Class() { return *IFC4X1_IfcPropertyEnumeratedValue_type; } Ifc4x1::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcPropertyEnumeratedValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of_instance::ptr > v3_EnumerationValues, ::Ifc4x1::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcPropertyEnumeratedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EnumerationValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EnumerationValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EnumerationReference));data_->setArgument(3,attr);} } +Ifc4x1::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x1::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcPropertyEnumeratedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EnumerationValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EnumerationValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EnumerationReference));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyEnumeration std::string Ifc4x1::IfcPropertyEnumeration::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x1::IfcPropertyEnumeration::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of_instance::ptr Ifc4x1::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcPropertyEnumeration::setEnumerationValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x1::IfcValue >::ptr Ifc4x1::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of< ::Ifc4x1::IfcValue >::ptr v = *data_->getArgument(1); return v; } +void Ifc4x1::IfcPropertyEnumeration::setEnumerationValues(aggregate_of< ::Ifc4x1::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } ::Ifc4x1::IfcUnit* Ifc4x1::IfcPropertyEnumeration::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcUnit>(true); } void Ifc4x1::IfcPropertyEnumeration::setUnit(::Ifc4x1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -17040,11 +17040,11 @@ void Ifc4x1::IfcPropertyEnumeration::setUnit(::Ifc4x1::IfcUnit* v) { {IfcWrite:: const IfcParse::entity& Ifc4x1::IfcPropertyEnumeration::declaration() const { return *IFC4X1_IfcPropertyEnumeration_type; } const IfcParse::entity& Ifc4x1::IfcPropertyEnumeration::Class() { return *IFC4X1_IfcPropertyEnumeration_type; } Ifc4x1::IfcPropertyEnumeration::IfcPropertyEnumeration(IfcEntityInstanceData* e) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcPropertyEnumeration_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of_instance::ptr v2_EnumerationValues, ::Ifc4x1::IfcUnit* v3_Unit) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcPropertyEnumeration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EnumerationValues));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);} } +Ifc4x1::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4x1::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x1::IfcUnit* v3_Unit) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcPropertyEnumeration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EnumerationValues));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);} } // Function implementations for IfcPropertyListValue -boost::optional< aggregate_of_instance::ptr > Ifc4x1::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcPropertyListValue::setListValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > Ifc4x1::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x1::IfcValue >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x1::IfcPropertyListValue::setListValues(boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x1::IfcUnit* Ifc4x1::IfcPropertyListValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcUnit>(true); } void Ifc4x1::IfcPropertyListValue::setUnit(::Ifc4x1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -17052,7 +17052,7 @@ void Ifc4x1::IfcPropertyListValue::setUnit(::Ifc4x1::IfcUnit* v) { {IfcWrite::If const IfcParse::entity& Ifc4x1::IfcPropertyListValue::declaration() const { return *IFC4X1_IfcPropertyListValue_type; } const IfcParse::entity& Ifc4x1::IfcPropertyListValue::Class() { return *IFC4X1_IfcPropertyListValue_type; } Ifc4x1::IfcPropertyListValue::IfcPropertyListValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcPropertyListValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of_instance::ptr > v3_ListValues, ::Ifc4x1::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcPropertyListValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ListValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ListValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } +Ifc4x1::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v3_ListValues, ::Ifc4x1::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcPropertyListValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ListValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ListValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyReferenceValue boost::optional< std::string > Ifc4x1::IfcPropertyReferenceValue::UsageName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } @@ -17115,10 +17115,10 @@ Ifc4x1::IfcPropertySingleValue::IfcPropertySingleValue(IfcEntityInstanceData* e) Ifc4x1::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcValue* v3_NominalValue, ::Ifc4x1::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcPropertySingleValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_NominalValue));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyTableValue -boost::optional< aggregate_of_instance::ptr > Ifc4x1::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x1::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } -void Ifc4x1::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } +boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > Ifc4x1::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x1::IfcValue >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x1::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > Ifc4x1::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x1::IfcValue >::ptr v = *data_->getArgument(3); return v; } +void Ifc4x1::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x1::IfcPropertyTableValue::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x1::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x1::IfcUnit* Ifc4x1::IfcPropertyTableValue::DefiningUnit() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcUnit>(true); } @@ -17132,7 +17132,7 @@ void Ifc4x1::IfcPropertyTableValue::setCurveInterpolation(boost::optional< ::Ifc const IfcParse::entity& Ifc4x1::IfcPropertyTableValue::declaration() const { return *IFC4X1_IfcPropertyTableValue_type; } const IfcParse::entity& Ifc4x1::IfcPropertyTableValue::Class() { return *IFC4X1_IfcPropertyTableValue_type; } Ifc4x1::IfcPropertyTableValue::IfcPropertyTableValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcPropertyTableValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of_instance::ptr > v3_DefiningValues, boost::optional< aggregate_of_instance::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x1::IfcUnit* v6_DefiningUnit, ::Ifc4x1::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x1::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcPropertyTableValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_DefiningValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_DefiningValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DefinedValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DefinedValues));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_DefiningUnit));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_DefinedUnit));data_->setArgument(6,attr);} if (v8_CurveInterpolation) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_CurveInterpolation,::Ifc4x1::IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } +Ifc4x1::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x1::IfcUnit* v6_DefiningUnit, ::Ifc4x1::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x1::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcPropertyTableValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_DefiningValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_DefiningValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DefinedValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DefinedValues));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_DefiningUnit));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_DefinedUnit));data_->setArgument(6,attr);} if (v8_CurveInterpolation) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_CurveInterpolation,::Ifc4x1::IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcPropertyTemplate @@ -17575,14 +17575,14 @@ boost::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value > Ifc4x1::IfcRein void Ifc4x1::IfcReinforcingBarType::setBarSurface(boost::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcReinforcingBarSurfaceEnum::ToString(*v)));}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4x1::IfcReinforcingBarType::BendingShapeCode() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } void Ifc4x1::IfcReinforcingBarType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x1::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(15); return v; } -void Ifc4x1::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } +boost::optional< aggregate_of< ::Ifc4x1::IfcBendingParameterSelect >::ptr > Ifc4x1::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x1::IfcBendingParameterSelect >::ptr v = *data_->getArgument(15); return v; } +void Ifc4x1::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x1::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } const IfcParse::entity& Ifc4x1::IfcReinforcingBarType::declaration() const { return *IFC4X1_IfcReinforcingBarType_type; } const IfcParse::entity& Ifc4x1::IfcReinforcingBarType::Class() { return *IFC4X1_IfcReinforcingBarType_type; } Ifc4x1::IfcReinforcingBarType::IfcReinforcingBarType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcReinforcingBarType_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of_instance::ptr > v16_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcReinforcingBarType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x1::IfcReinforcingBarTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_BarLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_BarLength));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_BarSurface) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_BarSurface,::Ifc4x1::IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_BendingShapeCode));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_BendingParameters));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } } +Ifc4x1::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x1::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcReinforcingBarType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x1::IfcReinforcingBarTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_BarLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_BarLength));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_BarSurface) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_BarSurface,::Ifc4x1::IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_BendingShapeCode));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_BendingParameters));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } } // Function implementations for IfcReinforcingElement boost::optional< std::string > Ifc4x1::IfcReinforcingElement::SteelGrade() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } @@ -17649,14 +17649,14 @@ boost::optional< double > Ifc4x1::IfcReinforcingMeshType::TransverseBarSpacing() void Ifc4x1::IfcReinforcingMeshType::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(17,attr);} } boost::optional< std::string > Ifc4x1::IfcReinforcingMeshType::BendingShapeCode() const { if(!data_->getArgument(18) || data_->getArgument(18)->isNull()) { return boost::none; } std::string v = *data_->getArgument(18); return v; } void Ifc4x1::IfcReinforcingMeshType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(18,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x1::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(19); return v; } -void Ifc4x1::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(19,attr);} } +boost::optional< aggregate_of< ::Ifc4x1::IfcBendingParameterSelect >::ptr > Ifc4x1::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x1::IfcBendingParameterSelect >::ptr v = *data_->getArgument(19); return v; } +void Ifc4x1::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x1::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(19,attr);} } const IfcParse::entity& Ifc4x1::IfcReinforcingMeshType::declaration() const { return *IFC4X1_IfcReinforcingMeshType_type; } const IfcParse::entity& Ifc4x1::IfcReinforcingMeshType::Class() { return *IFC4X1_IfcReinforcingMeshType_type; } Ifc4x1::IfcReinforcingMeshType::IfcReinforcingMeshType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcReinforcingMeshType_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of_instance::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcReinforcingMeshType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x1::IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshLength));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_MeshWidth));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LongitudinalBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TransverseBarNominalDiameter));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LongitudinalBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_TransverseBarCrossSectionArea));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LongitudinalBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_TransverseBarSpacing));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_BendingShapeCode));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_BendingParameters));data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } +Ifc4x1::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of< ::Ifc4x1::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcReinforcingMeshType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x1::IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshLength));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_MeshWidth));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LongitudinalBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TransverseBarNominalDiameter));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LongitudinalBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_TransverseBarCrossSectionArea));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LongitudinalBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_TransverseBarSpacing));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_BendingShapeCode));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_BendingParameters));data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } // Function implementations for IfcRelAggregates ::Ifc4x1::IfcObjectDefinition* Ifc4x1::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcObjectDefinition>(true); } @@ -17757,14 +17757,14 @@ Ifc4x1::IfcRelAssignsToResource::IfcRelAssignsToResource(IfcEntityInstanceData* Ifc4x1::IfcRelAssignsToResource::IfcRelAssignsToResource(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcResourceSelect* v7_RelatingResource) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelAssignsToResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x1::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingResource));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociates -aggregate_of_instance::ptr Ifc4x1::IfcRelAssociates::RelatedObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcRelAssociates::setRelatedObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr Ifc4x1::IfcRelAssociates::RelatedObjects() const { aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v = *data_->getArgument(4); return v; } +void Ifc4x1::IfcRelAssociates::setRelatedObjects(aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x1::IfcRelAssociates::declaration() const { return *IFC4X1_IfcRelAssociates_type; } const IfcParse::entity& Ifc4x1::IfcRelAssociates::Class() { return *IFC4X1_IfcRelAssociates_type; } Ifc4x1::IfcRelAssociates::IfcRelAssociates(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcRelAssociates_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} } +Ifc4x1::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} } // Function implementations for IfcRelAssociatesApproval ::Ifc4x1::IfcApproval* Ifc4x1::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcApproval>(true); } @@ -17774,7 +17774,7 @@ void Ifc4x1::IfcRelAssociatesApproval::setRelatingApproval(::Ifc4x1::IfcApproval const IfcParse::entity& Ifc4x1::IfcRelAssociatesApproval::declaration() const { return *IFC4X1_IfcRelAssociatesApproval_type; } const IfcParse::entity& Ifc4x1::IfcRelAssociatesApproval::Class() { return *IFC4X1_IfcRelAssociatesApproval_type; } Ifc4x1::IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcRelAssociatesApproval_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x1::IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } +Ifc4x1::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x1::IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesClassification ::Ifc4x1::IfcClassificationSelect* Ifc4x1::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcClassificationSelect>(true); } @@ -17784,7 +17784,7 @@ void Ifc4x1::IfcRelAssociatesClassification::setRelatingClassification(::Ifc4x1: const IfcParse::entity& Ifc4x1::IfcRelAssociatesClassification::declaration() const { return *IFC4X1_IfcRelAssociatesClassification_type; } const IfcParse::entity& Ifc4x1::IfcRelAssociatesClassification::Class() { return *IFC4X1_IfcRelAssociatesClassification_type; } Ifc4x1::IfcRelAssociatesClassification::IfcRelAssociatesClassification(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcRelAssociatesClassification_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x1::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelAssociatesClassification_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingClassification));data_->setArgument(5,attr);} } +Ifc4x1::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x1::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelAssociatesClassification_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingClassification));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesConstraint boost::optional< std::string > Ifc4x1::IfcRelAssociatesConstraint::Intent() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } @@ -17796,7 +17796,7 @@ void Ifc4x1::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc4x1::IfcCons const IfcParse::entity& Ifc4x1::IfcRelAssociatesConstraint::declaration() const { return *IFC4X1_IfcRelAssociatesConstraint_type; } const IfcParse::entity& Ifc4x1::IfcRelAssociatesConstraint::Class() { return *IFC4X1_IfcRelAssociatesConstraint_type; } Ifc4x1::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcRelAssociatesConstraint_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x1::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} if (v6_Intent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Intent));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } +Ifc4x1::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x1::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} if (v6_Intent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Intent));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociatesDocument ::Ifc4x1::IfcDocumentSelect* Ifc4x1::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcDocumentSelect>(true); } @@ -17806,7 +17806,7 @@ void Ifc4x1::IfcRelAssociatesDocument::setRelatingDocument(::Ifc4x1::IfcDocument const IfcParse::entity& Ifc4x1::IfcRelAssociatesDocument::declaration() const { return *IFC4X1_IfcRelAssociatesDocument_type; } const IfcParse::entity& Ifc4x1::IfcRelAssociatesDocument::Class() { return *IFC4X1_IfcRelAssociatesDocument_type; } Ifc4x1::IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcRelAssociatesDocument_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x1::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } +Ifc4x1::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x1::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesLibrary ::Ifc4x1::IfcLibrarySelect* Ifc4x1::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcLibrarySelect>(true); } @@ -17816,7 +17816,7 @@ void Ifc4x1::IfcRelAssociatesLibrary::setRelatingLibrary(::Ifc4x1::IfcLibrarySel const IfcParse::entity& Ifc4x1::IfcRelAssociatesLibrary::declaration() const { return *IFC4X1_IfcRelAssociatesLibrary_type; } const IfcParse::entity& Ifc4x1::IfcRelAssociatesLibrary::Class() { return *IFC4X1_IfcRelAssociatesLibrary_type; } Ifc4x1::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcRelAssociatesLibrary_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x1::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } +Ifc4x1::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x1::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesMaterial ::Ifc4x1::IfcMaterialSelect* Ifc4x1::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcMaterialSelect>(true); } @@ -17826,7 +17826,7 @@ void Ifc4x1::IfcRelAssociatesMaterial::setRelatingMaterial(::Ifc4x1::IfcMaterial const IfcParse::entity& Ifc4x1::IfcRelAssociatesMaterial::declaration() const { return *IFC4X1_IfcRelAssociatesMaterial_type; } const IfcParse::entity& Ifc4x1::IfcRelAssociatesMaterial::Class() { return *IFC4X1_IfcRelAssociatesMaterial_type; } Ifc4x1::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcRelAssociatesMaterial_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x1::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelAssociatesMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingMaterial));data_->setArgument(5,attr);} } +Ifc4x1::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x1::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelAssociatesMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingMaterial));data_->setArgument(5,attr);} } // Function implementations for IfcRelConnects @@ -17985,14 +17985,14 @@ Ifc4x1::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::Ifc4x1 // Function implementations for IfcRelDeclares ::Ifc4x1::IfcContext* Ifc4x1::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcContext>(true); } void Ifc4x1::IfcRelDeclares::setRelatingContext(::Ifc4x1::IfcContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -aggregate_of_instance::ptr Ifc4x1::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr v = *data_->getArgument(5); return v; } -void Ifc4x1::IfcRelDeclares::setRelatedDefinitions(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } +aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr Ifc4x1::IfcRelDeclares::RelatedDefinitions() const { aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v = *data_->getArgument(5); return v; } +void Ifc4x1::IfcRelDeclares::setRelatedDefinitions(aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x1::IfcRelDeclares::declaration() const { return *IFC4X1_IfcRelDeclares_type; } const IfcParse::entity& Ifc4x1::IfcRelDeclares::Class() { return *IFC4X1_IfcRelDeclares_type; } Ifc4x1::IfcRelDeclares::IfcRelDeclares(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcRelDeclares_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcContext* v5_RelatingContext, aggregate_of_instance::ptr v6_RelatedDefinitions) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelDeclares_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingContext));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedDefinitions));data_->setArgument(5,attr);} } +Ifc4x1::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelDeclares_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingContext));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedDefinitions));data_->setArgument(5,attr);} } // Function implementations for IfcRelDecomposes @@ -18306,8 +18306,8 @@ Ifc4x1::IfcResource::IfcResource(IfcEntityInstanceData* e) : IfcObject((IfcEntit Ifc4x1::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc4x1::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((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_LongDescription));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcResourceApprovalRelationship -aggregate_of_instance::ptr Ifc4x1::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr Ifc4x1::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x1::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4x1::IfcApproval* Ifc4x1::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcApproval>(true); } void Ifc4x1::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x1::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -18315,19 +18315,19 @@ void Ifc4x1::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x1::IfcA const IfcParse::entity& Ifc4x1::IfcResourceApprovalRelationship::declaration() const { return *IFC4X1_IfcResourceApprovalRelationship_type; } const IfcParse::entity& Ifc4x1::IfcResourceApprovalRelationship::Class() { return *IFC4X1_IfcResourceApprovalRelationship_type; } Ifc4x1::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcResourceApprovalRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_RelatedResourceObjects, ::Ifc4x1::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcResourceApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatedResourceObjects));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatingApproval));data_->setArgument(3,attr);} } +Ifc4x1::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x1::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcResourceApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatedResourceObjects));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatingApproval));data_->setArgument(3,attr);} } // Function implementations for IfcResourceConstraintRelationship ::Ifc4x1::IfcConstraint* Ifc4x1::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcConstraint>(true); } void Ifc4x1::IfcResourceConstraintRelationship::setRelatingConstraint(::Ifc4x1::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -aggregate_of_instance::ptr Ifc4x1::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } -void Ifc4x1::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr Ifc4x1::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr v = *data_->getArgument(3); return v; } +void Ifc4x1::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x1::IfcResourceConstraintRelationship::declaration() const { return *IFC4X1_IfcResourceConstraintRelationship_type; } const IfcParse::entity& Ifc4x1::IfcResourceConstraintRelationship::Class() { return *IFC4X1_IfcResourceConstraintRelationship_type; } Ifc4x1::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcResourceConstraintRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcConstraint* v3_RelatingConstraint, aggregate_of_instance::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcResourceConstraintRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingConstraint));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } +Ifc4x1::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcResourceConstraintRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingConstraint));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } // Function implementations for IfcResourceLevelRelationship boost::optional< std::string > Ifc4x1::IfcResourceLevelRelationship::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -18674,14 +18674,14 @@ Ifc4x1::IfcShapeRepresentation::IfcShapeRepresentation(IfcEntityInstanceData* e) Ifc4x1::IfcShapeRepresentation::IfcShapeRepresentation(::Ifc4x1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x1::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcShapeRepresentation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ContextOfItems));data_->setArgument(0,attr);} if (v2_RepresentationIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_RepresentationIdentifier));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_RepresentationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_RepresentationType));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Items)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcShellBasedSurfaceModel -aggregate_of_instance::ptr Ifc4x1::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x1::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x1::IfcShell >::ptr Ifc4x1::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of< ::Ifc4x1::IfcShell >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x1::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of< ::Ifc4x1::IfcShell >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x1::IfcShellBasedSurfaceModel::declaration() const { return *IFC4X1_IfcShellBasedSurfaceModel_type; } const IfcParse::entity& Ifc4x1::IfcShellBasedSurfaceModel::Class() { return *IFC4X1_IfcShellBasedSurfaceModel_type; } Ifc4x1::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcShellBasedSurfaceModel_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of_instance::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcShellBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SbsmBoundary));data_->setArgument(0,attr);} } +Ifc4x1::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4x1::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcShellBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SbsmBoundary));data_->setArgument(0,attr);} } // Function implementations for IfcSimpleProperty @@ -19442,8 +19442,8 @@ Ifc4x1::IfcStyleModel::IfcStyleModel(::Ifc4x1::IfcRepresentationContext* v1_Cont // Function implementations for IfcStyledItem ::Ifc4x1::IfcRepresentationItem* Ifc4x1::IfcStyledItem::Item() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcRepresentationItem>(true); } void Ifc4x1::IfcStyledItem::setItem(::Ifc4x1::IfcRepresentationItem* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of_instance::ptr Ifc4x1::IfcStyledItem::Styles() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcStyledItem::setStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x1::IfcStyleAssignmentSelect >::ptr Ifc4x1::IfcStyledItem::Styles() const { aggregate_of< ::Ifc4x1::IfcStyleAssignmentSelect >::ptr v = *data_->getArgument(1); return v; } +void Ifc4x1::IfcStyledItem::setStyles(aggregate_of< ::Ifc4x1::IfcStyleAssignmentSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x1::IfcStyledItem::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4x1::IfcStyledItem::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } @@ -19451,7 +19451,7 @@ void Ifc4x1::IfcStyledItem::setName(boost::optional< std::string > v) { {IfcWrit const IfcParse::entity& Ifc4x1::IfcStyledItem::declaration() const { return *IFC4X1_IfcStyledItem_type; } const IfcParse::entity& Ifc4x1::IfcStyledItem::Class() { return *IFC4X1_IfcStyledItem_type; } Ifc4x1::IfcStyledItem::IfcStyledItem(IfcEntityInstanceData* e) : IfcRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcStyledItem_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcStyledItem::IfcStyledItem(::Ifc4x1::IfcRepresentationItem* v1_Item, aggregate_of_instance::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcStyledItem_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Item));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Styles));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x1::IfcStyledItem::IfcStyledItem(::Ifc4x1::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc4x1::IfcStyleAssignmentSelect >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcStyledItem_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Item));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Styles));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcStyledRepresentation @@ -19578,14 +19578,14 @@ Ifc4x1::IfcSurfaceReinforcementArea::IfcSurfaceReinforcementArea(boost::optional // Function implementations for IfcSurfaceStyle ::Ifc4x1::IfcSurfaceSide::Value Ifc4x1::IfcSurfaceStyle::Side() const { return ::Ifc4x1::IfcSurfaceSide::FromString(*data_->getArgument(1)); } void Ifc4x1::IfcSurfaceStyle::setSide(::Ifc4x1::IfcSurfaceSide::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcSurfaceSide::ToString(v)));data_->setArgument(1,attr);} } -aggregate_of_instance::ptr Ifc4x1::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcSurfaceStyle::setStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x1::IfcSurfaceStyleElementSelect >::ptr Ifc4x1::IfcSurfaceStyle::Styles() const { aggregate_of< ::Ifc4x1::IfcSurfaceStyleElementSelect >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x1::IfcSurfaceStyle::setStyles(aggregate_of< ::Ifc4x1::IfcSurfaceStyleElementSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x1::IfcSurfaceStyle::declaration() const { return *IFC4X1_IfcSurfaceStyle_type; } const IfcParse::entity& Ifc4x1::IfcSurfaceStyle::Class() { return *IFC4X1_IfcSurfaceStyle_type; } Ifc4x1::IfcSurfaceStyle::IfcSurfaceStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcSurfaceStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x1::IfcSurfaceSide::Value v2_Side, aggregate_of_instance::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc4x1::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles));data_->setArgument(2,attr);} } +Ifc4x1::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x1::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x1::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc4x1::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles));data_->setArgument(2,attr);} } // Function implementations for IfcSurfaceStyleLighting ::Ifc4x1::IfcColourRgb* Ifc4x1::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcColourRgb>(true); } @@ -19839,8 +19839,8 @@ Ifc4x1::IfcTableColumn::IfcTableColumn(IfcEntityInstanceData* e) : IfcUtil::IfcB Ifc4x1::IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, ::Ifc4x1::IfcUnit* v4_Unit, ::Ifc4x1::IfcReference* v5_ReferencePath) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X1_IfcTableColumn_type); if (v1_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Identifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Name));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_ReferencePath));data_->setArgument(4,attr);} } // Function implementations for IfcTableRow -boost::optional< aggregate_of_instance::ptr > Ifc4x1::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x1::IfcTableRow::setRowCells(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } +boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > Ifc4x1::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x1::IfcValue >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x1::IfcTableRow::setRowCells(boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< bool > Ifc4x1::IfcTableRow::IsHeading() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } bool v = *data_->getArgument(1); return v; } void Ifc4x1::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } @@ -19848,7 +19848,7 @@ void Ifc4x1::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrite::I const IfcParse::entity& Ifc4x1::IfcTableRow::declaration() const { return *IFC4X1_IfcTableRow_type; } const IfcParse::entity& Ifc4x1::IfcTableRow::Class() { return *IFC4X1_IfcTableRow_type; } Ifc4x1::IfcTableRow::IfcTableRow(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X1_IfcTableRow_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcTableRow::IfcTableRow(boost::optional< aggregate_of_instance::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X1_IfcTableRow_type); if (v1_RowCells) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RowCells));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_IsHeading) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_IsHeading));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } +Ifc4x1::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X1_IfcTableRow_type); if (v1_RowCells) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RowCells));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_IsHeading) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_IsHeading));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcTank boost::optional< ::Ifc4x1::IfcTankTypeEnum::Value > Ifc4x1::IfcTank::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcTankTypeEnum::FromString(*data_->getArgument(8)); } @@ -20240,14 +20240,14 @@ Ifc4x1::IfcTimeSeries::IfcTimeSeries(IfcEntityInstanceData* e) : IfcUtil::IfcBas Ifc4x1::IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x1::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x1::IfcUnit* v8_Unit) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X1_IfcTimeSeries_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_StartTime));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EndTime));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_TimeSeriesDataType,::Ifc4x1::IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType))));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v6_DataOrigin,::Ifc4x1::IfcDataOriginEnum::ToString(v6_DataOrigin))));data_->setArgument(5,attr);} if (v7_UserDefinedDataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_UserDefinedDataOrigin));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Unit));data_->setArgument(7,attr);} } // Function implementations for IfcTimeSeriesValue -aggregate_of_instance::ptr Ifc4x1::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x1::IfcTimeSeriesValue::setListValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x1::IfcValue >::ptr Ifc4x1::IfcTimeSeriesValue::ListValues() const { aggregate_of< ::Ifc4x1::IfcValue >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x1::IfcTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x1::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x1::IfcTimeSeriesValue::declaration() const { return *IFC4X1_IfcTimeSeriesValue_type; } const IfcParse::entity& Ifc4x1::IfcTimeSeriesValue::Class() { return *IFC4X1_IfcTimeSeriesValue_type; } Ifc4x1::IfcTimeSeriesValue::IfcTimeSeriesValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X1_IfcTimeSeriesValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of_instance::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X1_IfcTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ListValues));data_->setArgument(0,attr);} } +Ifc4x1::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x1::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X1_IfcTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ListValues));data_->setArgument(0,attr);} } // Function implementations for IfcTopologicalRepresentationItem @@ -20380,10 +20380,10 @@ Ifc4x1::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(::Ifc4x // Function implementations for IfcTrimmedCurve ::Ifc4x1::IfcCurve* Ifc4x1::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcCurve>(true); } void Ifc4x1::IfcTrimmedCurve::setBasisCurve(::Ifc4x1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of_instance::ptr Ifc4x1::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcTrimmedCurve::setTrim1(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -aggregate_of_instance::ptr Ifc4x1::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcTrimmedCurve::setTrim2(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x1::IfcTrimmingSelect >::ptr Ifc4x1::IfcTrimmedCurve::Trim1() const { aggregate_of< ::Ifc4x1::IfcTrimmingSelect >::ptr v = *data_->getArgument(1); return v; } +void Ifc4x1::IfcTrimmedCurve::setTrim1(aggregate_of< ::Ifc4x1::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x1::IfcTrimmingSelect >::ptr Ifc4x1::IfcTrimmedCurve::Trim2() const { aggregate_of< ::Ifc4x1::IfcTrimmingSelect >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x1::IfcTrimmedCurve::setTrim2(aggregate_of< ::Ifc4x1::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } bool Ifc4x1::IfcTrimmedCurve::SenseAgreement() const { bool v = *data_->getArgument(3); return v; } void Ifc4x1::IfcTrimmedCurve::setSenseAgreement(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x1::IfcTrimmingPreference::Value Ifc4x1::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4x1::IfcTrimmingPreference::FromString(*data_->getArgument(4)); } @@ -20393,7 +20393,7 @@ void Ifc4x1::IfcTrimmedCurve::setMasterRepresentation(::Ifc4x1::IfcTrimmingPrefe const IfcParse::entity& Ifc4x1::IfcTrimmedCurve::declaration() const { return *IFC4X1_IfcTrimmedCurve_type; } const IfcParse::entity& Ifc4x1::IfcTrimmedCurve::Class() { return *IFC4X1_IfcTrimmedCurve_type; } Ifc4x1::IfcTrimmedCurve::IfcTrimmedCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcTrimmedCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x1::IfcCurve* v1_BasisCurve, aggregate_of_instance::ptr v2_Trim1, aggregate_of_instance::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x1::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcTrimmedCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Trim1));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Trim2));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SenseAgreement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_MasterRepresentation,::Ifc4x1::IfcTrimmingPreference::ToString(v5_MasterRepresentation))));data_->setArgument(4,attr);} } +Ifc4x1::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x1::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x1::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x1::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x1::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcTrimmedCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Trim1));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Trim2));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SenseAgreement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_MasterRepresentation,::Ifc4x1::IfcTrimmingPreference::ToString(v5_MasterRepresentation))));data_->setArgument(4,attr);} } // Function implementations for IfcTubeBundle boost::optional< ::Ifc4x1::IfcTubeBundleTypeEnum::Value > Ifc4x1::IfcTubeBundle::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcTubeBundleTypeEnum::FromString(*data_->getArgument(8)); } @@ -20494,14 +20494,14 @@ Ifc4x1::IfcUShapeProfileDef::IfcUShapeProfileDef(IfcEntityInstanceData* e) : Ifc Ifc4x1::IfcUShapeProfileDef::IfcUShapeProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x1::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((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcUShapeProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4x1::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_FlangeWidth));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_WebThickness));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_FlangeThickness));data_->setArgument(6,attr);} if (v8_FilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_FilletRadius));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_EdgeRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_EdgeRadius));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_FlangeSlope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_FlangeSlope));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcUnitAssignment -aggregate_of_instance::ptr Ifc4x1::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x1::IfcUnitAssignment::setUnits(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x1::IfcUnit >::ptr Ifc4x1::IfcUnitAssignment::Units() const { aggregate_of< ::Ifc4x1::IfcUnit >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x1::IfcUnitAssignment::setUnits(aggregate_of< ::Ifc4x1::IfcUnit >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x1::IfcUnitAssignment::declaration() const { return *IFC4X1_IfcUnitAssignment_type; } const IfcParse::entity& Ifc4x1::IfcUnitAssignment::Class() { return *IFC4X1_IfcUnitAssignment_type; } Ifc4x1::IfcUnitAssignment::IfcUnitAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X1_IfcUnitAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcUnitAssignment::IfcUnitAssignment(aggregate_of_instance::ptr v1_Units) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X1_IfcUnitAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Units));data_->setArgument(0,attr);} } +Ifc4x1::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4x1::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X1_IfcUnitAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Units));data_->setArgument(0,attr);} } // Function implementations for IfcUnitaryControlElement boost::optional< ::Ifc4x1::IfcUnitaryControlElementTypeEnum::Value > Ifc4x1::IfcUnitaryControlElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcUnitaryControlElementTypeEnum::FromString(*data_->getArgument(8)); } diff --git a/src/ifcparse/Ifc4x1.h b/src/ifcparse/Ifc4x1.h index c2e6ba7490..d6b3731e83 100644 --- a/src/ifcparse/Ifc4x1.h +++ b/src/ifcparse/Ifc4x1.h @@ -10510,12 +10510,12 @@ public: std::string TimeStamp() const; void setTimeStamp(std::string v); /// A list of time-series values. At least one value is required. - aggregate_of_instance::ptr ListValues() const; - void setListValues(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x1::IfcValue >::ptr ListValues() const; + void setListValues(aggregate_of< ::Ifc4x1::IfcValue >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcIrregularTimeSeriesValue (IfcEntityInstanceData* e); - IfcIrregularTimeSeriesValue (std::string v1_TimeStamp, aggregate_of_instance::ptr v2_ListValues); + IfcIrregularTimeSeriesValue (std::string v1_TimeStamp, aggregate_of< ::Ifc4x1::IfcValue >::ptr v2_ListValues); typedef aggregate_of< 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. @@ -10689,15 +10689,15 @@ public: class IFC_PARSE_API IfcMaterialClassificationRelationship : public IfcUtil::IfcBaseEntity { public: /// The material classifications identifying the type of material. - aggregate_of_instance::ptr MaterialClassifications() const; - void setMaterialClassifications(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x1::IfcClassificationSelect >::ptr MaterialClassifications() const; + void setMaterialClassifications(aggregate_of< ::Ifc4x1::IfcClassificationSelect >::ptr v); /// Material being classified. ::Ifc4x1::IfcMaterial* ClassifiedMaterial() const; void setClassifiedMaterial(::Ifc4x1::IfcMaterial* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcMaterialClassificationRelationship (IfcEntityInstanceData* e); - IfcMaterialClassificationRelationship (aggregate_of_instance::ptr v1_MaterialClassifications, ::Ifc4x1::IfcMaterial* v2_ClassifiedMaterial); + IfcMaterialClassificationRelationship (aggregate_of< ::Ifc4x1::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x1::IfcMaterial* v2_ClassifiedMaterial); typedef aggregate_of< IfcMaterialClassificationRelationship > list; }; /// IfcMaterialDefinition is a general supertype for all @@ -11487,15 +11487,15 @@ public: boost::optional< std::string > Description() const; void setDescription(boost::optional< std::string > v); /// The set of layered items, which are assigned to this layer. - aggregate_of_instance::ptr AssignedItems() const; - void setAssignedItems(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x1::IfcLayeredItem >::ptr AssignedItems() const; + void setAssignedItems(aggregate_of< ::Ifc4x1::IfcLayeredItem >::ptr v); /// An (internal) identifier assigned to the layer. boost::optional< std::string > Identifier() const; void setIdentifier(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPresentationLayerAssignment (IfcEntityInstanceData* e); - IfcPresentationLayerAssignment (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier); + IfcPresentationLayerAssignment (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x1::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier); typedef aggregate_of< IfcPresentationLayerAssignment > list; }; /// An IfcPresentationLayerAssignmentWithStyle extends the presentation layer assignment with capabilities to define visibility control, access control and common style information. @@ -11532,7 +11532,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPresentationLayerWithStyle (IfcEntityInstanceData* e); - IfcPresentationLayerWithStyle (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x1::IfcPresentationStyle >::ptr v8_LayerStyles); + IfcPresentationLayerWithStyle (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x1::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x1::IfcPresentationStyle >::ptr v8_LayerStyles); typedef aggregate_of< 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. @@ -11559,12 +11559,12 @@ public: class IFC_PARSE_API IfcPresentationStyleAssignment : public IfcUtil::IfcBaseEntity, public IfcStyleAssignmentSelect { public: /// A set of presentation styles that are assigned to styled items. - aggregate_of_instance::ptr Styles() const; - void setStyles(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x1::IfcPresentationStyleSelect >::ptr Styles() const; + void setStyles(aggregate_of< ::Ifc4x1::IfcPresentationStyleSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPresentationStyleAssignment (IfcEntityInstanceData* e); - IfcPresentationStyleAssignment (aggregate_of_instance::ptr v1_Styles); + IfcPresentationStyleAssignment (aggregate_of< ::Ifc4x1::IfcPresentationStyleSelect >::ptr v1_Styles); typedef aggregate_of< IfcPresentationStyleAssignment > list; }; /// IfcProductRepresentation defines a representation of a @@ -11896,15 +11896,15 @@ public: std::string Name() const; void setName(std::string v); /// List of values that form the enumeration. - aggregate_of_instance::ptr EnumerationValues() const; - void setEnumerationValues(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x1::IfcValue >::ptr EnumerationValues() const; + void setEnumerationValues(aggregate_of< ::Ifc4x1::IfcValue >::ptr v); /// 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. ::Ifc4x1::IfcUnit* Unit() const; void setUnit(::Ifc4x1::IfcUnit* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyEnumeration (IfcEntityInstanceData* e); - IfcPropertyEnumeration (std::string v1_Name, aggregate_of_instance::ptr v2_EnumerationValues, ::Ifc4x1::IfcUnit* v3_Unit); + IfcPropertyEnumeration (std::string v1_Name, aggregate_of< ::Ifc4x1::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x1::IfcUnit* v3_Unit); typedef aggregate_of< 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. @@ -12754,15 +12754,15 @@ public: /// for file based exchange. /// /// NOTE Only the select item IfcPresentationStyle shall be used from IFC2x4 onwards, the IfcPresentationStyleAssignment has been deprecated. - aggregate_of_instance::ptr Styles() const; - void setStyles(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x1::IfcStyleAssignmentSelect >::ptr Styles() const; + void setStyles(aggregate_of< ::Ifc4x1::IfcStyleAssignmentSelect >::ptr v); /// The word, or group of words, by which the styled item is referred to. boost::optional< std::string > Name() const; void setName(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcStyledItem (IfcEntityInstanceData* e); - IfcStyledItem (::Ifc4x1::IfcRepresentationItem* v1_Item, aggregate_of_instance::ptr v2_Styles, boost::optional< std::string > v3_Name); + IfcStyledItem (::Ifc4x1::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc4x1::IfcStyleAssignmentSelect >::ptr v2_Styles, boost::optional< std::string > v3_Name); typedef aggregate_of< 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. @@ -12815,12 +12815,12 @@ public: ::Ifc4x1::IfcSurfaceSide::Value Side() const; void setSide(::Ifc4x1::IfcSurfaceSide::Value v); /// A collection of different surface styles. - aggregate_of_instance::ptr Styles() const; - void setStyles(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x1::IfcSurfaceStyleElementSelect >::ptr Styles() const; + void setStyles(aggregate_of< ::Ifc4x1::IfcSurfaceStyleElementSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSurfaceStyle (IfcEntityInstanceData* e); - IfcSurfaceStyle (boost::optional< std::string > v1_Name, ::Ifc4x1::IfcSurfaceSide::Value v2_Side, aggregate_of_instance::ptr v3_Styles); + IfcSurfaceStyle (boost::optional< std::string > v1_Name, ::Ifc4x1::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x1::IfcSurfaceStyleElementSelect >::ptr v3_Styles); typedef aggregate_of< IfcSurfaceStyle > list; }; /// IfcSurfaceStyleLighting is a container class for properties for calculation of physically exact illuminance related to a particular surface style. @@ -13129,15 +13129,15 @@ public: class IFC_PARSE_API IfcTableRow : public IfcUtil::IfcBaseEntity { public: /// The data value of the table cell.. - boost::optional< aggregate_of_instance::ptr > RowCells() const; - void setRowCells(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > RowCells() const; + void setRowCells(boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::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. boost::optional< bool > IsHeading() const; void setIsHeading(boost::optional< bool > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTableRow (IfcEntityInstanceData* e); - IfcTableRow (boost::optional< aggregate_of_instance::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading); + IfcTableRow (boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading); typedef aggregate_of< IfcTableRow > list; }; /// IfcTaskTime captures the time-related information about a task including the different types (actual or scheduled) of starting and ending times. @@ -13686,12 +13686,12 @@ public: class IFC_PARSE_API IfcTimeSeriesValue : public IfcUtil::IfcBaseEntity { public: /// A list of time-series values. At least one value is required. - aggregate_of_instance::ptr ListValues() const; - void setListValues(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x1::IfcValue >::ptr ListValues() const; + void setListValues(aggregate_of< ::Ifc4x1::IfcValue >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTimeSeriesValue (IfcEntityInstanceData* e); - IfcTimeSeriesValue (aggregate_of_instance::ptr v1_ListValues); + IfcTimeSeriesValue (aggregate_of< ::Ifc4x1::IfcValue >::ptr v1_ListValues); typedef aggregate_of< IfcTimeSeriesValue > list; }; /// Definition from ISO/CD 10303-42:1992: The topological representation item is the supertype for all the topological representation items in the geometry resource. @@ -13757,12 +13757,12 @@ public: class IFC_PARSE_API IfcUnitAssignment : public IfcUtil::IfcBaseEntity { public: /// Units to be included within a unit assignment. - aggregate_of_instance::ptr Units() const; - void setUnits(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x1::IfcUnit >::ptr Units() const; + void setUnits(aggregate_of< ::Ifc4x1::IfcUnit >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcUnitAssignment (IfcEntityInstanceData* e); - IfcUnitAssignment (aggregate_of_instance::ptr v1_Units); + IfcUnitAssignment (aggregate_of< ::Ifc4x1::IfcUnit >::ptr v1_Units); typedef aggregate_of< IfcUnitAssignment > list; }; /// Definition from ISO/CD 10303-42:1992: A vertex is the topological construct corresponding to a point. It has dimensionality 0 and extent 0. The domain of a vertex, if present, is a point in m dimensional real space RM; this is represented by the vertex point subtype. @@ -14738,8 +14738,8 @@ public: ::Ifc4x1::IfcActorSelect* DocumentOwner() const; void setDocumentOwner(::Ifc4x1::IfcActorSelect* v); /// The persons and/or organizations who have created this document or contributed to it. - boost::optional< aggregate_of_instance::ptr > Editors() const; - void setEditors(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x1::IfcActorSelect >::ptr > Editors() const; + void setEditors(boost::optional< aggregate_of< ::Ifc4x1::IfcActorSelect >::ptr > v); /// 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. @@ -14780,7 +14780,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcDocumentInformation (IfcEntityInstanceData* e); - 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, ::Ifc4x1::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of_instance::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< ::Ifc4x1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x1::IfcDocumentStatusEnum::Value > 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, ::Ifc4x1::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x1::IfcActorSelect >::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< ::Ifc4x1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x1::IfcDocumentStatusEnum::Value > v17_Status); typedef aggregate_of< IfcDocumentInformation > list; }; /// An IfcDocumentInformationRelationship is a relationship class that enables a document to have the ability to reference other documents. @@ -15021,12 +15021,12 @@ public: ::Ifc4x1::IfcExternalReference* RelatingReference() const; void setRelatingReference(::Ifc4x1::IfcExternalReference* v); /// Objects within the list of IfcResourceObjectSelect that can be tagged by an external reference to a dictionary, library, catalogue, classification or documentation. - aggregate_of_instance::ptr RelatedResourceObjects() const; - void setRelatedResourceObjects(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr RelatedResourceObjects() const; + void setRelatedResourceObjects(aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcExternalReferenceRelationship (IfcEntityInstanceData* e); - IfcExternalReferenceRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcExternalReference* v3_RelatingReference, aggregate_of_instance::ptr v4_RelatedResourceObjects); + IfcExternalReferenceRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects); typedef aggregate_of< IfcExternalReferenceRelationship > list; }; /// Definition from ISO/CD 10303-42:1992: A face is a topological @@ -15237,14 +15237,14 @@ public: class IFC_PARSE_API IfcFillAreaStyle : public IfcPresentationStyle, public IfcPresentationStyleSelect { public: /// The set of fill area styles to use in presenting visible curve segments, annotation fill areas or surfaces. - aggregate_of_instance::ptr FillStyles() const; - void setFillStyles(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x1::IfcFillStyleSelect >::ptr FillStyles() const; + void setFillStyles(aggregate_of< ::Ifc4x1::IfcFillStyleSelect >::ptr v); boost::optional< bool > ModelorDraughting() const; void setModelorDraughting(boost::optional< bool > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcFillAreaStyle (IfcEntityInstanceData* e); - IfcFillAreaStyle (boost::optional< std::string > v1_Name, aggregate_of_instance::ptr v2_FillStyles, boost::optional< bool > v3_ModelorDraughting); + IfcFillAreaStyle (boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x1::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelorDraughting); typedef aggregate_of< IfcFillAreaStyle > list; }; /// Definition from ISO/CD 10303-42:1992: A geometric @@ -15398,12 +15398,12 @@ public: class IFC_PARSE_API 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. - aggregate_of_instance::ptr Elements() const; - void setElements(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x1::IfcGeometricSetSelect >::ptr Elements() const; + void setElements(aggregate_of< ::Ifc4x1::IfcGeometricSetSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcGeometricSet (IfcEntityInstanceData* e); - IfcGeometricSet (aggregate_of_instance::ptr v1_Elements); + IfcGeometricSet (aggregate_of< ::Ifc4x1::IfcGeometricSetSelect >::ptr v1_Elements); typedef aggregate_of< IfcGeometricSet > list; }; /// IfcGridPlacement provides a specialization of IfcObjectPlacement in which @@ -17400,15 +17400,15 @@ public: class IFC_PARSE_API IfcResourceApprovalRelationship : public IfcResourceLevelRelationship { public: /// Resource objects that are approved. - aggregate_of_instance::ptr RelatedResourceObjects() const; - void setRelatedResourceObjects(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr RelatedResourceObjects() const; + void setRelatedResourceObjects(aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr v); /// The approval for the resource objects selected. ::Ifc4x1::IfcApproval* RelatingApproval() const; void setRelatingApproval(::Ifc4x1::IfcApproval* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcResourceApprovalRelationship (IfcEntityInstanceData* e); - IfcResourceApprovalRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_RelatedResourceObjects, ::Ifc4x1::IfcApproval* v4_RelatingApproval); + IfcResourceApprovalRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x1::IfcApproval* v4_RelatingApproval); typedef aggregate_of< IfcResourceApprovalRelationship > list; }; /// An IfcResourceConstraintRelationship is a relationship @@ -17437,12 +17437,12 @@ public: ::Ifc4x1::IfcConstraint* RelatingConstraint() const; void setRelatingConstraint(::Ifc4x1::IfcConstraint* v); /// The properties to which a constraint is to be related. - aggregate_of_instance::ptr RelatedResourceObjects() const; - void setRelatedResourceObjects(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr RelatedResourceObjects() const; + void setRelatedResourceObjects(aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcResourceConstraintRelationship (IfcEntityInstanceData* e); - IfcResourceConstraintRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcConstraint* v3_RelatingConstraint, aggregate_of_instance::ptr v4_RelatedResourceObjects); + IfcResourceConstraintRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects); typedef aggregate_of< IfcResourceConstraintRelationship > list; }; /// IfcResourceTime captures the time-related information about a construction resource. @@ -17687,12 +17687,12 @@ public: /// The shells shall not overlap or intersect except at common faces, edges or vertices. class IFC_PARSE_API IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { public: - aggregate_of_instance::ptr SbsmBoundary() const; - void setSbsmBoundary(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x1::IfcShell >::ptr SbsmBoundary() const; + void setSbsmBoundary(aggregate_of< ::Ifc4x1::IfcShell >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcShellBasedSurfaceModel (IfcEntityInstanceData* e); - IfcShellBasedSurfaceModel (aggregate_of_instance::ptr v1_SbsmBoundary); + IfcShellBasedSurfaceModel (aggregate_of< ::Ifc4x1::IfcShell >::ptr v1_SbsmBoundary); typedef aggregate_of< IfcShellBasedSurfaceModel > 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. @@ -20742,7 +20742,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcGeometricCurveSet (IfcEntityInstanceData* e); - IfcGeometricCurveSet (aggregate_of_instance::ptr v1_Elements); + IfcGeometricCurveSet (aggregate_of< ::Ifc4x1::IfcGeometricSetSelect >::ptr v1_Elements); typedef aggregate_of< IfcGeometricCurveSet > list; }; /// IfcIShapeProfileDef @@ -21858,15 +21858,15 @@ 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. - boost::optional< aggregate_of_instance::ptr > EnumerationValues() const; - void setEnumerationValues(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > EnumerationValues() const; + void setEnumerationValues(boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v); /// Enumeration from which a enumeration value has been selected. The referenced enumeration also establishes the unit of the enumeration value. ::Ifc4x1::IfcPropertyEnumeration* EnumerationReference() const; void setEnumerationReference(::Ifc4x1::IfcPropertyEnumeration* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyEnumeratedValue (IfcEntityInstanceData* e); - IfcPropertyEnumeratedValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of_instance::ptr > v3_EnumerationValues, ::Ifc4x1::IfcPropertyEnumeration* v4_EnumerationReference); + IfcPropertyEnumeratedValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x1::IfcPropertyEnumeration* v4_EnumerationReference); typedef aggregate_of< IfcPropertyEnumeratedValue > list; }; /// An IfcPropertyListValue @@ -21939,15 +21939,15 @@ public: /// List of property values. /// /// IFC2x4 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. - boost::optional< aggregate_of_instance::ptr > ListValues() const; - void setListValues(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > ListValues() const; + void setListValues(boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v); /// 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. ::Ifc4x1::IfcUnit* Unit() const; void setUnit(::Ifc4x1::IfcUnit* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyListValue (IfcEntityInstanceData* e); - IfcPropertyListValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of_instance::ptr > v3_ListValues, ::Ifc4x1::IfcUnit* v4_Unit); + IfcPropertyListValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v3_ListValues, ::Ifc4x1::IfcUnit* v4_Unit); typedef aggregate_of< IfcPropertyListValue > list; }; /// IfcPropertyReferenceValue allows a property value to @@ -22287,13 +22287,13 @@ 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. - boost::optional< aggregate_of_instance::ptr > DefiningValues() const; - void setDefiningValues(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > DefiningValues() const; + void setDefiningValues(boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::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. - boost::optional< aggregate_of_instance::ptr > DefinedValues() const; - void setDefinedValues(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > DefinedValues() const; + void setDefinedValues(boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v); /// 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. boost::optional< std::string > Expression() const; void setExpression(boost::optional< std::string > v); @@ -22311,7 +22311,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyTableValue (IfcEntityInstanceData* e); - IfcPropertyTableValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of_instance::ptr > v3_DefiningValues, boost::optional< aggregate_of_instance::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x1::IfcUnit* v6_DefiningUnit, ::Ifc4x1::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x1::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation); + IfcPropertyTableValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x1::IfcUnit* v6_DefiningUnit, ::Ifc4x1::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x1::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation); typedef aggregate_of< IfcPropertyTableValue > list; }; /// The IfcPropertyTemplate is an abstract supertype @@ -22837,12 +22837,12 @@ 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. - aggregate_of_instance::ptr RelatedObjects() const; - void setRelatedObjects(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr RelatedObjects() const; + void setRelatedObjects(aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociates (IfcEntityInstanceData* e); - IfcRelAssociates (std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects); + IfcRelAssociates (std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v5_RelatedObjects); typedef aggregate_of< IfcRelAssociates > list; }; /// The entity IfcRelAssociatesApproval is used to apply approval information defined by IfcApproval, in IfcApprovalResource schema, to subtypes of IfcRoot. @@ -22856,7 +22856,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesApproval (IfcEntityInstanceData* e); - IfcRelAssociatesApproval (std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x1::IfcApproval* v6_RelatingApproval); + IfcRelAssociatesApproval (std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x1::IfcApproval* v6_RelatingApproval); typedef aggregate_of< IfcRelAssociatesApproval > list; }; /// The objectified relationship @@ -22897,7 +22897,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesClassification (IfcEntityInstanceData* e); - IfcRelAssociatesClassification (std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x1::IfcClassificationSelect* v6_RelatingClassification); + IfcRelAssociatesClassification (std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x1::IfcClassificationSelect* v6_RelatingClassification); typedef aggregate_of< IfcRelAssociatesClassification > list; }; /// The entity IfcRelAssociatesConstraint is used to apply constraint information defined by IfcConstraint, in the IfcConstraintResource schema, to subtypes of IfcRoot. @@ -22914,7 +22914,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesConstraint (IfcEntityInstanceData* e); - IfcRelAssociatesConstraint (std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x1::IfcConstraint* v7_RelatingConstraint); + IfcRelAssociatesConstraint (std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x1::IfcConstraint* v7_RelatingConstraint); typedef aggregate_of< 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). @@ -22932,7 +22932,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesDocument (IfcEntityInstanceData* e); - IfcRelAssociatesDocument (std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x1::IfcDocumentSelect* v6_RelatingDocument); + IfcRelAssociatesDocument (std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x1::IfcDocumentSelect* v6_RelatingDocument); typedef aggregate_of< IfcRelAssociatesDocument > list; }; /// The objectified relationship (IfcRelAssociatesLibrary) handles the assignment of a library item (items of the select IfcLibrarySelect) to subtypes of IfcObjectDefinition or IfcPropertyDefinition. @@ -22950,7 +22950,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesLibrary (IfcEntityInstanceData* e); - IfcRelAssociatesLibrary (std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x1::IfcLibrarySelect* v6_RelatingLibrary); + IfcRelAssociatesLibrary (std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x1::IfcLibrarySelect* v6_RelatingLibrary); typedef aggregate_of< IfcRelAssociatesLibrary > list; }; /// Definition from IAI: Objectified relationship between a @@ -23055,7 +23055,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesMaterial (IfcEntityInstanceData* e); - IfcRelAssociatesMaterial (std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x1::IfcMaterialSelect* v6_RelatingMaterial); + IfcRelAssociatesMaterial (std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x1::IfcMaterialSelect* v6_RelatingMaterial); typedef aggregate_of< 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. @@ -23528,12 +23528,12 @@ public: ::Ifc4x1::IfcContext* RelatingContext() const; void setRelatingContext(::Ifc4x1::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. - aggregate_of_instance::ptr RelatedDefinitions() const; - void setRelatedDefinitions(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr RelatedDefinitions() const; + void setRelatedDefinitions(aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelDeclares (IfcEntityInstanceData* e); - IfcRelDeclares (std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcContext* v5_RelatingContext, aggregate_of_instance::ptr v6_RelatedDefinitions); + IfcRelDeclares (std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v6_RelatedDefinitions); typedef aggregate_of< IfcRelDeclares > list; }; /// The decomposition relationship, @@ -30737,14 +30737,14 @@ class IFC_PARSE_API IfcIndexedPolyCurve : public IfcBoundedCurve { public: ::Ifc4x1::IfcCartesianPointList* Points() const; void setPoints(::Ifc4x1::IfcCartesianPointList* v); - boost::optional< aggregate_of_instance::ptr > Segments() const; - void setSegments(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x1::IfcSegmentIndexSelect >::ptr > Segments() const; + void setSegments(boost::optional< aggregate_of< ::Ifc4x1::IfcSegmentIndexSelect >::ptr > v); boost::optional< bool > SelfIntersect() const; void setSelfIntersect(boost::optional< bool > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcIndexedPolyCurve (IfcEntityInstanceData* e); - IfcIndexedPolyCurve (::Ifc4x1::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of_instance::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect); + IfcIndexedPolyCurve (::Ifc4x1::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x1::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect); typedef aggregate_of< IfcIndexedPolyCurve > list; }; /// The flow treatment device type IfcInterceptorType defines commonly shared information for occurrences of interceptors. The set of shared information may include: @@ -32759,12 +32759,12 @@ public: void setTransverseBarSpacing(boost::optional< double > v); boost::optional< std::string > BendingShapeCode() const; void setBendingShapeCode(boost::optional< std::string > v); - boost::optional< aggregate_of_instance::ptr > BendingParameters() const; - void setBendingParameters(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x1::IfcBendingParameterSelect >::ptr > BendingParameters() const; + void setBendingParameters(boost::optional< aggregate_of< ::Ifc4x1::IfcBendingParameterSelect >::ptr > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcReinforcingMeshType (IfcEntityInstanceData* e); - IfcReinforcingMeshType (std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of_instance::ptr > v20_BendingParameters); + IfcReinforcingMeshType (std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of< ::Ifc4x1::IfcBendingParameterSelect >::ptr > v20_BendingParameters); typedef aggregate_of< IfcReinforcingMeshType > list; }; /// The aggregation relationship @@ -34958,11 +34958,11 @@ public: ::Ifc4x1::IfcCurve* BasisCurve() const; void setBasisCurve(::Ifc4x1::IfcCurve* v); /// The first trimming point which may be specified as a Cartesian point, as a real parameter or both. - aggregate_of_instance::ptr Trim1() const; - void setTrim1(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x1::IfcTrimmingSelect >::ptr Trim1() const; + void setTrim1(aggregate_of< ::Ifc4x1::IfcTrimmingSelect >::ptr v); /// The second trimming point which may be specified as a Cartesian point, as a real parameter or both. - aggregate_of_instance::ptr Trim2() const; - void setTrim2(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x1::IfcTrimmingSelect >::ptr Trim2() const; + void setTrim2(aggregate_of< ::Ifc4x1::IfcTrimmingSelect >::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); @@ -34972,7 +34972,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTrimmedCurve (IfcEntityInstanceData* e); - IfcTrimmedCurve (::Ifc4x1::IfcCurve* v1_BasisCurve, aggregate_of_instance::ptr v2_Trim1, aggregate_of_instance::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x1::IfcTrimmingPreference::Value v5_MasterRepresentation); + IfcTrimmedCurve (::Ifc4x1::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x1::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x1::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x1::IfcTrimmingPreference::Value v5_MasterRepresentation); typedef aggregate_of< IfcTrimmedCurve > list; }; /// The energy conversion device type IfcTubeBundleType defines commonly shared information for occurrences of tube bundles. The set of shared information may include: @@ -43885,12 +43885,12 @@ public: void setBarSurface(boost::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value > v); boost::optional< std::string > BendingShapeCode() const; void setBendingShapeCode(boost::optional< std::string > v); - boost::optional< aggregate_of_instance::ptr > BendingParameters() const; - void setBendingParameters(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x1::IfcBendingParameterSelect >::ptr > BendingParameters() const; + void setBendingParameters(boost::optional< aggregate_of< ::Ifc4x1::IfcBendingParameterSelect >::ptr > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcReinforcingBarType (IfcEntityInstanceData* e); - IfcReinforcingBarType (std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of_instance::ptr > v16_BendingParameters); + IfcReinforcingBarType (std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x1::IfcBendingParameterSelect >::ptr > v16_BendingParameters); typedef aggregate_of< IfcReinforcingBarType > list; }; /// Definition from ISO 6707-1:1989: Construction enclosing the building from above. diff --git a/src/ifcparse/Ifc4x2-definitions.h b/src/ifcparse/Ifc4x2-definitions.h index 8cc34cbc83..85c8a531f0 100644 --- a/src/ifcparse/Ifc4x2-definitions.h +++ b/src/ifcparse/Ifc4x2-definitions.h @@ -3805,3 +3805,52 @@ #define SCHEMA_HAS_IfcZone #define SCHEMA_IfcZone_HAS_LongName #define SCHEMA_IfcZone_LongName_IS_OPTIONAL +#define SCHEMA_HAS_IfcRepresentationContextSameWCS +#define SCHEMA_HAS_IfcSingleProjectInstance +#define SCHEMA_HAS_IfcAssociatedSurface +#define SCHEMA_HAS_IfcBaseAxis +#define SCHEMA_HAS_IfcBooleanChoose +#define SCHEMA_HAS_IfcBuild2Axes +#define SCHEMA_HAS_IfcBuildAxes +#define SCHEMA_HAS_IfcConsecutiveSegments +#define SCHEMA_HAS_IfcConstraintsParamBSpline +#define SCHEMA_HAS_IfcConvertDirectionInto2D +#define SCHEMA_HAS_IfcCorrectDimensions +#define SCHEMA_HAS_IfcCorrectFillAreaStyle +#define SCHEMA_HAS_IfcCorrectLocalPlacement +#define SCHEMA_HAS_IfcCorrectObjectAssignment +#define SCHEMA_HAS_IfcCorrectUnitAssignment +#define SCHEMA_HAS_IfcCrossProduct +#define SCHEMA_HAS_IfcCurveDim +#define SCHEMA_HAS_IfcCurveWeightsPositive +#define SCHEMA_HAS_IfcDeriveDimensionalExponents +#define SCHEMA_HAS_IfcDimensionsForSiUnit +#define SCHEMA_HAS_IfcDotProduct +#define SCHEMA_HAS_IfcFirstProjAxis +#define SCHEMA_HAS_IfcGetBasisSurface +#define SCHEMA_HAS_IfcListToArray +#define SCHEMA_HAS_IfcLoopHeadToTail +#define SCHEMA_HAS_IfcMakeArrayOfArray +#define SCHEMA_HAS_IfcMlsTotalThickness +#define SCHEMA_HAS_IfcNormalise +#define SCHEMA_HAS_IfcOrthogonalComplement +#define SCHEMA_HAS_IfcPathHeadToTail +#define SCHEMA_HAS_IfcPointListDim +#define SCHEMA_HAS_IfcSameAxis2Placement +#define SCHEMA_HAS_IfcSameCartesianPoint +#define SCHEMA_HAS_IfcSameDirection +#define SCHEMA_HAS_IfcSameValidPrecision +#define SCHEMA_HAS_IfcSameValue +#define SCHEMA_HAS_IfcScalarTimesVector +#define SCHEMA_HAS_IfcSecondProjAxis +#define SCHEMA_HAS_IfcShapeRepresentationTypes +#define SCHEMA_HAS_IfcSurfaceWeightsPositive +#define SCHEMA_HAS_IfcTaperedSweptAreaProfiles +#define SCHEMA_HAS_IfcTopologyRepresentationTypes +#define SCHEMA_HAS_IfcUniqueDefinitionNames +#define SCHEMA_HAS_IfcUniquePropertyName +#define SCHEMA_HAS_IfcUniquePropertySetNames +#define SCHEMA_HAS_IfcUniquePropertyTemplateNames +#define SCHEMA_HAS_IfcUniqueQuantityNames +#define SCHEMA_HAS_IfcVectorDifference +#define SCHEMA_HAS_IfcVectorSum diff --git a/src/ifcparse/Ifc4x2.cpp b/src/ifcparse/Ifc4x2.cpp index 3e31975014..3848d6a3aa 100644 --- a/src/ifcparse/Ifc4x2.cpp +++ b/src/ifcparse/Ifc4x2.cpp @@ -14094,8 +14094,8 @@ boost::optional< std::string > Ifc4x2::IfcDocumentInformation::Revision() const void Ifc4x2::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x2::IfcActorSelect* Ifc4x2::IfcDocumentInformation::DocumentOwner() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x2::IfcActorSelect>(true); } void Ifc4x2::IfcDocumentInformation::setDocumentOwner(::Ifc4x2::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x2::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(9); return v; } -void Ifc4x2::IfcDocumentInformation::setEditors(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } +boost::optional< aggregate_of< ::Ifc4x2::IfcActorSelect >::ptr > Ifc4x2::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x2::IfcActorSelect >::ptr v = *data_->getArgument(9); return v; } +void Ifc4x2::IfcDocumentInformation::setEditors(boost::optional< aggregate_of< ::Ifc4x2::IfcActorSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x2::IfcDocumentInformation::CreationTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } void Ifc4x2::IfcDocumentInformation::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4x2::IfcDocumentInformation::LastRevisionTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } @@ -14119,7 +14119,7 @@ void Ifc4x2::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x2::IfcDoc const IfcParse::entity& Ifc4x2::IfcDocumentInformation::declaration() const { return *IFC4X2_IfcDocumentInformation_type; } const IfcParse::entity& Ifc4x2::IfcDocumentInformation::Class() { return *IFC4X2_IfcDocumentInformation_type; } Ifc4x2::IfcDocumentInformation::IfcDocumentInformation(IfcEntityInstanceData* e) : IfcExternalInformation((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcDocumentInformation_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::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, ::Ifc4x2::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of_instance::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< ::Ifc4x2::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x2::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Identification));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Location));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CreationTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LastRevisionTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LastRevisionTime));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ElectronicFormat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ElectronicFormat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ValidFrom) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ValidFrom));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ValidUntil) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ValidUntil));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc4x2::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc4x2::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } +Ifc4x2::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, ::Ifc4x2::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x2::IfcActorSelect >::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< ::Ifc4x2::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x2::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Identification));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Location));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CreationTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LastRevisionTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LastRevisionTime));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ElectronicFormat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ElectronicFormat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ValidFrom) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ValidFrom));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ValidUntil) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ValidUntil));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc4x2::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc4x2::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } // Function implementations for IfcDocumentInformationRelationship ::Ifc4x2::IfcDocumentInformation* Ifc4x2::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcDocumentInformation>(true); } @@ -14766,14 +14766,14 @@ Ifc4x2::IfcExternalReference::IfcExternalReference(boost::optional< std::string // Function implementations for IfcExternalReferenceRelationship ::Ifc4x2::IfcExternalReference* Ifc4x2::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcExternalReference>(true); } void Ifc4x2::IfcExternalReferenceRelationship::setRelatingReference(::Ifc4x2::IfcExternalReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -aggregate_of_instance::ptr Ifc4x2::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } -void Ifc4x2::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr Ifc4x2::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr v = *data_->getArgument(3); return v; } +void Ifc4x2::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x2::IfcExternalReferenceRelationship::declaration() const { return *IFC4X2_IfcExternalReferenceRelationship_type; } const IfcParse::entity& Ifc4x2::IfcExternalReferenceRelationship::Class() { return *IFC4X2_IfcExternalReferenceRelationship_type; } Ifc4x2::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcExternalReferenceRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcExternalReference* v3_RelatingReference, aggregate_of_instance::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcExternalReferenceRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingReference));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } +Ifc4x2::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcExternalReferenceRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingReference));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } // Function implementations for IfcExternalSpatialElement boost::optional< ::Ifc4x2::IfcExternalSpatialElementTypeEnum::Value > Ifc4x2::IfcExternalSpatialElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcExternalSpatialElementTypeEnum::FromString(*data_->getArgument(8)); } @@ -15014,8 +15014,8 @@ Ifc4x2::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcEntityInst Ifc4x2::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcFeatureElementSubtraction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcFillAreaStyle -aggregate_of_instance::ptr Ifc4x2::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcFillAreaStyle::setFillStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x2::IfcFillStyleSelect >::ptr Ifc4x2::IfcFillAreaStyle::FillStyles() const { aggregate_of< ::Ifc4x2::IfcFillStyleSelect >::ptr v = *data_->getArgument(1); return v; } +void Ifc4x2::IfcFillAreaStyle::setFillStyles(aggregate_of< ::Ifc4x2::IfcFillStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x2::IfcFillAreaStyle::ModelorDraughting() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } void Ifc4x2::IfcFillAreaStyle::setModelorDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } @@ -15023,7 +15023,7 @@ void Ifc4x2::IfcFillAreaStyle::setModelorDraughting(boost::optional< bool > v) { const IfcParse::entity& Ifc4x2::IfcFillAreaStyle::declaration() const { return *IFC4X2_IfcFillAreaStyle_type; } const IfcParse::entity& Ifc4x2::IfcFillAreaStyle::Class() { return *IFC4X2_IfcFillAreaStyle_type; } Ifc4x2::IfcFillAreaStyle::IfcFillAreaStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcFillAreaStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of_instance::ptr v2_FillStyles, boost::optional< bool > v3_ModelorDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles));data_->setArgument(1,attr);} if (v3_ModelorDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ModelorDraughting));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x2::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x2::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelorDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles));data_->setArgument(1,attr);} if (v3_ModelorDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ModelorDraughting));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcFillAreaStyleHatching ::Ifc4x2::IfcCurveStyle* Ifc4x2::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcCurveStyle>(true); } @@ -15349,7 +15349,7 @@ Ifc4x2::IfcGeographicElementType::IfcGeographicElementType(std::string v1_Global const IfcParse::entity& Ifc4x2::IfcGeometricCurveSet::declaration() const { return *IFC4X2_IfcGeometricCurveSet_type; } const IfcParse::entity& Ifc4x2::IfcGeometricCurveSet::Class() { return *IFC4X2_IfcGeometricCurveSet_type; } Ifc4x2::IfcGeometricCurveSet::IfcGeometricCurveSet(IfcEntityInstanceData* e) : IfcGeometricSet((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcGeometricCurveSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of_instance::ptr v1_Elements) : IfcGeometricSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcGeometricCurveSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } +Ifc4x2::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4x2::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcGeometricCurveSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } // Function implementations for IfcGeometricRepresentationContext int Ifc4x2::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = *data_->getArgument(2); return v; } @@ -15394,14 +15394,14 @@ Ifc4x2::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubConte Ifc4x2::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, ::Ifc4x2::IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, ::Ifc4x2::IfcGeometricProjectionEnum::Value v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcGeometricRepresentationSubContext_type); if (v1_ContextIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_ContextIdentifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_ContextType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ContextType));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ParentContext));data_->setArgument(6,attr);} if (v8_TargetScale) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_TargetScale));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_TargetView,::Ifc4x2::IfcGeometricProjectionEnum::ToString(v9_TargetView))));data_->setArgument(8,attr);} if (v10_UserDefinedTargetView) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_UserDefinedTargetView));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcGeometricSet -aggregate_of_instance::ptr Ifc4x2::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x2::IfcGeometricSet::setElements(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x2::IfcGeometricSetSelect >::ptr Ifc4x2::IfcGeometricSet::Elements() const { aggregate_of< ::Ifc4x2::IfcGeometricSetSelect >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x2::IfcGeometricSet::setElements(aggregate_of< ::Ifc4x2::IfcGeometricSetSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x2::IfcGeometricSet::declaration() const { return *IFC4X2_IfcGeometricSet_type; } const IfcParse::entity& Ifc4x2::IfcGeometricSet::Class() { return *IFC4X2_IfcGeometricSet_type; } Ifc4x2::IfcGeometricSet::IfcGeometricSet(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcGeometricSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcGeometricSet::IfcGeometricSet(aggregate_of_instance::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcGeometricSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } +Ifc4x2::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x2::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcGeometricSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } // Function implementations for IfcGrid aggregate_of< ::Ifc4x2::IfcGridAxis >::ptr Ifc4x2::IfcGrid::UAxes() const { aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x2::IfcGridAxis >(); } @@ -15561,8 +15561,8 @@ Ifc4x2::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4x2::IfcTessellatedFaceSet // Function implementations for IfcIndexedPolyCurve ::Ifc4x2::IfcCartesianPointList* Ifc4x2::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcCartesianPointList>(true); } void Ifc4x2::IfcIndexedPolyCurve::setPoints(::Ifc4x2::IfcCartesianPointList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x2::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } +boost::optional< aggregate_of< ::Ifc4x2::IfcSegmentIndexSelect >::ptr > Ifc4x2::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x2::IfcSegmentIndexSelect >::ptr v = *data_->getArgument(1); return v; } +void Ifc4x2::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of< ::Ifc4x2::IfcSegmentIndexSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x2::IfcIndexedPolyCurve::SelfIntersect() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } void Ifc4x2::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } @@ -15570,7 +15570,7 @@ void Ifc4x2::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { const IfcParse::entity& Ifc4x2::IfcIndexedPolyCurve::declaration() const { return *IFC4X2_IfcIndexedPolyCurve_type; } const IfcParse::entity& Ifc4x2::IfcIndexedPolyCurve::Class() { return *IFC4X2_IfcIndexedPolyCurve_type; } Ifc4x2::IfcIndexedPolyCurve::IfcIndexedPolyCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcIndexedPolyCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x2::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of_instance::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcIndexedPolyCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Points));data_->setArgument(0,attr);} if (v2_Segments) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Segments));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_SelfIntersect) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_SelfIntersect));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x2::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x2::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x2::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcIndexedPolyCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Points));data_->setArgument(0,attr);} if (v2_Segments) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Segments));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_SelfIntersect) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_SelfIntersect));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcIndexedPolygonalFace std::vector< int > /*[3:?]*/ Ifc4x2::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = *data_->getArgument(0); return v; } @@ -15676,14 +15676,14 @@ Ifc4x2::IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, boos // Function implementations for IfcIrregularTimeSeriesValue std::string Ifc4x2::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x2::IfcIrregularTimeSeriesValue::setTimeStamp(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of_instance::ptr Ifc4x2::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcIrregularTimeSeriesValue::setListValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x2::IfcValue >::ptr Ifc4x2::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of< ::Ifc4x2::IfcValue >::ptr v = *data_->getArgument(1); return v; } +void Ifc4x2::IfcIrregularTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x2::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x2::IfcIrregularTimeSeriesValue::declaration() const { return *IFC4X2_IfcIrregularTimeSeriesValue_type; } const IfcParse::entity& Ifc4x2::IfcIrregularTimeSeriesValue::Class() { return *IFC4X2_IfcIrregularTimeSeriesValue_type; } Ifc4x2::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X2_IfcIrregularTimeSeriesValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of_instance::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X2_IfcIrregularTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TimeStamp));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ListValues));data_->setArgument(1,attr);} } +Ifc4x2::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4x2::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X2_IfcIrregularTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TimeStamp));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ListValues));data_->setArgument(1,attr);} } // Function implementations for IfcJunctionBox boost::optional< ::Ifc4x2::IfcJunctionBoxTypeEnum::Value > Ifc4x2::IfcJunctionBox::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcJunctionBoxTypeEnum::FromString(*data_->getArgument(8)); } @@ -16072,8 +16072,8 @@ Ifc4x2::IfcMaterial::IfcMaterial(IfcEntityInstanceData* e) : IfcMaterialDefiniti Ifc4x2::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_Category) : IfcMaterialDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Category) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Category));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcMaterialClassificationRelationship -aggregate_of_instance::ptr Ifc4x2::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x2::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x2::IfcClassificationSelect >::ptr Ifc4x2::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of< ::Ifc4x2::IfcClassificationSelect >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x2::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of< ::Ifc4x2::IfcClassificationSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4x2::IfcMaterial* Ifc4x2::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcMaterial>(true); } void Ifc4x2::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc4x2::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -16081,7 +16081,7 @@ void Ifc4x2::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc4 const IfcParse::entity& Ifc4x2::IfcMaterialClassificationRelationship::declaration() const { return *IFC4X2_IfcMaterialClassificationRelationship_type; } const IfcParse::entity& Ifc4x2::IfcMaterialClassificationRelationship::Class() { return *IFC4X2_IfcMaterialClassificationRelationship_type; } Ifc4x2::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X2_IfcMaterialClassificationRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of_instance::ptr v1_MaterialClassifications, ::Ifc4x2::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X2_IfcMaterialClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialClassifications));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ClassifiedMaterial));data_->setArgument(1,attr);} } +Ifc4x2::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4x2::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x2::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X2_IfcMaterialClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialClassifications));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ClassifiedMaterial));data_->setArgument(1,attr);} } // Function implementations for IfcMaterialConstituent boost::optional< std::string > Ifc4x2::IfcMaterialConstituent::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -17211,8 +17211,8 @@ std::string Ifc4x2::IfcPresentationLayerAssignment::Name() const { std::string void Ifc4x2::IfcPresentationLayerAssignment::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x2::IfcPresentationLayerAssignment::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x2::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } -aggregate_of_instance::ptr Ifc4x2::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x2::IfcLayeredItem >::ptr Ifc4x2::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of< ::Ifc4x2::IfcLayeredItem >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x2::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of< ::Ifc4x2::IfcLayeredItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x2::IfcPresentationLayerAssignment::Identifier() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4x2::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } @@ -17220,7 +17220,7 @@ void Ifc4x2::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std: const IfcParse::entity& Ifc4x2::IfcPresentationLayerAssignment::declaration() const { return *IFC4X2_IfcPresentationLayerAssignment_type; } const IfcParse::entity& Ifc4x2::IfcPresentationLayerAssignment::Class() { return *IFC4X2_IfcPresentationLayerAssignment_type; } Ifc4x2::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X2_IfcPresentationLayerAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X2_IfcPresentationLayerAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } +Ifc4x2::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x2::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X2_IfcPresentationLayerAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcPresentationLayerWithStyle boost::logic::tribool Ifc4x2::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = *data_->getArgument(4); return v; } @@ -17236,7 +17236,7 @@ void Ifc4x2::IfcPresentationLayerWithStyle::setLayerStyles(aggregate_of< ::Ifc4x const IfcParse::entity& Ifc4x2::IfcPresentationLayerWithStyle::declaration() const { return *IFC4X2_IfcPresentationLayerWithStyle_type; } const IfcParse::entity& Ifc4x2::IfcPresentationLayerWithStyle::Class() { return *IFC4X2_IfcPresentationLayerWithStyle_type; } Ifc4x2::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcEntityInstanceData* e) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcPresentationLayerWithStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x2::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcPresentationLayerWithStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_LayerOn));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LayerFrozen));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LayerBlocked));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LayerStyles)->generalize());data_->setArgument(7,attr);} } +Ifc4x2::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x2::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x2::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcPresentationLayerWithStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_LayerOn));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LayerFrozen));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LayerBlocked));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LayerStyles)->generalize());data_->setArgument(7,attr);} } // Function implementations for IfcPresentationStyle boost::optional< std::string > Ifc4x2::IfcPresentationStyle::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -17249,14 +17249,14 @@ Ifc4x2::IfcPresentationStyle::IfcPresentationStyle(IfcEntityInstanceData* e) : I Ifc4x2::IfcPresentationStyle::IfcPresentationStyle(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X2_IfcPresentationStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } } // Function implementations for IfcPresentationStyleAssignment -aggregate_of_instance::ptr Ifc4x2::IfcPresentationStyleAssignment::Styles() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x2::IfcPresentationStyleAssignment::setStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x2::IfcPresentationStyleSelect >::ptr Ifc4x2::IfcPresentationStyleAssignment::Styles() const { aggregate_of< ::Ifc4x2::IfcPresentationStyleSelect >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x2::IfcPresentationStyleAssignment::setStyles(aggregate_of< ::Ifc4x2::IfcPresentationStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x2::IfcPresentationStyleAssignment::declaration() const { return *IFC4X2_IfcPresentationStyleAssignment_type; } const IfcParse::entity& Ifc4x2::IfcPresentationStyleAssignment::Class() { return *IFC4X2_IfcPresentationStyleAssignment_type; } Ifc4x2::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X2_IfcPresentationStyleAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(aggregate_of_instance::ptr v1_Styles) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X2_IfcPresentationStyleAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Styles));data_->setArgument(0,attr);} } +Ifc4x2::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(aggregate_of< ::Ifc4x2::IfcPresentationStyleSelect >::ptr v1_Styles) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X2_IfcPresentationStyleAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Styles));data_->setArgument(0,attr);} } // Function implementations for IfcProcedure boost::optional< ::Ifc4x2::IfcProcedureTypeEnum::Value > Ifc4x2::IfcProcedure::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x2::IfcProcedureTypeEnum::FromString(*data_->getArgument(7)); } @@ -17477,8 +17477,8 @@ Ifc4x2::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(Ifc Ifc4x2::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcProperty* v3_DependingProperty, ::Ifc4x2::IfcProperty* v4_DependantProperty, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcPropertyDependencyRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_DependingProperty));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_DependantProperty));data_->setArgument(3,attr);} if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcPropertyEnumeratedValue -boost::optional< aggregate_of_instance::ptr > Ifc4x2::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > Ifc4x2::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x2::IfcValue >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x2::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x2::IfcPropertyEnumeration* Ifc4x2::IfcPropertyEnumeratedValue::EnumerationReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcPropertyEnumeration>(true); } void Ifc4x2::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x2::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -17486,13 +17486,13 @@ void Ifc4x2::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x2::IfcPr const IfcParse::entity& Ifc4x2::IfcPropertyEnumeratedValue::declaration() const { return *IFC4X2_IfcPropertyEnumeratedValue_type; } const IfcParse::entity& Ifc4x2::IfcPropertyEnumeratedValue::Class() { return *IFC4X2_IfcPropertyEnumeratedValue_type; } Ifc4x2::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcPropertyEnumeratedValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of_instance::ptr > v3_EnumerationValues, ::Ifc4x2::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcPropertyEnumeratedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EnumerationValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EnumerationValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EnumerationReference));data_->setArgument(3,attr);} } +Ifc4x2::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x2::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcPropertyEnumeratedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EnumerationValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EnumerationValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EnumerationReference));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyEnumeration std::string Ifc4x2::IfcPropertyEnumeration::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x2::IfcPropertyEnumeration::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of_instance::ptr Ifc4x2::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcPropertyEnumeration::setEnumerationValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x2::IfcValue >::ptr Ifc4x2::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of< ::Ifc4x2::IfcValue >::ptr v = *data_->getArgument(1); return v; } +void Ifc4x2::IfcPropertyEnumeration::setEnumerationValues(aggregate_of< ::Ifc4x2::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } ::Ifc4x2::IfcUnit* Ifc4x2::IfcPropertyEnumeration::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcUnit>(true); } void Ifc4x2::IfcPropertyEnumeration::setUnit(::Ifc4x2::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -17500,11 +17500,11 @@ void Ifc4x2::IfcPropertyEnumeration::setUnit(::Ifc4x2::IfcUnit* v) { {IfcWrite:: const IfcParse::entity& Ifc4x2::IfcPropertyEnumeration::declaration() const { return *IFC4X2_IfcPropertyEnumeration_type; } const IfcParse::entity& Ifc4x2::IfcPropertyEnumeration::Class() { return *IFC4X2_IfcPropertyEnumeration_type; } Ifc4x2::IfcPropertyEnumeration::IfcPropertyEnumeration(IfcEntityInstanceData* e) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcPropertyEnumeration_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of_instance::ptr v2_EnumerationValues, ::Ifc4x2::IfcUnit* v3_Unit) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcPropertyEnumeration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EnumerationValues));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);} } +Ifc4x2::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4x2::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x2::IfcUnit* v3_Unit) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcPropertyEnumeration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EnumerationValues));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);} } // Function implementations for IfcPropertyListValue -boost::optional< aggregate_of_instance::ptr > Ifc4x2::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcPropertyListValue::setListValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > Ifc4x2::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x2::IfcValue >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x2::IfcPropertyListValue::setListValues(boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x2::IfcUnit* Ifc4x2::IfcPropertyListValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcUnit>(true); } void Ifc4x2::IfcPropertyListValue::setUnit(::Ifc4x2::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -17512,7 +17512,7 @@ void Ifc4x2::IfcPropertyListValue::setUnit(::Ifc4x2::IfcUnit* v) { {IfcWrite::If const IfcParse::entity& Ifc4x2::IfcPropertyListValue::declaration() const { return *IFC4X2_IfcPropertyListValue_type; } const IfcParse::entity& Ifc4x2::IfcPropertyListValue::Class() { return *IFC4X2_IfcPropertyListValue_type; } Ifc4x2::IfcPropertyListValue::IfcPropertyListValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcPropertyListValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of_instance::ptr > v3_ListValues, ::Ifc4x2::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcPropertyListValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ListValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ListValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } +Ifc4x2::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v3_ListValues, ::Ifc4x2::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcPropertyListValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ListValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ListValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyReferenceValue boost::optional< std::string > Ifc4x2::IfcPropertyReferenceValue::UsageName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } @@ -17575,10 +17575,10 @@ Ifc4x2::IfcPropertySingleValue::IfcPropertySingleValue(IfcEntityInstanceData* e) Ifc4x2::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcValue* v3_NominalValue, ::Ifc4x2::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcPropertySingleValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_NominalValue));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyTableValue -boost::optional< aggregate_of_instance::ptr > Ifc4x2::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x2::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } -void Ifc4x2::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } +boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > Ifc4x2::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x2::IfcValue >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x2::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > Ifc4x2::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x2::IfcValue >::ptr v = *data_->getArgument(3); return v; } +void Ifc4x2::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x2::IfcPropertyTableValue::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x2::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x2::IfcUnit* Ifc4x2::IfcPropertyTableValue::DefiningUnit() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcUnit>(true); } @@ -17592,7 +17592,7 @@ void Ifc4x2::IfcPropertyTableValue::setCurveInterpolation(boost::optional< ::Ifc const IfcParse::entity& Ifc4x2::IfcPropertyTableValue::declaration() const { return *IFC4X2_IfcPropertyTableValue_type; } const IfcParse::entity& Ifc4x2::IfcPropertyTableValue::Class() { return *IFC4X2_IfcPropertyTableValue_type; } Ifc4x2::IfcPropertyTableValue::IfcPropertyTableValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcPropertyTableValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of_instance::ptr > v3_DefiningValues, boost::optional< aggregate_of_instance::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x2::IfcUnit* v6_DefiningUnit, ::Ifc4x2::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x2::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcPropertyTableValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_DefiningValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_DefiningValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DefinedValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DefinedValues));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_DefiningUnit));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_DefinedUnit));data_->setArgument(6,attr);} if (v8_CurveInterpolation) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_CurveInterpolation,::Ifc4x2::IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } +Ifc4x2::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x2::IfcUnit* v6_DefiningUnit, ::Ifc4x2::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x2::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcPropertyTableValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_DefiningValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_DefiningValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DefinedValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DefinedValues));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_DefiningUnit));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_DefinedUnit));data_->setArgument(6,attr);} if (v8_CurveInterpolation) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_CurveInterpolation,::Ifc4x2::IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcPropertyTemplate @@ -18035,14 +18035,14 @@ boost::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value > Ifc4x2::IfcRein void Ifc4x2::IfcReinforcingBarType::setBarSurface(boost::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcReinforcingBarSurfaceEnum::ToString(*v)));}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4x2::IfcReinforcingBarType::BendingShapeCode() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } void Ifc4x2::IfcReinforcingBarType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x2::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(15); return v; } -void Ifc4x2::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } +boost::optional< aggregate_of< ::Ifc4x2::IfcBendingParameterSelect >::ptr > Ifc4x2::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x2::IfcBendingParameterSelect >::ptr v = *data_->getArgument(15); return v; } +void Ifc4x2::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x2::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } const IfcParse::entity& Ifc4x2::IfcReinforcingBarType::declaration() const { return *IFC4X2_IfcReinforcingBarType_type; } const IfcParse::entity& Ifc4x2::IfcReinforcingBarType::Class() { return *IFC4X2_IfcReinforcingBarType_type; } Ifc4x2::IfcReinforcingBarType::IfcReinforcingBarType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcReinforcingBarType_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of_instance::ptr > v16_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcReinforcingBarType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x2::IfcReinforcingBarTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_BarLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_BarLength));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_BarSurface) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_BarSurface,::Ifc4x2::IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_BendingShapeCode));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_BendingParameters));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } } +Ifc4x2::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x2::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcReinforcingBarType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x2::IfcReinforcingBarTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_BarLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_BarLength));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_BarSurface) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_BarSurface,::Ifc4x2::IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_BendingShapeCode));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_BendingParameters));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } } // Function implementations for IfcReinforcingElement boost::optional< std::string > Ifc4x2::IfcReinforcingElement::SteelGrade() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } @@ -18109,14 +18109,14 @@ boost::optional< double > Ifc4x2::IfcReinforcingMeshType::TransverseBarSpacing() void Ifc4x2::IfcReinforcingMeshType::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(17,attr);} } boost::optional< std::string > Ifc4x2::IfcReinforcingMeshType::BendingShapeCode() const { if(!data_->getArgument(18) || data_->getArgument(18)->isNull()) { return boost::none; } std::string v = *data_->getArgument(18); return v; } void Ifc4x2::IfcReinforcingMeshType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(18,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x2::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(19); return v; } -void Ifc4x2::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(19,attr);} } +boost::optional< aggregate_of< ::Ifc4x2::IfcBendingParameterSelect >::ptr > Ifc4x2::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x2::IfcBendingParameterSelect >::ptr v = *data_->getArgument(19); return v; } +void Ifc4x2::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x2::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(19,attr);} } const IfcParse::entity& Ifc4x2::IfcReinforcingMeshType::declaration() const { return *IFC4X2_IfcReinforcingMeshType_type; } const IfcParse::entity& Ifc4x2::IfcReinforcingMeshType::Class() { return *IFC4X2_IfcReinforcingMeshType_type; } Ifc4x2::IfcReinforcingMeshType::IfcReinforcingMeshType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcReinforcingMeshType_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of_instance::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcReinforcingMeshType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x2::IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshLength));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_MeshWidth));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LongitudinalBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TransverseBarNominalDiameter));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LongitudinalBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_TransverseBarCrossSectionArea));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LongitudinalBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_TransverseBarSpacing));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_BendingShapeCode));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_BendingParameters));data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } +Ifc4x2::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of< ::Ifc4x2::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcReinforcingMeshType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x2::IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshLength));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_MeshWidth));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LongitudinalBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TransverseBarNominalDiameter));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LongitudinalBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_TransverseBarCrossSectionArea));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LongitudinalBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_TransverseBarSpacing));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_BendingShapeCode));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_BendingParameters));data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } // Function implementations for IfcRelAggregates ::Ifc4x2::IfcObjectDefinition* Ifc4x2::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcObjectDefinition>(true); } @@ -18217,14 +18217,14 @@ Ifc4x2::IfcRelAssignsToResource::IfcRelAssignsToResource(IfcEntityInstanceData* Ifc4x2::IfcRelAssignsToResource::IfcRelAssignsToResource(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcResourceSelect* v7_RelatingResource) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelAssignsToResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x2::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingResource));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociates -aggregate_of_instance::ptr Ifc4x2::IfcRelAssociates::RelatedObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcRelAssociates::setRelatedObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr Ifc4x2::IfcRelAssociates::RelatedObjects() const { aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v = *data_->getArgument(4); return v; } +void Ifc4x2::IfcRelAssociates::setRelatedObjects(aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x2::IfcRelAssociates::declaration() const { return *IFC4X2_IfcRelAssociates_type; } const IfcParse::entity& Ifc4x2::IfcRelAssociates::Class() { return *IFC4X2_IfcRelAssociates_type; } Ifc4x2::IfcRelAssociates::IfcRelAssociates(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcRelAssociates_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} } +Ifc4x2::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} } // Function implementations for IfcRelAssociatesApproval ::Ifc4x2::IfcApproval* Ifc4x2::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcApproval>(true); } @@ -18234,7 +18234,7 @@ void Ifc4x2::IfcRelAssociatesApproval::setRelatingApproval(::Ifc4x2::IfcApproval const IfcParse::entity& Ifc4x2::IfcRelAssociatesApproval::declaration() const { return *IFC4X2_IfcRelAssociatesApproval_type; } const IfcParse::entity& Ifc4x2::IfcRelAssociatesApproval::Class() { return *IFC4X2_IfcRelAssociatesApproval_type; } Ifc4x2::IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcRelAssociatesApproval_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x2::IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } +Ifc4x2::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x2::IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesClassification ::Ifc4x2::IfcClassificationSelect* Ifc4x2::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcClassificationSelect>(true); } @@ -18244,7 +18244,7 @@ void Ifc4x2::IfcRelAssociatesClassification::setRelatingClassification(::Ifc4x2: const IfcParse::entity& Ifc4x2::IfcRelAssociatesClassification::declaration() const { return *IFC4X2_IfcRelAssociatesClassification_type; } const IfcParse::entity& Ifc4x2::IfcRelAssociatesClassification::Class() { return *IFC4X2_IfcRelAssociatesClassification_type; } Ifc4x2::IfcRelAssociatesClassification::IfcRelAssociatesClassification(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcRelAssociatesClassification_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x2::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelAssociatesClassification_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingClassification));data_->setArgument(5,attr);} } +Ifc4x2::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x2::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelAssociatesClassification_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingClassification));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesConstraint boost::optional< std::string > Ifc4x2::IfcRelAssociatesConstraint::Intent() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } @@ -18256,7 +18256,7 @@ void Ifc4x2::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc4x2::IfcCons const IfcParse::entity& Ifc4x2::IfcRelAssociatesConstraint::declaration() const { return *IFC4X2_IfcRelAssociatesConstraint_type; } const IfcParse::entity& Ifc4x2::IfcRelAssociatesConstraint::Class() { return *IFC4X2_IfcRelAssociatesConstraint_type; } Ifc4x2::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcRelAssociatesConstraint_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x2::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} if (v6_Intent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Intent));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } +Ifc4x2::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x2::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} if (v6_Intent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Intent));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociatesDocument ::Ifc4x2::IfcDocumentSelect* Ifc4x2::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcDocumentSelect>(true); } @@ -18266,7 +18266,7 @@ void Ifc4x2::IfcRelAssociatesDocument::setRelatingDocument(::Ifc4x2::IfcDocument const IfcParse::entity& Ifc4x2::IfcRelAssociatesDocument::declaration() const { return *IFC4X2_IfcRelAssociatesDocument_type; } const IfcParse::entity& Ifc4x2::IfcRelAssociatesDocument::Class() { return *IFC4X2_IfcRelAssociatesDocument_type; } Ifc4x2::IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcRelAssociatesDocument_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x2::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } +Ifc4x2::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x2::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesLibrary ::Ifc4x2::IfcLibrarySelect* Ifc4x2::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcLibrarySelect>(true); } @@ -18276,7 +18276,7 @@ void Ifc4x2::IfcRelAssociatesLibrary::setRelatingLibrary(::Ifc4x2::IfcLibrarySel const IfcParse::entity& Ifc4x2::IfcRelAssociatesLibrary::declaration() const { return *IFC4X2_IfcRelAssociatesLibrary_type; } const IfcParse::entity& Ifc4x2::IfcRelAssociatesLibrary::Class() { return *IFC4X2_IfcRelAssociatesLibrary_type; } Ifc4x2::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcRelAssociatesLibrary_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x2::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } +Ifc4x2::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x2::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesMaterial ::Ifc4x2::IfcMaterialSelect* Ifc4x2::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcMaterialSelect>(true); } @@ -18286,7 +18286,7 @@ void Ifc4x2::IfcRelAssociatesMaterial::setRelatingMaterial(::Ifc4x2::IfcMaterial const IfcParse::entity& Ifc4x2::IfcRelAssociatesMaterial::declaration() const { return *IFC4X2_IfcRelAssociatesMaterial_type; } const IfcParse::entity& Ifc4x2::IfcRelAssociatesMaterial::Class() { return *IFC4X2_IfcRelAssociatesMaterial_type; } Ifc4x2::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcRelAssociatesMaterial_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x2::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelAssociatesMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingMaterial));data_->setArgument(5,attr);} } +Ifc4x2::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x2::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelAssociatesMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingMaterial));data_->setArgument(5,attr);} } // Function implementations for IfcRelConnects @@ -18445,14 +18445,14 @@ Ifc4x2::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::Ifc4x2 // Function implementations for IfcRelDeclares ::Ifc4x2::IfcContext* Ifc4x2::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcContext>(true); } void Ifc4x2::IfcRelDeclares::setRelatingContext(::Ifc4x2::IfcContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -aggregate_of_instance::ptr Ifc4x2::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr v = *data_->getArgument(5); return v; } -void Ifc4x2::IfcRelDeclares::setRelatedDefinitions(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } +aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr Ifc4x2::IfcRelDeclares::RelatedDefinitions() const { aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v = *data_->getArgument(5); return v; } +void Ifc4x2::IfcRelDeclares::setRelatedDefinitions(aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x2::IfcRelDeclares::declaration() const { return *IFC4X2_IfcRelDeclares_type; } const IfcParse::entity& Ifc4x2::IfcRelDeclares::Class() { return *IFC4X2_IfcRelDeclares_type; } Ifc4x2::IfcRelDeclares::IfcRelDeclares(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcRelDeclares_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcContext* v5_RelatingContext, aggregate_of_instance::ptr v6_RelatedDefinitions) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelDeclares_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingContext));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedDefinitions));data_->setArgument(5,attr);} } +Ifc4x2::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelDeclares_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingContext));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedDefinitions));data_->setArgument(5,attr);} } // Function implementations for IfcRelDecomposes @@ -18778,8 +18778,8 @@ Ifc4x2::IfcResource::IfcResource(IfcEntityInstanceData* e) : IfcObject((IfcEntit Ifc4x2::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc4x2::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((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_LongDescription));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcResourceApprovalRelationship -aggregate_of_instance::ptr Ifc4x2::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr Ifc4x2::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x2::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4x2::IfcApproval* Ifc4x2::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcApproval>(true); } void Ifc4x2::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x2::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -18787,19 +18787,19 @@ void Ifc4x2::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x2::IfcA const IfcParse::entity& Ifc4x2::IfcResourceApprovalRelationship::declaration() const { return *IFC4X2_IfcResourceApprovalRelationship_type; } const IfcParse::entity& Ifc4x2::IfcResourceApprovalRelationship::Class() { return *IFC4X2_IfcResourceApprovalRelationship_type; } Ifc4x2::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcResourceApprovalRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_RelatedResourceObjects, ::Ifc4x2::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcResourceApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatedResourceObjects));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatingApproval));data_->setArgument(3,attr);} } +Ifc4x2::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x2::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcResourceApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatedResourceObjects));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatingApproval));data_->setArgument(3,attr);} } // Function implementations for IfcResourceConstraintRelationship ::Ifc4x2::IfcConstraint* Ifc4x2::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcConstraint>(true); } void Ifc4x2::IfcResourceConstraintRelationship::setRelatingConstraint(::Ifc4x2::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -aggregate_of_instance::ptr Ifc4x2::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } -void Ifc4x2::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr Ifc4x2::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr v = *data_->getArgument(3); return v; } +void Ifc4x2::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x2::IfcResourceConstraintRelationship::declaration() const { return *IFC4X2_IfcResourceConstraintRelationship_type; } const IfcParse::entity& Ifc4x2::IfcResourceConstraintRelationship::Class() { return *IFC4X2_IfcResourceConstraintRelationship_type; } Ifc4x2::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcResourceConstraintRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcConstraint* v3_RelatingConstraint, aggregate_of_instance::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcResourceConstraintRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingConstraint));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } +Ifc4x2::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcResourceConstraintRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingConstraint));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } // Function implementations for IfcResourceLevelRelationship boost::optional< std::string > Ifc4x2::IfcResourceLevelRelationship::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -19146,14 +19146,14 @@ Ifc4x2::IfcShapeRepresentation::IfcShapeRepresentation(IfcEntityInstanceData* e) Ifc4x2::IfcShapeRepresentation::IfcShapeRepresentation(::Ifc4x2::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x2::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcShapeRepresentation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ContextOfItems));data_->setArgument(0,attr);} if (v2_RepresentationIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_RepresentationIdentifier));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_RepresentationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_RepresentationType));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Items)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcShellBasedSurfaceModel -aggregate_of_instance::ptr Ifc4x2::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x2::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x2::IfcShell >::ptr Ifc4x2::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of< ::Ifc4x2::IfcShell >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x2::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of< ::Ifc4x2::IfcShell >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x2::IfcShellBasedSurfaceModel::declaration() const { return *IFC4X2_IfcShellBasedSurfaceModel_type; } const IfcParse::entity& Ifc4x2::IfcShellBasedSurfaceModel::Class() { return *IFC4X2_IfcShellBasedSurfaceModel_type; } Ifc4x2::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcShellBasedSurfaceModel_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of_instance::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcShellBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SbsmBoundary));data_->setArgument(0,attr);} } +Ifc4x2::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4x2::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcShellBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SbsmBoundary));data_->setArgument(0,attr);} } // Function implementations for IfcSimpleProperty @@ -19914,8 +19914,8 @@ Ifc4x2::IfcStyleModel::IfcStyleModel(::Ifc4x2::IfcRepresentationContext* v1_Cont // Function implementations for IfcStyledItem ::Ifc4x2::IfcRepresentationItem* Ifc4x2::IfcStyledItem::Item() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcRepresentationItem>(true); } void Ifc4x2::IfcStyledItem::setItem(::Ifc4x2::IfcRepresentationItem* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of_instance::ptr Ifc4x2::IfcStyledItem::Styles() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcStyledItem::setStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x2::IfcStyleAssignmentSelect >::ptr Ifc4x2::IfcStyledItem::Styles() const { aggregate_of< ::Ifc4x2::IfcStyleAssignmentSelect >::ptr v = *data_->getArgument(1); return v; } +void Ifc4x2::IfcStyledItem::setStyles(aggregate_of< ::Ifc4x2::IfcStyleAssignmentSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x2::IfcStyledItem::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4x2::IfcStyledItem::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } @@ -19923,7 +19923,7 @@ void Ifc4x2::IfcStyledItem::setName(boost::optional< std::string > v) { {IfcWrit const IfcParse::entity& Ifc4x2::IfcStyledItem::declaration() const { return *IFC4X2_IfcStyledItem_type; } const IfcParse::entity& Ifc4x2::IfcStyledItem::Class() { return *IFC4X2_IfcStyledItem_type; } Ifc4x2::IfcStyledItem::IfcStyledItem(IfcEntityInstanceData* e) : IfcRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcStyledItem_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcStyledItem::IfcStyledItem(::Ifc4x2::IfcRepresentationItem* v1_Item, aggregate_of_instance::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcStyledItem_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Item));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Styles));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x2::IfcStyledItem::IfcStyledItem(::Ifc4x2::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc4x2::IfcStyleAssignmentSelect >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcStyledItem_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Item));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Styles));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcStyledRepresentation @@ -20050,14 +20050,14 @@ Ifc4x2::IfcSurfaceReinforcementArea::IfcSurfaceReinforcementArea(boost::optional // Function implementations for IfcSurfaceStyle ::Ifc4x2::IfcSurfaceSide::Value Ifc4x2::IfcSurfaceStyle::Side() const { return ::Ifc4x2::IfcSurfaceSide::FromString(*data_->getArgument(1)); } void Ifc4x2::IfcSurfaceStyle::setSide(::Ifc4x2::IfcSurfaceSide::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcSurfaceSide::ToString(v)));data_->setArgument(1,attr);} } -aggregate_of_instance::ptr Ifc4x2::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcSurfaceStyle::setStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x2::IfcSurfaceStyleElementSelect >::ptr Ifc4x2::IfcSurfaceStyle::Styles() const { aggregate_of< ::Ifc4x2::IfcSurfaceStyleElementSelect >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x2::IfcSurfaceStyle::setStyles(aggregate_of< ::Ifc4x2::IfcSurfaceStyleElementSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x2::IfcSurfaceStyle::declaration() const { return *IFC4X2_IfcSurfaceStyle_type; } const IfcParse::entity& Ifc4x2::IfcSurfaceStyle::Class() { return *IFC4X2_IfcSurfaceStyle_type; } Ifc4x2::IfcSurfaceStyle::IfcSurfaceStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcSurfaceStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x2::IfcSurfaceSide::Value v2_Side, aggregate_of_instance::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc4x2::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles));data_->setArgument(2,attr);} } +Ifc4x2::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x2::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x2::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc4x2::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles));data_->setArgument(2,attr);} } // Function implementations for IfcSurfaceStyleLighting ::Ifc4x2::IfcColourRgb* Ifc4x2::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcColourRgb>(true); } @@ -20311,8 +20311,8 @@ Ifc4x2::IfcTableColumn::IfcTableColumn(IfcEntityInstanceData* e) : IfcUtil::IfcB Ifc4x2::IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, ::Ifc4x2::IfcUnit* v4_Unit, ::Ifc4x2::IfcReference* v5_ReferencePath) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X2_IfcTableColumn_type); if (v1_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Identifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Name));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_ReferencePath));data_->setArgument(4,attr);} } // Function implementations for IfcTableRow -boost::optional< aggregate_of_instance::ptr > Ifc4x2::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x2::IfcTableRow::setRowCells(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } +boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > Ifc4x2::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x2::IfcValue >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x2::IfcTableRow::setRowCells(boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< bool > Ifc4x2::IfcTableRow::IsHeading() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } bool v = *data_->getArgument(1); return v; } void Ifc4x2::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } @@ -20320,7 +20320,7 @@ void Ifc4x2::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrite::I const IfcParse::entity& Ifc4x2::IfcTableRow::declaration() const { return *IFC4X2_IfcTableRow_type; } const IfcParse::entity& Ifc4x2::IfcTableRow::Class() { return *IFC4X2_IfcTableRow_type; } Ifc4x2::IfcTableRow::IfcTableRow(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X2_IfcTableRow_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcTableRow::IfcTableRow(boost::optional< aggregate_of_instance::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X2_IfcTableRow_type); if (v1_RowCells) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RowCells));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_IsHeading) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_IsHeading));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } +Ifc4x2::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X2_IfcTableRow_type); if (v1_RowCells) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RowCells));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_IsHeading) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_IsHeading));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcTank boost::optional< ::Ifc4x2::IfcTankTypeEnum::Value > Ifc4x2::IfcTank::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcTankTypeEnum::FromString(*data_->getArgument(8)); } @@ -20732,14 +20732,14 @@ Ifc4x2::IfcTimeSeries::IfcTimeSeries(IfcEntityInstanceData* e) : IfcUtil::IfcBas Ifc4x2::IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x2::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x2::IfcUnit* v8_Unit) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X2_IfcTimeSeries_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_StartTime));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EndTime));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_TimeSeriesDataType,::Ifc4x2::IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType))));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v6_DataOrigin,::Ifc4x2::IfcDataOriginEnum::ToString(v6_DataOrigin))));data_->setArgument(5,attr);} if (v7_UserDefinedDataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_UserDefinedDataOrigin));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Unit));data_->setArgument(7,attr);} } // Function implementations for IfcTimeSeriesValue -aggregate_of_instance::ptr Ifc4x2::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x2::IfcTimeSeriesValue::setListValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x2::IfcValue >::ptr Ifc4x2::IfcTimeSeriesValue::ListValues() const { aggregate_of< ::Ifc4x2::IfcValue >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x2::IfcTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x2::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x2::IfcTimeSeriesValue::declaration() const { return *IFC4X2_IfcTimeSeriesValue_type; } const IfcParse::entity& Ifc4x2::IfcTimeSeriesValue::Class() { return *IFC4X2_IfcTimeSeriesValue_type; } Ifc4x2::IfcTimeSeriesValue::IfcTimeSeriesValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X2_IfcTimeSeriesValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of_instance::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X2_IfcTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ListValues));data_->setArgument(0,attr);} } +Ifc4x2::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x2::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X2_IfcTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ListValues));data_->setArgument(0,attr);} } // Function implementations for IfcTopologicalRepresentationItem @@ -20872,10 +20872,10 @@ Ifc4x2::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(::Ifc4x // Function implementations for IfcTrimmedCurve ::Ifc4x2::IfcCurve* Ifc4x2::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcCurve>(true); } void Ifc4x2::IfcTrimmedCurve::setBasisCurve(::Ifc4x2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of_instance::ptr Ifc4x2::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcTrimmedCurve::setTrim1(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -aggregate_of_instance::ptr Ifc4x2::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcTrimmedCurve::setTrim2(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x2::IfcTrimmingSelect >::ptr Ifc4x2::IfcTrimmedCurve::Trim1() const { aggregate_of< ::Ifc4x2::IfcTrimmingSelect >::ptr v = *data_->getArgument(1); return v; } +void Ifc4x2::IfcTrimmedCurve::setTrim1(aggregate_of< ::Ifc4x2::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x2::IfcTrimmingSelect >::ptr Ifc4x2::IfcTrimmedCurve::Trim2() const { aggregate_of< ::Ifc4x2::IfcTrimmingSelect >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x2::IfcTrimmedCurve::setTrim2(aggregate_of< ::Ifc4x2::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } bool Ifc4x2::IfcTrimmedCurve::SenseAgreement() const { bool v = *data_->getArgument(3); return v; } void Ifc4x2::IfcTrimmedCurve::setSenseAgreement(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x2::IfcTrimmingPreference::Value Ifc4x2::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4x2::IfcTrimmingPreference::FromString(*data_->getArgument(4)); } @@ -20885,7 +20885,7 @@ void Ifc4x2::IfcTrimmedCurve::setMasterRepresentation(::Ifc4x2::IfcTrimmingPrefe const IfcParse::entity& Ifc4x2::IfcTrimmedCurve::declaration() const { return *IFC4X2_IfcTrimmedCurve_type; } const IfcParse::entity& Ifc4x2::IfcTrimmedCurve::Class() { return *IFC4X2_IfcTrimmedCurve_type; } Ifc4x2::IfcTrimmedCurve::IfcTrimmedCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcTrimmedCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x2::IfcCurve* v1_BasisCurve, aggregate_of_instance::ptr v2_Trim1, aggregate_of_instance::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x2::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcTrimmedCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Trim1));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Trim2));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SenseAgreement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_MasterRepresentation,::Ifc4x2::IfcTrimmingPreference::ToString(v5_MasterRepresentation))));data_->setArgument(4,attr);} } +Ifc4x2::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x2::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x2::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x2::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x2::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcTrimmedCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Trim1));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Trim2));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SenseAgreement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_MasterRepresentation,::Ifc4x2::IfcTrimmingPreference::ToString(v5_MasterRepresentation))));data_->setArgument(4,attr);} } // Function implementations for IfcTubeBundle boost::optional< ::Ifc4x2::IfcTubeBundleTypeEnum::Value > Ifc4x2::IfcTubeBundle::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcTubeBundleTypeEnum::FromString(*data_->getArgument(8)); } @@ -20986,14 +20986,14 @@ Ifc4x2::IfcUShapeProfileDef::IfcUShapeProfileDef(IfcEntityInstanceData* e) : Ifc Ifc4x2::IfcUShapeProfileDef::IfcUShapeProfileDef(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x2::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((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcUShapeProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4x2::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_FlangeWidth));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_WebThickness));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_FlangeThickness));data_->setArgument(6,attr);} if (v8_FilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_FilletRadius));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_EdgeRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_EdgeRadius));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_FlangeSlope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_FlangeSlope));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcUnitAssignment -aggregate_of_instance::ptr Ifc4x2::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x2::IfcUnitAssignment::setUnits(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x2::IfcUnit >::ptr Ifc4x2::IfcUnitAssignment::Units() const { aggregate_of< ::Ifc4x2::IfcUnit >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x2::IfcUnitAssignment::setUnits(aggregate_of< ::Ifc4x2::IfcUnit >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x2::IfcUnitAssignment::declaration() const { return *IFC4X2_IfcUnitAssignment_type; } const IfcParse::entity& Ifc4x2::IfcUnitAssignment::Class() { return *IFC4X2_IfcUnitAssignment_type; } Ifc4x2::IfcUnitAssignment::IfcUnitAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X2_IfcUnitAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcUnitAssignment::IfcUnitAssignment(aggregate_of_instance::ptr v1_Units) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X2_IfcUnitAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Units));data_->setArgument(0,attr);} } +Ifc4x2::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4x2::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X2_IfcUnitAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Units));data_->setArgument(0,attr);} } // Function implementations for IfcUnitaryControlElement boost::optional< ::Ifc4x2::IfcUnitaryControlElementTypeEnum::Value > Ifc4x2::IfcUnitaryControlElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcUnitaryControlElementTypeEnum::FromString(*data_->getArgument(8)); } diff --git a/src/ifcparse/Ifc4x2.h b/src/ifcparse/Ifc4x2.h index 5be96d9c8c..743e1c03f3 100644 --- a/src/ifcparse/Ifc4x2.h +++ b/src/ifcparse/Ifc4x2.h @@ -10608,12 +10608,12 @@ public: std::string TimeStamp() const; void setTimeStamp(std::string v); /// A list of time-series values. At least one value is required. - aggregate_of_instance::ptr ListValues() const; - void setListValues(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x2::IfcValue >::ptr ListValues() const; + void setListValues(aggregate_of< ::Ifc4x2::IfcValue >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcIrregularTimeSeriesValue (IfcEntityInstanceData* e); - IfcIrregularTimeSeriesValue (std::string v1_TimeStamp, aggregate_of_instance::ptr v2_ListValues); + IfcIrregularTimeSeriesValue (std::string v1_TimeStamp, aggregate_of< ::Ifc4x2::IfcValue >::ptr v2_ListValues); typedef aggregate_of< 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. @@ -10787,15 +10787,15 @@ public: class IFC_PARSE_API IfcMaterialClassificationRelationship : public IfcUtil::IfcBaseEntity { public: /// The material classifications identifying the type of material. - aggregate_of_instance::ptr MaterialClassifications() const; - void setMaterialClassifications(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x2::IfcClassificationSelect >::ptr MaterialClassifications() const; + void setMaterialClassifications(aggregate_of< ::Ifc4x2::IfcClassificationSelect >::ptr v); /// Material being classified. ::Ifc4x2::IfcMaterial* ClassifiedMaterial() const; void setClassifiedMaterial(::Ifc4x2::IfcMaterial* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcMaterialClassificationRelationship (IfcEntityInstanceData* e); - IfcMaterialClassificationRelationship (aggregate_of_instance::ptr v1_MaterialClassifications, ::Ifc4x2::IfcMaterial* v2_ClassifiedMaterial); + IfcMaterialClassificationRelationship (aggregate_of< ::Ifc4x2::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x2::IfcMaterial* v2_ClassifiedMaterial); typedef aggregate_of< IfcMaterialClassificationRelationship > list; }; /// IfcMaterialDefinition is a general supertype for all @@ -11586,15 +11586,15 @@ public: boost::optional< std::string > Description() const; void setDescription(boost::optional< std::string > v); /// The set of layered items, which are assigned to this layer. - aggregate_of_instance::ptr AssignedItems() const; - void setAssignedItems(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x2::IfcLayeredItem >::ptr AssignedItems() const; + void setAssignedItems(aggregate_of< ::Ifc4x2::IfcLayeredItem >::ptr v); /// An (internal) identifier assigned to the layer. boost::optional< std::string > Identifier() const; void setIdentifier(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPresentationLayerAssignment (IfcEntityInstanceData* e); - IfcPresentationLayerAssignment (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier); + IfcPresentationLayerAssignment (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x2::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier); typedef aggregate_of< IfcPresentationLayerAssignment > list; }; /// An IfcPresentationLayerAssignmentWithStyle extends the presentation layer assignment with capabilities to define visibility control, access control and common style information. @@ -11631,7 +11631,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPresentationLayerWithStyle (IfcEntityInstanceData* e); - IfcPresentationLayerWithStyle (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x2::IfcPresentationStyle >::ptr v8_LayerStyles); + IfcPresentationLayerWithStyle (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x2::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x2::IfcPresentationStyle >::ptr v8_LayerStyles); typedef aggregate_of< 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. @@ -11658,12 +11658,12 @@ public: class IFC_PARSE_API IfcPresentationStyleAssignment : public IfcUtil::IfcBaseEntity, public IfcStyleAssignmentSelect { public: /// A set of presentation styles that are assigned to styled items. - aggregate_of_instance::ptr Styles() const; - void setStyles(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x2::IfcPresentationStyleSelect >::ptr Styles() const; + void setStyles(aggregate_of< ::Ifc4x2::IfcPresentationStyleSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPresentationStyleAssignment (IfcEntityInstanceData* e); - IfcPresentationStyleAssignment (aggregate_of_instance::ptr v1_Styles); + IfcPresentationStyleAssignment (aggregate_of< ::Ifc4x2::IfcPresentationStyleSelect >::ptr v1_Styles); typedef aggregate_of< IfcPresentationStyleAssignment > list; }; /// IfcProductRepresentation defines a representation of a @@ -11995,15 +11995,15 @@ public: std::string Name() const; void setName(std::string v); /// List of values that form the enumeration. - aggregate_of_instance::ptr EnumerationValues() const; - void setEnumerationValues(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x2::IfcValue >::ptr EnumerationValues() const; + void setEnumerationValues(aggregate_of< ::Ifc4x2::IfcValue >::ptr v); /// 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. ::Ifc4x2::IfcUnit* Unit() const; void setUnit(::Ifc4x2::IfcUnit* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyEnumeration (IfcEntityInstanceData* e); - IfcPropertyEnumeration (std::string v1_Name, aggregate_of_instance::ptr v2_EnumerationValues, ::Ifc4x2::IfcUnit* v3_Unit); + IfcPropertyEnumeration (std::string v1_Name, aggregate_of< ::Ifc4x2::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x2::IfcUnit* v3_Unit); typedef aggregate_of< 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. @@ -12853,15 +12853,15 @@ public: /// for file based exchange. /// /// NOTE Only the select item IfcPresentationStyle shall be used from IFC2x4 onwards, the IfcPresentationStyleAssignment has been deprecated. - aggregate_of_instance::ptr Styles() const; - void setStyles(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x2::IfcStyleAssignmentSelect >::ptr Styles() const; + void setStyles(aggregate_of< ::Ifc4x2::IfcStyleAssignmentSelect >::ptr v); /// The word, or group of words, by which the styled item is referred to. boost::optional< std::string > Name() const; void setName(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcStyledItem (IfcEntityInstanceData* e); - IfcStyledItem (::Ifc4x2::IfcRepresentationItem* v1_Item, aggregate_of_instance::ptr v2_Styles, boost::optional< std::string > v3_Name); + IfcStyledItem (::Ifc4x2::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc4x2::IfcStyleAssignmentSelect >::ptr v2_Styles, boost::optional< std::string > v3_Name); typedef aggregate_of< 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. @@ -12914,12 +12914,12 @@ public: ::Ifc4x2::IfcSurfaceSide::Value Side() const; void setSide(::Ifc4x2::IfcSurfaceSide::Value v); /// A collection of different surface styles. - aggregate_of_instance::ptr Styles() const; - void setStyles(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x2::IfcSurfaceStyleElementSelect >::ptr Styles() const; + void setStyles(aggregate_of< ::Ifc4x2::IfcSurfaceStyleElementSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSurfaceStyle (IfcEntityInstanceData* e); - IfcSurfaceStyle (boost::optional< std::string > v1_Name, ::Ifc4x2::IfcSurfaceSide::Value v2_Side, aggregate_of_instance::ptr v3_Styles); + IfcSurfaceStyle (boost::optional< std::string > v1_Name, ::Ifc4x2::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x2::IfcSurfaceStyleElementSelect >::ptr v3_Styles); typedef aggregate_of< IfcSurfaceStyle > list; }; /// IfcSurfaceStyleLighting is a container class for properties for calculation of physically exact illuminance related to a particular surface style. @@ -13228,15 +13228,15 @@ public: class IFC_PARSE_API IfcTableRow : public IfcUtil::IfcBaseEntity { public: /// The data value of the table cell.. - boost::optional< aggregate_of_instance::ptr > RowCells() const; - void setRowCells(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > RowCells() const; + void setRowCells(boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::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. boost::optional< bool > IsHeading() const; void setIsHeading(boost::optional< bool > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTableRow (IfcEntityInstanceData* e); - IfcTableRow (boost::optional< aggregate_of_instance::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading); + IfcTableRow (boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading); typedef aggregate_of< IfcTableRow > list; }; /// IfcTaskTime captures the time-related information about a task including the different types (actual or scheduled) of starting and ending times. @@ -13785,12 +13785,12 @@ public: class IFC_PARSE_API IfcTimeSeriesValue : public IfcUtil::IfcBaseEntity { public: /// A list of time-series values. At least one value is required. - aggregate_of_instance::ptr ListValues() const; - void setListValues(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x2::IfcValue >::ptr ListValues() const; + void setListValues(aggregate_of< ::Ifc4x2::IfcValue >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTimeSeriesValue (IfcEntityInstanceData* e); - IfcTimeSeriesValue (aggregate_of_instance::ptr v1_ListValues); + IfcTimeSeriesValue (aggregate_of< ::Ifc4x2::IfcValue >::ptr v1_ListValues); typedef aggregate_of< IfcTimeSeriesValue > list; }; /// Definition from ISO/CD 10303-42:1992: The topological representation item is the supertype for all the topological representation items in the geometry resource. @@ -13856,12 +13856,12 @@ public: class IFC_PARSE_API IfcUnitAssignment : public IfcUtil::IfcBaseEntity { public: /// Units to be included within a unit assignment. - aggregate_of_instance::ptr Units() const; - void setUnits(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x2::IfcUnit >::ptr Units() const; + void setUnits(aggregate_of< ::Ifc4x2::IfcUnit >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcUnitAssignment (IfcEntityInstanceData* e); - IfcUnitAssignment (aggregate_of_instance::ptr v1_Units); + IfcUnitAssignment (aggregate_of< ::Ifc4x2::IfcUnit >::ptr v1_Units); typedef aggregate_of< IfcUnitAssignment > list; }; /// Definition from ISO/CD 10303-42:1992: A vertex is the topological construct corresponding to a point. It has dimensionality 0 and extent 0. The domain of a vertex, if present, is a point in m dimensional real space RM; this is represented by the vertex point subtype. @@ -14837,8 +14837,8 @@ public: ::Ifc4x2::IfcActorSelect* DocumentOwner() const; void setDocumentOwner(::Ifc4x2::IfcActorSelect* v); /// The persons and/or organizations who have created this document or contributed to it. - boost::optional< aggregate_of_instance::ptr > Editors() const; - void setEditors(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x2::IfcActorSelect >::ptr > Editors() const; + void setEditors(boost::optional< aggregate_of< ::Ifc4x2::IfcActorSelect >::ptr > v); /// 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. @@ -14879,7 +14879,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcDocumentInformation (IfcEntityInstanceData* e); - 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, ::Ifc4x2::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of_instance::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< ::Ifc4x2::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x2::IfcDocumentStatusEnum::Value > 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, ::Ifc4x2::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x2::IfcActorSelect >::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< ::Ifc4x2::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x2::IfcDocumentStatusEnum::Value > v17_Status); typedef aggregate_of< IfcDocumentInformation > list; }; /// An IfcDocumentInformationRelationship is a relationship class that enables a document to have the ability to reference other documents. @@ -15120,12 +15120,12 @@ public: ::Ifc4x2::IfcExternalReference* RelatingReference() const; void setRelatingReference(::Ifc4x2::IfcExternalReference* v); /// Objects within the list of IfcResourceObjectSelect that can be tagged by an external reference to a dictionary, library, catalogue, classification or documentation. - aggregate_of_instance::ptr RelatedResourceObjects() const; - void setRelatedResourceObjects(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr RelatedResourceObjects() const; + void setRelatedResourceObjects(aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcExternalReferenceRelationship (IfcEntityInstanceData* e); - IfcExternalReferenceRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcExternalReference* v3_RelatingReference, aggregate_of_instance::ptr v4_RelatedResourceObjects); + IfcExternalReferenceRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects); typedef aggregate_of< IfcExternalReferenceRelationship > list; }; /// Definition from ISO/CD 10303-42:1992: A face is a topological @@ -15336,14 +15336,14 @@ public: class IFC_PARSE_API IfcFillAreaStyle : public IfcPresentationStyle, public IfcPresentationStyleSelect { public: /// The set of fill area styles to use in presenting visible curve segments, annotation fill areas or surfaces. - aggregate_of_instance::ptr FillStyles() const; - void setFillStyles(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x2::IfcFillStyleSelect >::ptr FillStyles() const; + void setFillStyles(aggregate_of< ::Ifc4x2::IfcFillStyleSelect >::ptr v); boost::optional< bool > ModelorDraughting() const; void setModelorDraughting(boost::optional< bool > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcFillAreaStyle (IfcEntityInstanceData* e); - IfcFillAreaStyle (boost::optional< std::string > v1_Name, aggregate_of_instance::ptr v2_FillStyles, boost::optional< bool > v3_ModelorDraughting); + IfcFillAreaStyle (boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x2::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelorDraughting); typedef aggregate_of< IfcFillAreaStyle > list; }; /// Definition from ISO/CD 10303-42:1992: A geometric @@ -15497,12 +15497,12 @@ public: class IFC_PARSE_API 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. - aggregate_of_instance::ptr Elements() const; - void setElements(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x2::IfcGeometricSetSelect >::ptr Elements() const; + void setElements(aggregate_of< ::Ifc4x2::IfcGeometricSetSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcGeometricSet (IfcEntityInstanceData* e); - IfcGeometricSet (aggregate_of_instance::ptr v1_Elements); + IfcGeometricSet (aggregate_of< ::Ifc4x2::IfcGeometricSetSelect >::ptr v1_Elements); typedef aggregate_of< IfcGeometricSet > list; }; /// IfcGridPlacement provides a specialization of IfcObjectPlacement in which @@ -17496,15 +17496,15 @@ public: class IFC_PARSE_API IfcResourceApprovalRelationship : public IfcResourceLevelRelationship { public: /// Resource objects that are approved. - aggregate_of_instance::ptr RelatedResourceObjects() const; - void setRelatedResourceObjects(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr RelatedResourceObjects() const; + void setRelatedResourceObjects(aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr v); /// The approval for the resource objects selected. ::Ifc4x2::IfcApproval* RelatingApproval() const; void setRelatingApproval(::Ifc4x2::IfcApproval* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcResourceApprovalRelationship (IfcEntityInstanceData* e); - IfcResourceApprovalRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_RelatedResourceObjects, ::Ifc4x2::IfcApproval* v4_RelatingApproval); + IfcResourceApprovalRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x2::IfcApproval* v4_RelatingApproval); typedef aggregate_of< IfcResourceApprovalRelationship > list; }; /// An IfcResourceConstraintRelationship is a relationship @@ -17533,12 +17533,12 @@ public: ::Ifc4x2::IfcConstraint* RelatingConstraint() const; void setRelatingConstraint(::Ifc4x2::IfcConstraint* v); /// The properties to which a constraint is to be related. - aggregate_of_instance::ptr RelatedResourceObjects() const; - void setRelatedResourceObjects(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr RelatedResourceObjects() const; + void setRelatedResourceObjects(aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcResourceConstraintRelationship (IfcEntityInstanceData* e); - IfcResourceConstraintRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcConstraint* v3_RelatingConstraint, aggregate_of_instance::ptr v4_RelatedResourceObjects); + IfcResourceConstraintRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects); typedef aggregate_of< IfcResourceConstraintRelationship > list; }; /// IfcResourceTime captures the time-related information about a construction resource. @@ -17783,12 +17783,12 @@ public: /// The shells shall not overlap or intersect except at common faces, edges or vertices. class IFC_PARSE_API IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { public: - aggregate_of_instance::ptr SbsmBoundary() const; - void setSbsmBoundary(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x2::IfcShell >::ptr SbsmBoundary() const; + void setSbsmBoundary(aggregate_of< ::Ifc4x2::IfcShell >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcShellBasedSurfaceModel (IfcEntityInstanceData* e); - IfcShellBasedSurfaceModel (aggregate_of_instance::ptr v1_SbsmBoundary); + IfcShellBasedSurfaceModel (aggregate_of< ::Ifc4x2::IfcShell >::ptr v1_SbsmBoundary); typedef aggregate_of< IfcShellBasedSurfaceModel > 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. @@ -20838,7 +20838,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcGeometricCurveSet (IfcEntityInstanceData* e); - IfcGeometricCurveSet (aggregate_of_instance::ptr v1_Elements); + IfcGeometricCurveSet (aggregate_of< ::Ifc4x2::IfcGeometricSetSelect >::ptr v1_Elements); typedef aggregate_of< IfcGeometricCurveSet > list; }; /// IfcIShapeProfileDef @@ -21955,15 +21955,15 @@ 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. - boost::optional< aggregate_of_instance::ptr > EnumerationValues() const; - void setEnumerationValues(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > EnumerationValues() const; + void setEnumerationValues(boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v); /// Enumeration from which a enumeration value has been selected. The referenced enumeration also establishes the unit of the enumeration value. ::Ifc4x2::IfcPropertyEnumeration* EnumerationReference() const; void setEnumerationReference(::Ifc4x2::IfcPropertyEnumeration* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyEnumeratedValue (IfcEntityInstanceData* e); - IfcPropertyEnumeratedValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of_instance::ptr > v3_EnumerationValues, ::Ifc4x2::IfcPropertyEnumeration* v4_EnumerationReference); + IfcPropertyEnumeratedValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x2::IfcPropertyEnumeration* v4_EnumerationReference); typedef aggregate_of< IfcPropertyEnumeratedValue > list; }; /// An IfcPropertyListValue @@ -22036,15 +22036,15 @@ public: /// List of property values. /// /// IFC2x4 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. - boost::optional< aggregate_of_instance::ptr > ListValues() const; - void setListValues(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > ListValues() const; + void setListValues(boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v); /// 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. ::Ifc4x2::IfcUnit* Unit() const; void setUnit(::Ifc4x2::IfcUnit* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyListValue (IfcEntityInstanceData* e); - IfcPropertyListValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of_instance::ptr > v3_ListValues, ::Ifc4x2::IfcUnit* v4_Unit); + IfcPropertyListValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v3_ListValues, ::Ifc4x2::IfcUnit* v4_Unit); typedef aggregate_of< IfcPropertyListValue > list; }; /// IfcPropertyReferenceValue allows a property value to @@ -22384,13 +22384,13 @@ 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. - boost::optional< aggregate_of_instance::ptr > DefiningValues() const; - void setDefiningValues(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > DefiningValues() const; + void setDefiningValues(boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::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. - boost::optional< aggregate_of_instance::ptr > DefinedValues() const; - void setDefinedValues(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > DefinedValues() const; + void setDefinedValues(boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v); /// 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. boost::optional< std::string > Expression() const; void setExpression(boost::optional< std::string > v); @@ -22408,7 +22408,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyTableValue (IfcEntityInstanceData* e); - IfcPropertyTableValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of_instance::ptr > v3_DefiningValues, boost::optional< aggregate_of_instance::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x2::IfcUnit* v6_DefiningUnit, ::Ifc4x2::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x2::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation); + IfcPropertyTableValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x2::IfcUnit* v6_DefiningUnit, ::Ifc4x2::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x2::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation); typedef aggregate_of< IfcPropertyTableValue > list; }; /// The IfcPropertyTemplate is an abstract supertype @@ -22934,12 +22934,12 @@ 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. - aggregate_of_instance::ptr RelatedObjects() const; - void setRelatedObjects(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr RelatedObjects() const; + void setRelatedObjects(aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociates (IfcEntityInstanceData* e); - IfcRelAssociates (std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects); + IfcRelAssociates (std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v5_RelatedObjects); typedef aggregate_of< IfcRelAssociates > list; }; /// The entity IfcRelAssociatesApproval is used to apply approval information defined by IfcApproval, in IfcApprovalResource schema, to subtypes of IfcRoot. @@ -22953,7 +22953,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesApproval (IfcEntityInstanceData* e); - IfcRelAssociatesApproval (std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x2::IfcApproval* v6_RelatingApproval); + IfcRelAssociatesApproval (std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x2::IfcApproval* v6_RelatingApproval); typedef aggregate_of< IfcRelAssociatesApproval > list; }; /// The objectified relationship @@ -22994,7 +22994,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesClassification (IfcEntityInstanceData* e); - IfcRelAssociatesClassification (std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x2::IfcClassificationSelect* v6_RelatingClassification); + IfcRelAssociatesClassification (std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x2::IfcClassificationSelect* v6_RelatingClassification); typedef aggregate_of< IfcRelAssociatesClassification > list; }; /// The entity IfcRelAssociatesConstraint is used to apply constraint information defined by IfcConstraint, in the IfcConstraintResource schema, to subtypes of IfcRoot. @@ -23011,7 +23011,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesConstraint (IfcEntityInstanceData* e); - IfcRelAssociatesConstraint (std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x2::IfcConstraint* v7_RelatingConstraint); + IfcRelAssociatesConstraint (std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x2::IfcConstraint* v7_RelatingConstraint); typedef aggregate_of< 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). @@ -23029,7 +23029,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesDocument (IfcEntityInstanceData* e); - IfcRelAssociatesDocument (std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x2::IfcDocumentSelect* v6_RelatingDocument); + IfcRelAssociatesDocument (std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x2::IfcDocumentSelect* v6_RelatingDocument); typedef aggregate_of< IfcRelAssociatesDocument > list; }; /// The objectified relationship (IfcRelAssociatesLibrary) handles the assignment of a library item (items of the select IfcLibrarySelect) to subtypes of IfcObjectDefinition or IfcPropertyDefinition. @@ -23047,7 +23047,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesLibrary (IfcEntityInstanceData* e); - IfcRelAssociatesLibrary (std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x2::IfcLibrarySelect* v6_RelatingLibrary); + IfcRelAssociatesLibrary (std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x2::IfcLibrarySelect* v6_RelatingLibrary); typedef aggregate_of< IfcRelAssociatesLibrary > list; }; /// Definition from IAI: Objectified relationship between a @@ -23152,7 +23152,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesMaterial (IfcEntityInstanceData* e); - IfcRelAssociatesMaterial (std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x2::IfcMaterialSelect* v6_RelatingMaterial); + IfcRelAssociatesMaterial (std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x2::IfcMaterialSelect* v6_RelatingMaterial); typedef aggregate_of< 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. @@ -23625,12 +23625,12 @@ public: ::Ifc4x2::IfcContext* RelatingContext() const; void setRelatingContext(::Ifc4x2::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. - aggregate_of_instance::ptr RelatedDefinitions() const; - void setRelatedDefinitions(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr RelatedDefinitions() const; + void setRelatedDefinitions(aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelDeclares (IfcEntityInstanceData* e); - IfcRelDeclares (std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcContext* v5_RelatingContext, aggregate_of_instance::ptr v6_RelatedDefinitions); + IfcRelDeclares (std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v6_RelatedDefinitions); typedef aggregate_of< IfcRelDeclares > list; }; /// The decomposition relationship, @@ -30496,14 +30496,14 @@ class IFC_PARSE_API IfcIndexedPolyCurve : public IfcBoundedCurve { public: ::Ifc4x2::IfcCartesianPointList* Points() const; void setPoints(::Ifc4x2::IfcCartesianPointList* v); - boost::optional< aggregate_of_instance::ptr > Segments() const; - void setSegments(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x2::IfcSegmentIndexSelect >::ptr > Segments() const; + void setSegments(boost::optional< aggregate_of< ::Ifc4x2::IfcSegmentIndexSelect >::ptr > v); boost::optional< bool > SelfIntersect() const; void setSelfIntersect(boost::optional< bool > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcIndexedPolyCurve (IfcEntityInstanceData* e); - IfcIndexedPolyCurve (::Ifc4x2::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of_instance::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect); + IfcIndexedPolyCurve (::Ifc4x2::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x2::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect); typedef aggregate_of< IfcIndexedPolyCurve > list; }; /// The flow treatment device type IfcInterceptorType defines commonly shared information for occurrences of interceptors. The set of shared information may include: @@ -32519,12 +32519,12 @@ public: void setTransverseBarSpacing(boost::optional< double > v); boost::optional< std::string > BendingShapeCode() const; void setBendingShapeCode(boost::optional< std::string > v); - boost::optional< aggregate_of_instance::ptr > BendingParameters() const; - void setBendingParameters(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x2::IfcBendingParameterSelect >::ptr > BendingParameters() const; + void setBendingParameters(boost::optional< aggregate_of< ::Ifc4x2::IfcBendingParameterSelect >::ptr > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcReinforcingMeshType (IfcEntityInstanceData* e); - IfcReinforcingMeshType (std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of_instance::ptr > v20_BendingParameters); + IfcReinforcingMeshType (std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of< ::Ifc4x2::IfcBendingParameterSelect >::ptr > v20_BendingParameters); typedef aggregate_of< IfcReinforcingMeshType > list; }; /// The aggregation relationship @@ -34740,11 +34740,11 @@ public: ::Ifc4x2::IfcCurve* BasisCurve() const; void setBasisCurve(::Ifc4x2::IfcCurve* v); /// The first trimming point which may be specified as a Cartesian point, as a real parameter or both. - aggregate_of_instance::ptr Trim1() const; - void setTrim1(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x2::IfcTrimmingSelect >::ptr Trim1() const; + void setTrim1(aggregate_of< ::Ifc4x2::IfcTrimmingSelect >::ptr v); /// The second trimming point which may be specified as a Cartesian point, as a real parameter or both. - aggregate_of_instance::ptr Trim2() const; - void setTrim2(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x2::IfcTrimmingSelect >::ptr Trim2() const; + void setTrim2(aggregate_of< ::Ifc4x2::IfcTrimmingSelect >::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); @@ -34754,7 +34754,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTrimmedCurve (IfcEntityInstanceData* e); - IfcTrimmedCurve (::Ifc4x2::IfcCurve* v1_BasisCurve, aggregate_of_instance::ptr v2_Trim1, aggregate_of_instance::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x2::IfcTrimmingPreference::Value v5_MasterRepresentation); + IfcTrimmedCurve (::Ifc4x2::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x2::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x2::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x2::IfcTrimmingPreference::Value v5_MasterRepresentation); typedef aggregate_of< IfcTrimmedCurve > list; }; /// The energy conversion device type IfcTubeBundleType defines commonly shared information for occurrences of tube bundles. The set of shared information may include: @@ -44121,12 +44121,12 @@ public: void setBarSurface(boost::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value > v); boost::optional< std::string > BendingShapeCode() const; void setBendingShapeCode(boost::optional< std::string > v); - boost::optional< aggregate_of_instance::ptr > BendingParameters() const; - void setBendingParameters(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x2::IfcBendingParameterSelect >::ptr > BendingParameters() const; + void setBendingParameters(boost::optional< aggregate_of< ::Ifc4x2::IfcBendingParameterSelect >::ptr > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcReinforcingBarType (IfcEntityInstanceData* e); - IfcReinforcingBarType (std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of_instance::ptr > v16_BendingParameters); + IfcReinforcingBarType (std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x2::IfcBendingParameterSelect >::ptr > v16_BendingParameters); typedef aggregate_of< IfcReinforcingBarType > list; }; /// Definition from ISO 6707-1:1989: Construction enclosing the building from above. diff --git a/src/ifcparse/Ifc4x3_add1-definitions.h b/src/ifcparse/Ifc4x3_add1-definitions.h index 9edba44aec..2ff7176188 100644 --- a/src/ifcparse/Ifc4x3_add1-definitions.h +++ b/src/ifcparse/Ifc4x3_add1-definitions.h @@ -4043,3 +4043,53 @@ #define SCHEMA_HAS_IfcZone #define SCHEMA_IfcZone_HAS_LongName #define SCHEMA_IfcZone_LongName_IS_OPTIONAL +#define SCHEMA_HAS_IfcRepresentationContextSameWCS +#define SCHEMA_HAS_IfcSingleProjectInstance +#define SCHEMA_HAS_IfcAssociatedSurface +#define SCHEMA_HAS_IfcBaseAxis +#define SCHEMA_HAS_IfcBooleanChoose +#define SCHEMA_HAS_IfcBuild2Axes +#define SCHEMA_HAS_IfcBuildAxes +#define SCHEMA_HAS_IfcConsecutiveSegments +#define SCHEMA_HAS_IfcConstraintsParamBSpline +#define SCHEMA_HAS_IfcConvertDirectionInto2D +#define SCHEMA_HAS_IfcCorrectDimensions +#define SCHEMA_HAS_IfcCorrectFillAreaStyle +#define SCHEMA_HAS_IfcCorrectLocalPlacement +#define SCHEMA_HAS_IfcCorrectUnitAssignment +#define SCHEMA_HAS_IfcCrossProduct +#define SCHEMA_HAS_IfcCurveDim +#define SCHEMA_HAS_IfcCurveWeightsPositive +#define SCHEMA_HAS_IfcDeriveDimensionalExponents +#define SCHEMA_HAS_IfcDimensionsForSIUnit +#define SCHEMA_HAS_IfcDotProduct +#define SCHEMA_HAS_IfcFirstProjAxis +#define SCHEMA_HAS_IfcGetBasisSurface +#define SCHEMA_HAS_IfcListToArray +#define SCHEMA_HAS_IfcLoopHeadToTail +#define SCHEMA_HAS_IfcMakeArrayOfArray +#define SCHEMA_HAS_IfcMlsTotalThickness +#define SCHEMA_HAS_IfcNormalise +#define SCHEMA_HAS_IfcOrthogonalComplement +#define SCHEMA_HAS_IfcPathHeadToTail +#define SCHEMA_HAS_IfcPointDim +#define SCHEMA_HAS_IfcPointListDim +#define SCHEMA_HAS_IfcSameAxis2Placement +#define SCHEMA_HAS_IfcSameCartesianPoint +#define SCHEMA_HAS_IfcSameDirection +#define SCHEMA_HAS_IfcSameValidPrecision +#define SCHEMA_HAS_IfcSameValue +#define SCHEMA_HAS_IfcScalarTimesVector +#define SCHEMA_HAS_IfcSecondProjAxis +#define SCHEMA_HAS_IfcSegmentDim +#define SCHEMA_HAS_IfcShapeRepresentationTypes +#define SCHEMA_HAS_IfcSurfaceWeightsPositive +#define SCHEMA_HAS_IfcTaperedSweptAreaProfiles +#define SCHEMA_HAS_IfcTopologyRepresentationTypes +#define SCHEMA_HAS_IfcUniqueDefinitionNames +#define SCHEMA_HAS_IfcUniquePropertyName +#define SCHEMA_HAS_IfcUniquePropertySetNames +#define SCHEMA_HAS_IfcUniquePropertyTemplateNames +#define SCHEMA_HAS_IfcUniqueQuantityNames +#define SCHEMA_HAS_IfcVectorDifference +#define SCHEMA_HAS_IfcVectorSum diff --git a/src/ifcparse/Ifc4x3_add1.cpp b/src/ifcparse/Ifc4x3_add1.cpp index a30b67c589..af3803e19d 100644 --- a/src/ifcparse/Ifc4x3_add1.cpp +++ b/src/ifcparse/Ifc4x3_add1.cpp @@ -15569,8 +15569,8 @@ boost::optional< std::string > Ifc4x3_add1::IfcDocumentInformation::Revision() c void Ifc4x3_add1::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3_add1::IfcActorSelect* Ifc4x3_add1::IfcDocumentInformation::DocumentOwner() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_add1::IfcActorSelect>(true); } void Ifc4x3_add1::IfcDocumentInformation::setDocumentOwner(::Ifc4x3_add1::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x3_add1::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(9); return v; } -void Ifc4x3_add1::IfcDocumentInformation::setEditors(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcActorSelect >::ptr > Ifc4x3_add1::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_add1::IfcActorSelect >::ptr v = *data_->getArgument(9); return v; } +void Ifc4x3_add1::IfcDocumentInformation::setEditors(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcActorSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_add1::IfcDocumentInformation::CreationTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } void Ifc4x3_add1::IfcDocumentInformation::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4x3_add1::IfcDocumentInformation::LastRevisionTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } @@ -15594,7 +15594,7 @@ void Ifc4x3_add1::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x3_ad const IfcParse::entity& Ifc4x3_add1::IfcDocumentInformation::declaration() const { return *IFC4X3_ADD1_IfcDocumentInformation_type; } const IfcParse::entity& Ifc4x3_add1::IfcDocumentInformation::Class() { return *IFC4X3_ADD1_IfcDocumentInformation_type; } Ifc4x3_add1::IfcDocumentInformation::IfcDocumentInformation(IfcEntityInstanceData* e) : IfcExternalInformation((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcDocumentInformation_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::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, ::Ifc4x3_add1::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of_instance::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< ::Ifc4x3_add1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_add1::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Identification));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Location));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CreationTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LastRevisionTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LastRevisionTime));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ElectronicFormat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ElectronicFormat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ValidFrom) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ValidFrom));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ValidUntil) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ValidUntil));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc4x3_add1::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc4x3_add1::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } +Ifc4x3_add1::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, ::Ifc4x3_add1::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcActorSelect >::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< ::Ifc4x3_add1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_add1::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Identification));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Location));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CreationTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LastRevisionTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LastRevisionTime));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ElectronicFormat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ElectronicFormat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ValidFrom) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ValidFrom));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ValidUntil) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ValidUntil));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc4x3_add1::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc4x3_add1::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } // Function implementations for IfcDocumentInformationRelationship ::Ifc4x3_add1::IfcDocumentInformation* Ifc4x3_add1::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_add1::IfcDocumentInformation>(true); } @@ -16265,14 +16265,14 @@ Ifc4x3_add1::IfcExternalReference::IfcExternalReference(boost::optional< std::st // Function implementations for IfcExternalReferenceRelationship ::Ifc4x3_add1::IfcExternalReference* Ifc4x3_add1::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_add1::IfcExternalReference>(true); } void Ifc4x3_add1::IfcExternalReferenceRelationship::setRelatingReference(::Ifc4x3_add1::IfcExternalReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -aggregate_of_instance::ptr Ifc4x3_add1::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } -void Ifc4x3_add1::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr Ifc4x3_add1::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr v = *data_->getArgument(3); return v; } +void Ifc4x3_add1::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_add1::IfcExternalReferenceRelationship::declaration() const { return *IFC4X3_ADD1_IfcExternalReferenceRelationship_type; } const IfcParse::entity& Ifc4x3_add1::IfcExternalReferenceRelationship::Class() { return *IFC4X3_ADD1_IfcExternalReferenceRelationship_type; } Ifc4x3_add1::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcExternalReferenceRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcExternalReference* v3_RelatingReference, aggregate_of_instance::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcExternalReferenceRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingReference));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } +Ifc4x3_add1::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcExternalReferenceRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingReference));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } // Function implementations for IfcExternalSpatialElement boost::optional< ::Ifc4x3_add1::IfcExternalSpatialElementTypeEnum::Value > Ifc4x3_add1::IfcExternalSpatialElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcExternalSpatialElementTypeEnum::FromString(*data_->getArgument(8)); } @@ -16525,8 +16525,8 @@ Ifc4x3_add1::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcEntit Ifc4x3_add1::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcFeatureElementSubtraction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcFillAreaStyle -aggregate_of_instance::ptr Ifc4x3_add1::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_add1::IfcFillAreaStyle::setFillStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_add1::IfcFillStyleSelect >::ptr Ifc4x3_add1::IfcFillAreaStyle::FillStyles() const { aggregate_of< ::Ifc4x3_add1::IfcFillStyleSelect >::ptr v = *data_->getArgument(1); return v; } +void Ifc4x3_add1::IfcFillAreaStyle::setFillStyles(aggregate_of< ::Ifc4x3_add1::IfcFillStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x3_add1::IfcFillAreaStyle::ModelOrDraughting() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } void Ifc4x3_add1::IfcFillAreaStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } @@ -16534,7 +16534,7 @@ void Ifc4x3_add1::IfcFillAreaStyle::setModelOrDraughting(boost::optional< bool > const IfcParse::entity& Ifc4x3_add1::IfcFillAreaStyle::declaration() const { return *IFC4X3_ADD1_IfcFillAreaStyle_type; } const IfcParse::entity& Ifc4x3_add1::IfcFillAreaStyle::Class() { return *IFC4X3_ADD1_IfcFillAreaStyle_type; } Ifc4x3_add1::IfcFillAreaStyle::IfcFillAreaStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcFillAreaStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of_instance::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles));data_->setArgument(1,attr);} if (v3_ModelOrDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ModelOrDraughting));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x3_add1::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_add1::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles));data_->setArgument(1,attr);} if (v3_ModelOrDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ModelOrDraughting));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcFillAreaStyleHatching ::Ifc4x3_add1::IfcCurveStyle* Ifc4x3_add1::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_add1::IfcCurveStyle>(true); } @@ -16868,7 +16868,7 @@ Ifc4x3_add1::IfcGeographicElementType::IfcGeographicElementType(std::string v1_G const IfcParse::entity& Ifc4x3_add1::IfcGeometricCurveSet::declaration() const { return *IFC4X3_ADD1_IfcGeometricCurveSet_type; } const IfcParse::entity& Ifc4x3_add1::IfcGeometricCurveSet::Class() { return *IFC4X3_ADD1_IfcGeometricCurveSet_type; } Ifc4x3_add1::IfcGeometricCurveSet::IfcGeometricCurveSet(IfcEntityInstanceData* e) : IfcGeometricSet((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcGeometricCurveSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of_instance::ptr v1_Elements) : IfcGeometricSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcGeometricCurveSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } +Ifc4x3_add1::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4x3_add1::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcGeometricCurveSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } // Function implementations for IfcGeometricRepresentationContext int Ifc4x3_add1::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = *data_->getArgument(2); return v; } @@ -16913,14 +16913,14 @@ Ifc4x3_add1::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSub Ifc4x3_add1::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, ::Ifc4x3_add1::IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, ::Ifc4x3_add1::IfcGeometricProjectionEnum::Value v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcGeometricRepresentationSubContext_type); if (v1_ContextIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_ContextIdentifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_ContextType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ContextType));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ParentContext));data_->setArgument(6,attr);} if (v8_TargetScale) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_TargetScale));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_TargetView,::Ifc4x3_add1::IfcGeometricProjectionEnum::ToString(v9_TargetView))));data_->setArgument(8,attr);} if (v10_UserDefinedTargetView) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_UserDefinedTargetView));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcGeometricSet -aggregate_of_instance::ptr Ifc4x3_add1::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_add1::IfcGeometricSet::setElements(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_add1::IfcGeometricSetSelect >::ptr Ifc4x3_add1::IfcGeometricSet::Elements() const { aggregate_of< ::Ifc4x3_add1::IfcGeometricSetSelect >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x3_add1::IfcGeometricSet::setElements(aggregate_of< ::Ifc4x3_add1::IfcGeometricSetSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_add1::IfcGeometricSet::declaration() const { return *IFC4X3_ADD1_IfcGeometricSet_type; } const IfcParse::entity& Ifc4x3_add1::IfcGeometricSet::Class() { return *IFC4X3_ADD1_IfcGeometricSet_type; } Ifc4x3_add1::IfcGeometricSet::IfcGeometricSet(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcGeometricSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcGeometricSet::IfcGeometricSet(aggregate_of_instance::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcGeometricSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } +Ifc4x3_add1::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x3_add1::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcGeometricSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } // Function implementations for IfcGeomodel @@ -17155,8 +17155,8 @@ Ifc4x3_add1::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4x3_add1::IfcTessella // Function implementations for IfcIndexedPolyCurve ::Ifc4x3_add1::IfcCartesianPointList* Ifc4x3_add1::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_add1::IfcCartesianPointList>(true); } void Ifc4x3_add1::IfcIndexedPolyCurve::setPoints(::Ifc4x3_add1::IfcCartesianPointList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x3_add1::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_add1::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcSegmentIndexSelect >::ptr > Ifc4x3_add1::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_add1::IfcSegmentIndexSelect >::ptr v = *data_->getArgument(1); return v; } +void Ifc4x3_add1::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcSegmentIndexSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x3_add1::IfcIndexedPolyCurve::SelfIntersect() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } void Ifc4x3_add1::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } @@ -17164,7 +17164,7 @@ void Ifc4x3_add1::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > const IfcParse::entity& Ifc4x3_add1::IfcIndexedPolyCurve::declaration() const { return *IFC4X3_ADD1_IfcIndexedPolyCurve_type; } const IfcParse::entity& Ifc4x3_add1::IfcIndexedPolyCurve::Class() { return *IFC4X3_ADD1_IfcIndexedPolyCurve_type; } Ifc4x3_add1::IfcIndexedPolyCurve::IfcIndexedPolyCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcIndexedPolyCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x3_add1::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of_instance::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcIndexedPolyCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Points));data_->setArgument(0,attr);} if (v2_Segments) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Segments));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_SelfIntersect) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_SelfIntersect));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x3_add1::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x3_add1::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcIndexedPolyCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Points));data_->setArgument(0,attr);} if (v2_Segments) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Segments));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_SelfIntersect) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_SelfIntersect));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcIndexedPolygonalFace std::vector< int > /*[3:?]*/ Ifc4x3_add1::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = *data_->getArgument(0); return v; } @@ -17281,14 +17281,14 @@ Ifc4x3_add1::IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, // Function implementations for IfcIrregularTimeSeriesValue std::string Ifc4x3_add1::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_add1::IfcIrregularTimeSeriesValue::setTimeStamp(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of_instance::ptr Ifc4x3_add1::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_add1::IfcIrregularTimeSeriesValue::setListValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr Ifc4x3_add1::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v = *data_->getArgument(1); return v; } +void Ifc4x3_add1::IfcIrregularTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_add1::IfcIrregularTimeSeriesValue::declaration() const { return *IFC4X3_ADD1_IfcIrregularTimeSeriesValue_type; } const IfcParse::entity& Ifc4x3_add1::IfcIrregularTimeSeriesValue::Class() { return *IFC4X3_ADD1_IfcIrregularTimeSeriesValue_type; } Ifc4x3_add1::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcIrregularTimeSeriesValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of_instance::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcIrregularTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TimeStamp));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ListValues));data_->setArgument(1,attr);} } +Ifc4x3_add1::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcIrregularTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TimeStamp));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ListValues));data_->setArgument(1,attr);} } // Function implementations for IfcJunctionBox boost::optional< ::Ifc4x3_add1::IfcJunctionBoxTypeEnum::Value > Ifc4x3_add1::IfcJunctionBox::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcJunctionBoxTypeEnum::FromString(*data_->getArgument(8)); } @@ -17745,8 +17745,8 @@ Ifc4x3_add1::IfcMaterial::IfcMaterial(IfcEntityInstanceData* e) : IfcMaterialDef Ifc4x3_add1::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_Category) : IfcMaterialDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Category) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Category));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcMaterialClassificationRelationship -aggregate_of_instance::ptr Ifc4x3_add1::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_add1::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_add1::IfcClassificationSelect >::ptr Ifc4x3_add1::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of< ::Ifc4x3_add1::IfcClassificationSelect >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x3_add1::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of< ::Ifc4x3_add1::IfcClassificationSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4x3_add1::IfcMaterial* Ifc4x3_add1::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_add1::IfcMaterial>(true); } void Ifc4x3_add1::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc4x3_add1::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -17754,7 +17754,7 @@ void Ifc4x3_add1::IfcMaterialClassificationRelationship::setClassifiedMaterial(: const IfcParse::entity& Ifc4x3_add1::IfcMaterialClassificationRelationship::declaration() const { return *IFC4X3_ADD1_IfcMaterialClassificationRelationship_type; } const IfcParse::entity& Ifc4x3_add1::IfcMaterialClassificationRelationship::Class() { return *IFC4X3_ADD1_IfcMaterialClassificationRelationship_type; } Ifc4x3_add1::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcMaterialClassificationRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of_instance::ptr v1_MaterialClassifications, ::Ifc4x3_add1::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcMaterialClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialClassifications));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ClassifiedMaterial));data_->setArgument(1,attr);} } +Ifc4x3_add1::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4x3_add1::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x3_add1::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcMaterialClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialClassifications));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ClassifiedMaterial));data_->setArgument(1,attr);} } // Function implementations for IfcMaterialConstituent boost::optional< std::string > Ifc4x3_add1::IfcMaterialConstituent::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -18981,8 +18981,8 @@ std::string Ifc4x3_add1::IfcPresentationLayerAssignment::Name() const { std::st void Ifc4x3_add1::IfcPresentationLayerAssignment::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_add1::IfcPresentationLayerAssignment::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x3_add1::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } -aggregate_of_instance::ptr Ifc4x3_add1::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_add1::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_add1::IfcLayeredItem >::ptr Ifc4x3_add1::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of< ::Ifc4x3_add1::IfcLayeredItem >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x3_add1::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of< ::Ifc4x3_add1::IfcLayeredItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_add1::IfcPresentationLayerAssignment::Identifier() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4x3_add1::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } @@ -18990,7 +18990,7 @@ void Ifc4x3_add1::IfcPresentationLayerAssignment::setIdentifier(boost::optional< const IfcParse::entity& Ifc4x3_add1::IfcPresentationLayerAssignment::declaration() const { return *IFC4X3_ADD1_IfcPresentationLayerAssignment_type; } const IfcParse::entity& Ifc4x3_add1::IfcPresentationLayerAssignment::Class() { return *IFC4X3_ADD1_IfcPresentationLayerAssignment_type; } Ifc4x3_add1::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcPresentationLayerAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcPresentationLayerAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } +Ifc4x3_add1::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add1::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcPresentationLayerAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcPresentationLayerWithStyle boost::logic::tribool Ifc4x3_add1::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = *data_->getArgument(4); return v; } @@ -19006,7 +19006,7 @@ void Ifc4x3_add1::IfcPresentationLayerWithStyle::setLayerStyles(aggregate_of< :: const IfcParse::entity& Ifc4x3_add1::IfcPresentationLayerWithStyle::declaration() const { return *IFC4X3_ADD1_IfcPresentationLayerWithStyle_type; } const IfcParse::entity& Ifc4x3_add1::IfcPresentationLayerWithStyle::Class() { return *IFC4X3_ADD1_IfcPresentationLayerWithStyle_type; } Ifc4x3_add1::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcEntityInstanceData* e) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcPresentationLayerWithStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_add1::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcPresentationLayerWithStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_LayerOn));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LayerFrozen));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LayerBlocked));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LayerStyles)->generalize());data_->setArgument(7,attr);} } +Ifc4x3_add1::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add1::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_add1::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcPresentationLayerWithStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_LayerOn));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LayerFrozen));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LayerBlocked));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LayerStyles)->generalize());data_->setArgument(7,attr);} } // Function implementations for IfcPresentationStyle boost::optional< std::string > Ifc4x3_add1::IfcPresentationStyle::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -19242,8 +19242,8 @@ Ifc4x3_add1::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationshi Ifc4x3_add1::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcProperty* v3_DependingProperty, ::Ifc4x3_add1::IfcProperty* v4_DependantProperty, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcPropertyDependencyRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_DependingProperty));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_DependantProperty));data_->setArgument(3,attr);} if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcPropertyEnumeratedValue -boost::optional< aggregate_of_instance::ptr > Ifc4x3_add1::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_add1::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > Ifc4x3_add1::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x3_add1::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_add1::IfcPropertyEnumeration* Ifc4x3_add1::IfcPropertyEnumeratedValue::EnumerationReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_add1::IfcPropertyEnumeration>(true); } void Ifc4x3_add1::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x3_add1::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19251,13 +19251,13 @@ void Ifc4x3_add1::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x3_a const IfcParse::entity& Ifc4x3_add1::IfcPropertyEnumeratedValue::declaration() const { return *IFC4X3_ADD1_IfcPropertyEnumeratedValue_type; } const IfcParse::entity& Ifc4x3_add1::IfcPropertyEnumeratedValue::Class() { return *IFC4X3_ADD1_IfcPropertyEnumeratedValue_type; } Ifc4x3_add1::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcPropertyEnumeratedValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of_instance::ptr > v3_EnumerationValues, ::Ifc4x3_add1::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcPropertyEnumeratedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Specification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Specification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EnumerationValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EnumerationValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EnumerationReference));data_->setArgument(3,attr);} } +Ifc4x3_add1::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x3_add1::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcPropertyEnumeratedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Specification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Specification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EnumerationValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EnumerationValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EnumerationReference));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyEnumeration std::string Ifc4x3_add1::IfcPropertyEnumeration::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_add1::IfcPropertyEnumeration::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of_instance::ptr Ifc4x3_add1::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_add1::IfcPropertyEnumeration::setEnumerationValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr Ifc4x3_add1::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v = *data_->getArgument(1); return v; } +void Ifc4x3_add1::IfcPropertyEnumeration::setEnumerationValues(aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } ::Ifc4x3_add1::IfcUnit* Ifc4x3_add1::IfcPropertyEnumeration::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_add1::IfcUnit>(true); } void Ifc4x3_add1::IfcPropertyEnumeration::setUnit(::Ifc4x3_add1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -19265,11 +19265,11 @@ void Ifc4x3_add1::IfcPropertyEnumeration::setUnit(::Ifc4x3_add1::IfcUnit* v) { { const IfcParse::entity& Ifc4x3_add1::IfcPropertyEnumeration::declaration() const { return *IFC4X3_ADD1_IfcPropertyEnumeration_type; } const IfcParse::entity& Ifc4x3_add1::IfcPropertyEnumeration::Class() { return *IFC4X3_ADD1_IfcPropertyEnumeration_type; } Ifc4x3_add1::IfcPropertyEnumeration::IfcPropertyEnumeration(IfcEntityInstanceData* e) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcPropertyEnumeration_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of_instance::ptr v2_EnumerationValues, ::Ifc4x3_add1::IfcUnit* v3_Unit) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcPropertyEnumeration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EnumerationValues));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);} } +Ifc4x3_add1::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x3_add1::IfcUnit* v3_Unit) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcPropertyEnumeration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EnumerationValues));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);} } // Function implementations for IfcPropertyListValue -boost::optional< aggregate_of_instance::ptr > Ifc4x3_add1::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_add1::IfcPropertyListValue::setListValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > Ifc4x3_add1::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x3_add1::IfcPropertyListValue::setListValues(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_add1::IfcUnit* Ifc4x3_add1::IfcPropertyListValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_add1::IfcUnit>(true); } void Ifc4x3_add1::IfcPropertyListValue::setUnit(::Ifc4x3_add1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19277,7 +19277,7 @@ void Ifc4x3_add1::IfcPropertyListValue::setUnit(::Ifc4x3_add1::IfcUnit* v) { {If const IfcParse::entity& Ifc4x3_add1::IfcPropertyListValue::declaration() const { return *IFC4X3_ADD1_IfcPropertyListValue_type; } const IfcParse::entity& Ifc4x3_add1::IfcPropertyListValue::Class() { return *IFC4X3_ADD1_IfcPropertyListValue_type; } Ifc4x3_add1::IfcPropertyListValue::IfcPropertyListValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcPropertyListValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of_instance::ptr > v3_ListValues, ::Ifc4x3_add1::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcPropertyListValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Specification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Specification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ListValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ListValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } +Ifc4x3_add1::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v3_ListValues, ::Ifc4x3_add1::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcPropertyListValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Specification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Specification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ListValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ListValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyReferenceValue boost::optional< std::string > Ifc4x3_add1::IfcPropertyReferenceValue::UsageName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } @@ -19340,10 +19340,10 @@ Ifc4x3_add1::IfcPropertySingleValue::IfcPropertySingleValue(IfcEntityInstanceDat Ifc4x3_add1::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Specification, ::Ifc4x3_add1::IfcValue* v3_NominalValue, ::Ifc4x3_add1::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcPropertySingleValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Specification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Specification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_NominalValue));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyTableValue -boost::optional< aggregate_of_instance::ptr > Ifc4x3_add1::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_add1::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x3_add1::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } -void Ifc4x3_add1::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > Ifc4x3_add1::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x3_add1::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > Ifc4x3_add1::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v = *data_->getArgument(3); return v; } +void Ifc4x3_add1::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_add1::IfcPropertyTableValue::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x3_add1::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x3_add1::IfcUnit* Ifc4x3_add1::IfcPropertyTableValue::DefiningUnit() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_add1::IfcUnit>(true); } @@ -19357,7 +19357,7 @@ void Ifc4x3_add1::IfcPropertyTableValue::setCurveInterpolation(boost::optional< const IfcParse::entity& Ifc4x3_add1::IfcPropertyTableValue::declaration() const { return *IFC4X3_ADD1_IfcPropertyTableValue_type; } const IfcParse::entity& Ifc4x3_add1::IfcPropertyTableValue::Class() { return *IFC4X3_ADD1_IfcPropertyTableValue_type; } Ifc4x3_add1::IfcPropertyTableValue::IfcPropertyTableValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcPropertyTableValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of_instance::ptr > v3_DefiningValues, boost::optional< aggregate_of_instance::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_add1::IfcUnit* v6_DefiningUnit, ::Ifc4x3_add1::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_add1::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcPropertyTableValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Specification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Specification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_DefiningValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_DefiningValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DefinedValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DefinedValues));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_DefiningUnit));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_DefinedUnit));data_->setArgument(6,attr);} if (v8_CurveInterpolation) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_CurveInterpolation,::Ifc4x3_add1::IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } +Ifc4x3_add1::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_add1::IfcUnit* v6_DefiningUnit, ::Ifc4x3_add1::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_add1::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcPropertyTableValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Specification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Specification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_DefiningValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_DefiningValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DefinedValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DefinedValues));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_DefiningUnit));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_DefinedUnit));data_->setArgument(6,attr);} if (v8_CurveInterpolation) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_CurveInterpolation,::Ifc4x3_add1::IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcPropertyTemplate @@ -19848,14 +19848,14 @@ boost::optional< ::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_add void Ifc4x3_add1::IfcReinforcingBarType::setBarSurface(boost::optional< ::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::ToString(*v)));}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4x3_add1::IfcReinforcingBarType::BendingShapeCode() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } void Ifc4x3_add1::IfcReinforcingBarType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x3_add1::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(15); return v; } -void Ifc4x3_add1::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcBendingParameterSelect >::ptr > Ifc4x3_add1::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_add1::IfcBendingParameterSelect >::ptr v = *data_->getArgument(15); return v; } +void Ifc4x3_add1::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } const IfcParse::entity& Ifc4x3_add1::IfcReinforcingBarType::declaration() const { return *IFC4X3_ADD1_IfcReinforcingBarType_type; } const IfcParse::entity& Ifc4x3_add1::IfcReinforcingBarType::Class() { return *IFC4X3_ADD1_IfcReinforcingBarType_type; } Ifc4x3_add1::IfcReinforcingBarType::IfcReinforcingBarType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcReinforcingBarType_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of_instance::ptr > v16_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcReinforcingBarType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_add1::IfcReinforcingBarTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_BarLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_BarLength));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_BarSurface) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_BarSurface,::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_BendingShapeCode));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_BendingParameters));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } } +Ifc4x3_add1::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcReinforcingBarType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_add1::IfcReinforcingBarTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_BarLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_BarLength));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_BarSurface) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_BarSurface,::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_BendingShapeCode));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_BendingParameters));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } } // Function implementations for IfcReinforcingElement boost::optional< std::string > Ifc4x3_add1::IfcReinforcingElement::SteelGrade() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } @@ -19922,14 +19922,14 @@ boost::optional< double > Ifc4x3_add1::IfcReinforcingMeshType::TransverseBarSpac void Ifc4x3_add1::IfcReinforcingMeshType::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(17,attr);} } boost::optional< std::string > Ifc4x3_add1::IfcReinforcingMeshType::BendingShapeCode() const { if(!data_->getArgument(18) || data_->getArgument(18)->isNull()) { return boost::none; } std::string v = *data_->getArgument(18); return v; } void Ifc4x3_add1::IfcReinforcingMeshType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(18,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x3_add1::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(19); return v; } -void Ifc4x3_add1::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(19,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcBendingParameterSelect >::ptr > Ifc4x3_add1::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_add1::IfcBendingParameterSelect >::ptr v = *data_->getArgument(19); return v; } +void Ifc4x3_add1::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(19,attr);} } const IfcParse::entity& Ifc4x3_add1::IfcReinforcingMeshType::declaration() const { return *IFC4X3_ADD1_IfcReinforcingMeshType_type; } const IfcParse::entity& Ifc4x3_add1::IfcReinforcingMeshType::Class() { return *IFC4X3_ADD1_IfcReinforcingMeshType_type; } Ifc4x3_add1::IfcReinforcingMeshType::IfcReinforcingMeshType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcReinforcingMeshType_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of_instance::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcReinforcingMeshType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_add1::IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshLength));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_MeshWidth));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LongitudinalBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TransverseBarNominalDiameter));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LongitudinalBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_TransverseBarCrossSectionArea));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LongitudinalBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_TransverseBarSpacing));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_BendingShapeCode));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_BendingParameters));data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } +Ifc4x3_add1::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of< ::Ifc4x3_add1::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcReinforcingMeshType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_add1::IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshLength));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_MeshWidth));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LongitudinalBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TransverseBarNominalDiameter));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LongitudinalBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_TransverseBarCrossSectionArea));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LongitudinalBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_TransverseBarSpacing));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_BendingShapeCode));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_BendingParameters));data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } // Function implementations for IfcRelAdheresToElement ::Ifc4x3_add1::IfcElement* Ifc4x3_add1::IfcRelAdheresToElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_add1::IfcElement>(true); } @@ -20042,14 +20042,14 @@ Ifc4x3_add1::IfcRelAssignsToResource::IfcRelAssignsToResource(IfcEntityInstanceD Ifc4x3_add1::IfcRelAssignsToResource::IfcRelAssignsToResource(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add1::IfcResourceSelect* v7_RelatingResource) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcRelAssignsToResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_RelatedObjectsType));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingResource));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociates -aggregate_of_instance::ptr Ifc4x3_add1::IfcRelAssociates::RelatedObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(4); return v; } -void Ifc4x3_add1::IfcRelAssociates::setRelatedObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr Ifc4x3_add1::IfcRelAssociates::RelatedObjects() const { aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v = *data_->getArgument(4); return v; } +void Ifc4x3_add1::IfcRelAssociates::setRelatedObjects(aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_add1::IfcRelAssociates::declaration() const { return *IFC4X3_ADD1_IfcRelAssociates_type; } const IfcParse::entity& Ifc4x3_add1::IfcRelAssociates::Class() { return *IFC4X3_ADD1_IfcRelAssociates_type; } Ifc4x3_add1::IfcRelAssociates::IfcRelAssociates(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcRelAssociates_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} } +Ifc4x3_add1::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} } // Function implementations for IfcRelAssociatesApproval ::Ifc4x3_add1::IfcApproval* Ifc4x3_add1::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_add1::IfcApproval>(true); } @@ -20059,7 +20059,7 @@ void Ifc4x3_add1::IfcRelAssociatesApproval::setRelatingApproval(::Ifc4x3_add1::I const IfcParse::entity& Ifc4x3_add1::IfcRelAssociatesApproval::declaration() const { return *IFC4X3_ADD1_IfcRelAssociatesApproval_type; } const IfcParse::entity& Ifc4x3_add1::IfcRelAssociatesApproval::Class() { return *IFC4X3_ADD1_IfcRelAssociatesApproval_type; } Ifc4x3_add1::IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcRelAssociatesApproval_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } +Ifc4x3_add1::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesClassification ::Ifc4x3_add1::IfcClassificationSelect* Ifc4x3_add1::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_add1::IfcClassificationSelect>(true); } @@ -20069,7 +20069,7 @@ void Ifc4x3_add1::IfcRelAssociatesClassification::setRelatingClassification(::If const IfcParse::entity& Ifc4x3_add1::IfcRelAssociatesClassification::declaration() const { return *IFC4X3_ADD1_IfcRelAssociatesClassification_type; } const IfcParse::entity& Ifc4x3_add1::IfcRelAssociatesClassification::Class() { return *IFC4X3_ADD1_IfcRelAssociatesClassification_type; } Ifc4x3_add1::IfcRelAssociatesClassification::IfcRelAssociatesClassification(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcRelAssociatesClassification_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcRelAssociatesClassification_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingClassification));data_->setArgument(5,attr);} } +Ifc4x3_add1::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcRelAssociatesClassification_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingClassification));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesConstraint boost::optional< std::string > Ifc4x3_add1::IfcRelAssociatesConstraint::Intent() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } @@ -20081,7 +20081,7 @@ void Ifc4x3_add1::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc4x3_add const IfcParse::entity& Ifc4x3_add1::IfcRelAssociatesConstraint::declaration() const { return *IFC4X3_ADD1_IfcRelAssociatesConstraint_type; } const IfcParse::entity& Ifc4x3_add1::IfcRelAssociatesConstraint::Class() { return *IFC4X3_ADD1_IfcRelAssociatesConstraint_type; } Ifc4x3_add1::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcRelAssociatesConstraint_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_add1::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} if (v6_Intent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Intent));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } +Ifc4x3_add1::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_add1::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} if (v6_Intent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Intent));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociatesDocument ::Ifc4x3_add1::IfcDocumentSelect* Ifc4x3_add1::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_add1::IfcDocumentSelect>(true); } @@ -20091,7 +20091,7 @@ void Ifc4x3_add1::IfcRelAssociatesDocument::setRelatingDocument(::Ifc4x3_add1::I const IfcParse::entity& Ifc4x3_add1::IfcRelAssociatesDocument::declaration() const { return *IFC4X3_ADD1_IfcRelAssociatesDocument_type; } const IfcParse::entity& Ifc4x3_add1::IfcRelAssociatesDocument::Class() { return *IFC4X3_ADD1_IfcRelAssociatesDocument_type; } Ifc4x3_add1::IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcRelAssociatesDocument_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } +Ifc4x3_add1::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesLibrary ::Ifc4x3_add1::IfcLibrarySelect* Ifc4x3_add1::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_add1::IfcLibrarySelect>(true); } @@ -20101,7 +20101,7 @@ void Ifc4x3_add1::IfcRelAssociatesLibrary::setRelatingLibrary(::Ifc4x3_add1::Ifc const IfcParse::entity& Ifc4x3_add1::IfcRelAssociatesLibrary::declaration() const { return *IFC4X3_ADD1_IfcRelAssociatesLibrary_type; } const IfcParse::entity& Ifc4x3_add1::IfcRelAssociatesLibrary::Class() { return *IFC4X3_ADD1_IfcRelAssociatesLibrary_type; } Ifc4x3_add1::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcRelAssociatesLibrary_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } +Ifc4x3_add1::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesMaterial ::Ifc4x3_add1::IfcMaterialSelect* Ifc4x3_add1::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_add1::IfcMaterialSelect>(true); } @@ -20111,7 +20111,7 @@ void Ifc4x3_add1::IfcRelAssociatesMaterial::setRelatingMaterial(::Ifc4x3_add1::I const IfcParse::entity& Ifc4x3_add1::IfcRelAssociatesMaterial::declaration() const { return *IFC4X3_ADD1_IfcRelAssociatesMaterial_type; } const IfcParse::entity& Ifc4x3_add1::IfcRelAssociatesMaterial::Class() { return *IFC4X3_ADD1_IfcRelAssociatesMaterial_type; } Ifc4x3_add1::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcRelAssociatesMaterial_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcRelAssociatesMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingMaterial));data_->setArgument(5,attr);} } +Ifc4x3_add1::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcRelAssociatesMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingMaterial));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesProfileDef ::Ifc4x3_add1::IfcProfileDef* Ifc4x3_add1::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_add1::IfcProfileDef>(true); } @@ -20121,7 +20121,7 @@ void Ifc4x3_add1::IfcRelAssociatesProfileDef::setRelatingProfileDef(::Ifc4x3_add const IfcParse::entity& Ifc4x3_add1::IfcRelAssociatesProfileDef::declaration() const { return *IFC4X3_ADD1_IfcRelAssociatesProfileDef_type; } const IfcParse::entity& Ifc4x3_add1::IfcRelAssociatesProfileDef::Class() { return *IFC4X3_ADD1_IfcRelAssociatesProfileDef_type; } Ifc4x3_add1::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcRelAssociatesProfileDef_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcProfileDef* v6_RelatingProfileDef) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcRelAssociatesProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingProfileDef));data_->setArgument(5,attr);} } +Ifc4x3_add1::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcProfileDef* v6_RelatingProfileDef) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcRelAssociatesProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingProfileDef));data_->setArgument(5,attr);} } // Function implementations for IfcRelConnects @@ -20280,14 +20280,14 @@ Ifc4x3_add1::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::I // Function implementations for IfcRelDeclares ::Ifc4x3_add1::IfcContext* Ifc4x3_add1::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_add1::IfcContext>(true); } void Ifc4x3_add1::IfcRelDeclares::setRelatingContext(::Ifc4x3_add1::IfcContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -aggregate_of_instance::ptr Ifc4x3_add1::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr v = *data_->getArgument(5); return v; } -void Ifc4x3_add1::IfcRelDeclares::setRelatedDefinitions(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } +aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr Ifc4x3_add1::IfcRelDeclares::RelatedDefinitions() const { aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v = *data_->getArgument(5); return v; } +void Ifc4x3_add1::IfcRelDeclares::setRelatedDefinitions(aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_add1::IfcRelDeclares::declaration() const { return *IFC4X3_ADD1_IfcRelDeclares_type; } const IfcParse::entity& Ifc4x3_add1::IfcRelDeclares::Class() { return *IFC4X3_ADD1_IfcRelDeclares_type; } Ifc4x3_add1::IfcRelDeclares::IfcRelDeclares(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcRelDeclares_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcContext* v5_RelatingContext, aggregate_of_instance::ptr v6_RelatedDefinitions) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcRelDeclares_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingContext));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedDefinitions));data_->setArgument(5,attr);} } +Ifc4x3_add1::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcRelDeclares_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingContext));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedDefinitions));data_->setArgument(5,attr);} } // Function implementations for IfcRelDecomposes @@ -20434,8 +20434,8 @@ Ifc4x3_add1::IfcRelProjectsElement::IfcRelProjectsElement(IfcEntityInstanceData* Ifc4x3_add1::IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcElement* v5_RelatingElement, ::Ifc4x3_add1::IfcFeatureElementAddition* v6_RelatedFeatureElement) : IfcRelDecomposes((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcRelProjectsElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedFeatureElement));data_->setArgument(5,attr);} } // Function implementations for IfcRelReferencedInSpatialStructure -aggregate_of_instance::ptr Ifc4x3_add1::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr v = *data_->getArgument(4); return v; } -void Ifc4x3_add1::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +aggregate_of< ::Ifc4x3_add1::IfcSpatialReferenceSelect >::ptr Ifc4x3_add1::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of< ::Ifc4x3_add1::IfcSpatialReferenceSelect >::ptr v = *data_->getArgument(4); return v; } +void Ifc4x3_add1::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4x3_add1::IfcSpatialReferenceSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } ::Ifc4x3_add1::IfcSpatialElement* Ifc4x3_add1::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_add1::IfcSpatialElement>(true); } void Ifc4x3_add1::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc4x3_add1::IfcSpatialElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20443,7 +20443,7 @@ void Ifc4x3_add1::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc const IfcParse::entity& Ifc4x3_add1::IfcRelReferencedInSpatialStructure::declaration() const { return *IFC4X3_ADD1_IfcRelReferencedInSpatialStructure_type; } const IfcParse::entity& Ifc4x3_add1::IfcRelReferencedInSpatialStructure::Class() { return *IFC4X3_ADD1_IfcRelReferencedInSpatialStructure_type; } Ifc4x3_add1::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(IfcEntityInstanceData* e) : IfcRelConnects((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcRelReferencedInSpatialStructure_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedElements, ::Ifc4x3_add1::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcRelReferencedInSpatialStructure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedElements));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingStructure));data_->setArgument(5,attr);} } +Ifc4x3_add1::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcSpatialReferenceSelect >::ptr v5_RelatedElements, ::Ifc4x3_add1::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcRelReferencedInSpatialStructure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedElements));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingStructure));data_->setArgument(5,attr);} } // Function implementations for IfcRelSequence ::Ifc4x3_add1::IfcProcess* Ifc4x3_add1::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_add1::IfcProcess>(true); } @@ -20615,8 +20615,8 @@ Ifc4x3_add1::IfcResource::IfcResource(IfcEntityInstanceData* e) : IfcObject((Ifc Ifc4x3_add1::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc4x3_add1::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((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_LongDescription));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcResourceApprovalRelationship -aggregate_of_instance::ptr Ifc4x3_add1::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_add1::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr Ifc4x3_add1::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x3_add1::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4x3_add1::IfcApproval* Ifc4x3_add1::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_add1::IfcApproval>(true); } void Ifc4x3_add1::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x3_add1::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -20624,19 +20624,19 @@ void Ifc4x3_add1::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x3_ const IfcParse::entity& Ifc4x3_add1::IfcResourceApprovalRelationship::declaration() const { return *IFC4X3_ADD1_IfcResourceApprovalRelationship_type; } const IfcParse::entity& Ifc4x3_add1::IfcResourceApprovalRelationship::Class() { return *IFC4X3_ADD1_IfcResourceApprovalRelationship_type; } Ifc4x3_add1::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcResourceApprovalRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_RelatedResourceObjects, ::Ifc4x3_add1::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcResourceApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatedResourceObjects));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatingApproval));data_->setArgument(3,attr);} } +Ifc4x3_add1::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x3_add1::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcResourceApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatedResourceObjects));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatingApproval));data_->setArgument(3,attr);} } // Function implementations for IfcResourceConstraintRelationship ::Ifc4x3_add1::IfcConstraint* Ifc4x3_add1::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_add1::IfcConstraint>(true); } void Ifc4x3_add1::IfcResourceConstraintRelationship::setRelatingConstraint(::Ifc4x3_add1::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -aggregate_of_instance::ptr Ifc4x3_add1::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } -void Ifc4x3_add1::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr Ifc4x3_add1::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr v = *data_->getArgument(3); return v; } +void Ifc4x3_add1::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_add1::IfcResourceConstraintRelationship::declaration() const { return *IFC4X3_ADD1_IfcResourceConstraintRelationship_type; } const IfcParse::entity& Ifc4x3_add1::IfcResourceConstraintRelationship::Class() { return *IFC4X3_ADD1_IfcResourceConstraintRelationship_type; } Ifc4x3_add1::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcResourceConstraintRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcConstraint* v3_RelatingConstraint, aggregate_of_instance::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcResourceConstraintRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingConstraint));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } +Ifc4x3_add1::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcResourceConstraintRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingConstraint));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } // Function implementations for IfcResourceLevelRelationship boost::optional< std::string > Ifc4x3_add1::IfcResourceLevelRelationship::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -21090,14 +21090,14 @@ Ifc4x3_add1::IfcShapeRepresentation::IfcShapeRepresentation(IfcEntityInstanceDat Ifc4x3_add1::IfcShapeRepresentation::IfcShapeRepresentation(::Ifc4x3_add1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_add1::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcShapeRepresentation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ContextOfItems));data_->setArgument(0,attr);} if (v2_RepresentationIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_RepresentationIdentifier));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_RepresentationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_RepresentationType));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Items)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcShellBasedSurfaceModel -aggregate_of_instance::ptr Ifc4x3_add1::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_add1::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_add1::IfcShell >::ptr Ifc4x3_add1::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of< ::Ifc4x3_add1::IfcShell >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x3_add1::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of< ::Ifc4x3_add1::IfcShell >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_add1::IfcShellBasedSurfaceModel::declaration() const { return *IFC4X3_ADD1_IfcShellBasedSurfaceModel_type; } const IfcParse::entity& Ifc4x3_add1::IfcShellBasedSurfaceModel::Class() { return *IFC4X3_ADD1_IfcShellBasedSurfaceModel_type; } Ifc4x3_add1::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcShellBasedSurfaceModel_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of_instance::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcShellBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SbsmBoundary));data_->setArgument(0,attr);} } +Ifc4x3_add1::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4x3_add1::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcShellBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SbsmBoundary));data_->setArgument(0,attr);} } // Function implementations for IfcSign boost::optional< ::Ifc4x3_add1::IfcSignTypeEnum::Value > Ifc4x3_add1::IfcSign::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcSignTypeEnum::FromString(*data_->getArgument(8)); } @@ -22039,14 +22039,14 @@ Ifc4x3_add1::IfcSurfaceReinforcementArea::IfcSurfaceReinforcementArea(boost::opt // Function implementations for IfcSurfaceStyle ::Ifc4x3_add1::IfcSurfaceSide::Value Ifc4x3_add1::IfcSurfaceStyle::Side() const { return ::Ifc4x3_add1::IfcSurfaceSide::FromString(*data_->getArgument(1)); } void Ifc4x3_add1::IfcSurfaceStyle::setSide(::Ifc4x3_add1::IfcSurfaceSide::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_add1::IfcSurfaceSide::ToString(v)));data_->setArgument(1,attr);} } -aggregate_of_instance::ptr Ifc4x3_add1::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_add1::IfcSurfaceStyle::setStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_add1::IfcSurfaceStyleElementSelect >::ptr Ifc4x3_add1::IfcSurfaceStyle::Styles() const { aggregate_of< ::Ifc4x3_add1::IfcSurfaceStyleElementSelect >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x3_add1::IfcSurfaceStyle::setStyles(aggregate_of< ::Ifc4x3_add1::IfcSurfaceStyleElementSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_add1::IfcSurfaceStyle::declaration() const { return *IFC4X3_ADD1_IfcSurfaceStyle_type; } const IfcParse::entity& Ifc4x3_add1::IfcSurfaceStyle::Class() { return *IFC4X3_ADD1_IfcSurfaceStyle_type; } Ifc4x3_add1::IfcSurfaceStyle::IfcSurfaceStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcSurfaceStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcSurfaceSide::Value v2_Side, aggregate_of_instance::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc4x3_add1::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles));data_->setArgument(2,attr);} } +Ifc4x3_add1::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x3_add1::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc4x3_add1::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles));data_->setArgument(2,attr);} } // Function implementations for IfcSurfaceStyleLighting ::Ifc4x3_add1::IfcColourRgb* Ifc4x3_add1::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_add1::IfcColourRgb>(true); } @@ -22301,8 +22301,8 @@ Ifc4x3_add1::IfcTableColumn::IfcTableColumn(IfcEntityInstanceData* e) : IfcUtil: Ifc4x3_add1::IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, ::Ifc4x3_add1::IfcUnit* v4_Unit, ::Ifc4x3_add1::IfcReference* v5_ReferencePath) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcTableColumn_type); if (v1_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Identifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Name));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_ReferencePath));data_->setArgument(4,attr);} } // Function implementations for IfcTableRow -boost::optional< aggregate_of_instance::ptr > Ifc4x3_add1::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_add1::IfcTableRow::setRowCells(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > Ifc4x3_add1::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x3_add1::IfcTableRow::setRowCells(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< bool > Ifc4x3_add1::IfcTableRow::IsHeading() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } bool v = *data_->getArgument(1); return v; } void Ifc4x3_add1::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } @@ -22310,7 +22310,7 @@ void Ifc4x3_add1::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWri const IfcParse::entity& Ifc4x3_add1::IfcTableRow::declaration() const { return *IFC4X3_ADD1_IfcTableRow_type; } const IfcParse::entity& Ifc4x3_add1::IfcTableRow::Class() { return *IFC4X3_ADD1_IfcTableRow_type; } Ifc4x3_add1::IfcTableRow::IfcTableRow(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcTableRow_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcTableRow::IfcTableRow(boost::optional< aggregate_of_instance::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcTableRow_type); if (v1_RowCells) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RowCells));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_IsHeading) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_IsHeading));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } +Ifc4x3_add1::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcTableRow_type); if (v1_RowCells) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RowCells));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_IsHeading) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_IsHeading));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcTank boost::optional< ::Ifc4x3_add1::IfcTankTypeEnum::Value > Ifc4x3_add1::IfcTank::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcTankTypeEnum::FromString(*data_->getArgument(8)); } @@ -22761,14 +22761,14 @@ Ifc4x3_add1::IfcTimeSeries::IfcTimeSeries(IfcEntityInstanceData* e) : IfcUtil::I Ifc4x3_add1::IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_add1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_add1::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_add1::IfcUnit* v8_Unit) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcTimeSeries_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_StartTime));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EndTime));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_TimeSeriesDataType,::Ifc4x3_add1::IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType))));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v6_DataOrigin,::Ifc4x3_add1::IfcDataOriginEnum::ToString(v6_DataOrigin))));data_->setArgument(5,attr);} if (v7_UserDefinedDataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_UserDefinedDataOrigin));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Unit));data_->setArgument(7,attr);} } // Function implementations for IfcTimeSeriesValue -aggregate_of_instance::ptr Ifc4x3_add1::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_add1::IfcTimeSeriesValue::setListValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr Ifc4x3_add1::IfcTimeSeriesValue::ListValues() const { aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x3_add1::IfcTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_add1::IfcTimeSeriesValue::declaration() const { return *IFC4X3_ADD1_IfcTimeSeriesValue_type; } const IfcParse::entity& Ifc4x3_add1::IfcTimeSeriesValue::Class() { return *IFC4X3_ADD1_IfcTimeSeriesValue_type; } Ifc4x3_add1::IfcTimeSeriesValue::IfcTimeSeriesValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcTimeSeriesValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of_instance::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ListValues));data_->setArgument(0,attr);} } +Ifc4x3_add1::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ListValues));data_->setArgument(0,attr);} } // Function implementations for IfcTopologicalRepresentationItem @@ -22919,10 +22919,10 @@ Ifc4x3_add1::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(:: // Function implementations for IfcTrimmedCurve ::Ifc4x3_add1::IfcCurve* Ifc4x3_add1::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_add1::IfcCurve>(true); } void Ifc4x3_add1::IfcTrimmedCurve::setBasisCurve(::Ifc4x3_add1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of_instance::ptr Ifc4x3_add1::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_add1::IfcTrimmedCurve::setTrim1(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -aggregate_of_instance::ptr Ifc4x3_add1::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_add1::IfcTrimmedCurve::setTrim2(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_add1::IfcTrimmingSelect >::ptr Ifc4x3_add1::IfcTrimmedCurve::Trim1() const { aggregate_of< ::Ifc4x3_add1::IfcTrimmingSelect >::ptr v = *data_->getArgument(1); return v; } +void Ifc4x3_add1::IfcTrimmedCurve::setTrim1(aggregate_of< ::Ifc4x3_add1::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_add1::IfcTrimmingSelect >::ptr Ifc4x3_add1::IfcTrimmedCurve::Trim2() const { aggregate_of< ::Ifc4x3_add1::IfcTrimmingSelect >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x3_add1::IfcTrimmedCurve::setTrim2(aggregate_of< ::Ifc4x3_add1::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } bool Ifc4x3_add1::IfcTrimmedCurve::SenseAgreement() const { bool v = *data_->getArgument(3); return v; } void Ifc4x3_add1::IfcTrimmedCurve::setSenseAgreement(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x3_add1::IfcTrimmingPreference::Value Ifc4x3_add1::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4x3_add1::IfcTrimmingPreference::FromString(*data_->getArgument(4)); } @@ -22932,7 +22932,7 @@ void Ifc4x3_add1::IfcTrimmedCurve::setMasterRepresentation(::Ifc4x3_add1::IfcTri const IfcParse::entity& Ifc4x3_add1::IfcTrimmedCurve::declaration() const { return *IFC4X3_ADD1_IfcTrimmedCurve_type; } const IfcParse::entity& Ifc4x3_add1::IfcTrimmedCurve::Class() { return *IFC4X3_ADD1_IfcTrimmedCurve_type; } Ifc4x3_add1::IfcTrimmedCurve::IfcTrimmedCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcTrimmedCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3_add1::IfcCurve* v1_BasisCurve, aggregate_of_instance::ptr v2_Trim1, aggregate_of_instance::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_add1::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcTrimmedCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Trim1));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Trim2));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SenseAgreement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_MasterRepresentation,::Ifc4x3_add1::IfcTrimmingPreference::ToString(v5_MasterRepresentation))));data_->setArgument(4,attr);} } +Ifc4x3_add1::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3_add1::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_add1::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x3_add1::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_add1::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcTrimmedCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Trim1));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Trim2));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SenseAgreement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_MasterRepresentation,::Ifc4x3_add1::IfcTrimmingPreference::ToString(v5_MasterRepresentation))));data_->setArgument(4,attr);} } // Function implementations for IfcTubeBundle boost::optional< ::Ifc4x3_add1::IfcTubeBundleTypeEnum::Value > Ifc4x3_add1::IfcTubeBundle::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcTubeBundleTypeEnum::FromString(*data_->getArgument(8)); } @@ -23033,14 +23033,14 @@ Ifc4x3_add1::IfcUShapeProfileDef::IfcUShapeProfileDef(IfcEntityInstanceData* e) Ifc4x3_add1::IfcUShapeProfileDef::IfcUShapeProfileDef(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::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((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcUShapeProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4x3_add1::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_FlangeWidth));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_WebThickness));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_FlangeThickness));data_->setArgument(6,attr);} if (v8_FilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_FilletRadius));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_EdgeRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_EdgeRadius));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_FlangeSlope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_FlangeSlope));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcUnitAssignment -aggregate_of_instance::ptr Ifc4x3_add1::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_add1::IfcUnitAssignment::setUnits(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_add1::IfcUnit >::ptr Ifc4x3_add1::IfcUnitAssignment::Units() const { aggregate_of< ::Ifc4x3_add1::IfcUnit >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x3_add1::IfcUnitAssignment::setUnits(aggregate_of< ::Ifc4x3_add1::IfcUnit >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_add1::IfcUnitAssignment::declaration() const { return *IFC4X3_ADD1_IfcUnitAssignment_type; } const IfcParse::entity& Ifc4x3_add1::IfcUnitAssignment::Class() { return *IFC4X3_ADD1_IfcUnitAssignment_type; } Ifc4x3_add1::IfcUnitAssignment::IfcUnitAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcUnitAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcUnitAssignment::IfcUnitAssignment(aggregate_of_instance::ptr v1_Units) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcUnitAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Units));data_->setArgument(0,attr);} } +Ifc4x3_add1::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4x3_add1::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcUnitAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Units));data_->setArgument(0,attr);} } // Function implementations for IfcUnitaryControlElement boost::optional< ::Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::Value > Ifc4x3_add1::IfcUnitaryControlElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::FromString(*data_->getArgument(8)); } diff --git a/src/ifcparse/Ifc4x3_add1.h b/src/ifcparse/Ifc4x3_add1.h index cb9dfca46f..008228268d 100644 --- a/src/ifcparse/Ifc4x3_add1.h +++ b/src/ifcparse/Ifc4x3_add1.h @@ -10758,12 +10758,12 @@ public: std::string TimeStamp() const; void setTimeStamp(std::string v); /// A list of time-series values. At least one value is required. - aggregate_of_instance::ptr ListValues() const; - void setListValues(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr ListValues() const; + void setListValues(aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcIrregularTimeSeriesValue (IfcEntityInstanceData* e); - IfcIrregularTimeSeriesValue (std::string v1_TimeStamp, aggregate_of_instance::ptr v2_ListValues); + IfcIrregularTimeSeriesValue (std::string v1_TimeStamp, aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v2_ListValues); typedef aggregate_of< 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. @@ -10952,15 +10952,15 @@ public: class IFC_PARSE_API IfcMaterialClassificationRelationship : public IfcUtil::IfcBaseEntity { public: /// The material classifications identifying the type of material. - aggregate_of_instance::ptr MaterialClassifications() const; - void setMaterialClassifications(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_add1::IfcClassificationSelect >::ptr MaterialClassifications() const; + void setMaterialClassifications(aggregate_of< ::Ifc4x3_add1::IfcClassificationSelect >::ptr v); /// Material being classified. ::Ifc4x3_add1::IfcMaterial* ClassifiedMaterial() const; void setClassifiedMaterial(::Ifc4x3_add1::IfcMaterial* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcMaterialClassificationRelationship (IfcEntityInstanceData* e); - IfcMaterialClassificationRelationship (aggregate_of_instance::ptr v1_MaterialClassifications, ::Ifc4x3_add1::IfcMaterial* v2_ClassifiedMaterial); + IfcMaterialClassificationRelationship (aggregate_of< ::Ifc4x3_add1::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x3_add1::IfcMaterial* v2_ClassifiedMaterial); typedef aggregate_of< IfcMaterialClassificationRelationship > list; }; /// IfcMaterialDefinition is a general supertype for all @@ -11752,15 +11752,15 @@ public: boost::optional< std::string > Description() const; void setDescription(boost::optional< std::string > v); /// The set of layered items, which are assigned to this layer. - aggregate_of_instance::ptr AssignedItems() const; - void setAssignedItems(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_add1::IfcLayeredItem >::ptr AssignedItems() const; + void setAssignedItems(aggregate_of< ::Ifc4x3_add1::IfcLayeredItem >::ptr v); /// An (internal) identifier assigned to the layer. boost::optional< std::string > Identifier() const; void setIdentifier(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPresentationLayerAssignment (IfcEntityInstanceData* e); - IfcPresentationLayerAssignment (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier); + IfcPresentationLayerAssignment (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add1::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier); typedef aggregate_of< IfcPresentationLayerAssignment > list; }; /// An IfcPresentationLayerAssignmentWithStyle extends the presentation layer assignment with capabilities to define visibility control, access control and common style information. @@ -11797,7 +11797,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPresentationLayerWithStyle (IfcEntityInstanceData* e); - IfcPresentationLayerWithStyle (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_add1::IfcPresentationStyle >::ptr v8_LayerStyles); + IfcPresentationLayerWithStyle (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add1::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_add1::IfcPresentationStyle >::ptr v8_LayerStyles); typedef aggregate_of< 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. @@ -12149,15 +12149,15 @@ public: std::string Name() const; void setName(std::string v); /// List of values that form the enumeration. - aggregate_of_instance::ptr EnumerationValues() const; - void setEnumerationValues(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr EnumerationValues() const; + void setEnumerationValues(aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v); /// 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. ::Ifc4x3_add1::IfcUnit* Unit() const; void setUnit(::Ifc4x3_add1::IfcUnit* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyEnumeration (IfcEntityInstanceData* e); - IfcPropertyEnumeration (std::string v1_Name, aggregate_of_instance::ptr v2_EnumerationValues, ::Ifc4x3_add1::IfcUnit* v3_Unit); + IfcPropertyEnumeration (std::string v1_Name, aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x3_add1::IfcUnit* v3_Unit); typedef aggregate_of< 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. @@ -13096,12 +13096,12 @@ public: ::Ifc4x3_add1::IfcSurfaceSide::Value Side() const; void setSide(::Ifc4x3_add1::IfcSurfaceSide::Value v); /// A collection of different surface styles. - aggregate_of_instance::ptr Styles() const; - void setStyles(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_add1::IfcSurfaceStyleElementSelect >::ptr Styles() const; + void setStyles(aggregate_of< ::Ifc4x3_add1::IfcSurfaceStyleElementSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSurfaceStyle (IfcEntityInstanceData* e); - IfcSurfaceStyle (boost::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcSurfaceSide::Value v2_Side, aggregate_of_instance::ptr v3_Styles); + IfcSurfaceStyle (boost::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x3_add1::IfcSurfaceStyleElementSelect >::ptr v3_Styles); typedef aggregate_of< IfcSurfaceStyle > list; }; /// IfcSurfaceStyleLighting is a container class for properties for calculation of physically exact illuminance related to a particular surface style. @@ -13410,15 +13410,15 @@ public: class IFC_PARSE_API IfcTableRow : public IfcUtil::IfcBaseEntity { public: /// The data value of the table cell.. - boost::optional< aggregate_of_instance::ptr > RowCells() const; - void setRowCells(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > RowCells() const; + void setRowCells(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::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. boost::optional< bool > IsHeading() const; void setIsHeading(boost::optional< bool > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTableRow (IfcEntityInstanceData* e); - IfcTableRow (boost::optional< aggregate_of_instance::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading); + IfcTableRow (boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading); typedef aggregate_of< IfcTableRow > list; }; /// IfcTaskTime captures the time-related information about a task including the different types (actual or scheduled) of starting and ending times. @@ -13992,12 +13992,12 @@ public: class IFC_PARSE_API IfcTimeSeriesValue : public IfcUtil::IfcBaseEntity { public: /// A list of time-series values. At least one value is required. - aggregate_of_instance::ptr ListValues() const; - void setListValues(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr ListValues() const; + void setListValues(aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTimeSeriesValue (IfcEntityInstanceData* e); - IfcTimeSeriesValue (aggregate_of_instance::ptr v1_ListValues); + IfcTimeSeriesValue (aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v1_ListValues); typedef aggregate_of< IfcTimeSeriesValue > list; }; /// Definition from ISO/CD 10303-42:1992: The topological representation item is the supertype for all the topological representation items in the geometry resource. @@ -14063,12 +14063,12 @@ public: class IFC_PARSE_API IfcUnitAssignment : public IfcUtil::IfcBaseEntity { public: /// Units to be included within a unit assignment. - aggregate_of_instance::ptr Units() const; - void setUnits(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_add1::IfcUnit >::ptr Units() const; + void setUnits(aggregate_of< ::Ifc4x3_add1::IfcUnit >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcUnitAssignment (IfcEntityInstanceData* e); - IfcUnitAssignment (aggregate_of_instance::ptr v1_Units); + IfcUnitAssignment (aggregate_of< ::Ifc4x3_add1::IfcUnit >::ptr v1_Units); typedef aggregate_of< IfcUnitAssignment > list; }; /// Definition from ISO/CD 10303-42:1992: A vertex is the topological construct corresponding to a point. It has dimensionality 0 and extent 0. The domain of a vertex, if present, is a point in m dimensional real space RM; this is represented by the vertex point subtype. @@ -15095,8 +15095,8 @@ public: ::Ifc4x3_add1::IfcActorSelect* DocumentOwner() const; void setDocumentOwner(::Ifc4x3_add1::IfcActorSelect* v); /// The persons and/or organizations who have created this document or contributed to it. - boost::optional< aggregate_of_instance::ptr > Editors() const; - void setEditors(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_add1::IfcActorSelect >::ptr > Editors() const; + void setEditors(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcActorSelect >::ptr > v); /// 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. @@ -15137,7 +15137,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcDocumentInformation (IfcEntityInstanceData* e); - 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, ::Ifc4x3_add1::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of_instance::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< ::Ifc4x3_add1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_add1::IfcDocumentStatusEnum::Value > 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, ::Ifc4x3_add1::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcActorSelect >::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< ::Ifc4x3_add1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_add1::IfcDocumentStatusEnum::Value > v17_Status); typedef aggregate_of< IfcDocumentInformation > list; }; /// An IfcDocumentInformationRelationship is a relationship class that enables a document to have the ability to reference other documents. @@ -15378,12 +15378,12 @@ public: ::Ifc4x3_add1::IfcExternalReference* RelatingReference() const; void setRelatingReference(::Ifc4x3_add1::IfcExternalReference* v); /// Objects within the list of IfcResourceObjectSelect that can be tagged by an external reference to a dictionary, library, catalogue, classification or documentation. - aggregate_of_instance::ptr RelatedResourceObjects() const; - void setRelatedResourceObjects(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr RelatedResourceObjects() const; + void setRelatedResourceObjects(aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcExternalReferenceRelationship (IfcEntityInstanceData* e); - IfcExternalReferenceRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcExternalReference* v3_RelatingReference, aggregate_of_instance::ptr v4_RelatedResourceObjects); + IfcExternalReferenceRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects); typedef aggregate_of< IfcExternalReferenceRelationship > list; }; /// Definition from ISO/CD 10303-42:1992: A face is a topological @@ -15594,14 +15594,14 @@ public: class IFC_PARSE_API IfcFillAreaStyle : public IfcPresentationStyle { public: /// The set of fill area styles to use in presenting visible curve segments, annotation fill areas or surfaces. - aggregate_of_instance::ptr FillStyles() const; - void setFillStyles(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_add1::IfcFillStyleSelect >::ptr FillStyles() const; + void setFillStyles(aggregate_of< ::Ifc4x3_add1::IfcFillStyleSelect >::ptr v); boost::optional< bool > ModelOrDraughting() const; void setModelOrDraughting(boost::optional< bool > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcFillAreaStyle (IfcEntityInstanceData* e); - IfcFillAreaStyle (boost::optional< std::string > v1_Name, aggregate_of_instance::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting); + IfcFillAreaStyle (boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_add1::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting); typedef aggregate_of< IfcFillAreaStyle > list; }; /// Definition from ISO/CD 10303-42:1992: A geometric @@ -15755,12 +15755,12 @@ public: class IFC_PARSE_API 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. - aggregate_of_instance::ptr Elements() const; - void setElements(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_add1::IfcGeometricSetSelect >::ptr Elements() const; + void setElements(aggregate_of< ::Ifc4x3_add1::IfcGeometricSetSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcGeometricSet (IfcEntityInstanceData* e); - IfcGeometricSet (aggregate_of_instance::ptr v1_Elements); + IfcGeometricSet (aggregate_of< ::Ifc4x3_add1::IfcGeometricSetSelect >::ptr v1_Elements); typedef aggregate_of< IfcGeometricSet > list; }; /// IfcGridPlacement provides a specialization of IfcObjectPlacement in which @@ -17773,15 +17773,15 @@ public: class IFC_PARSE_API IfcResourceApprovalRelationship : public IfcResourceLevelRelationship { public: /// Resource objects that are approved. - aggregate_of_instance::ptr RelatedResourceObjects() const; - void setRelatedResourceObjects(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr RelatedResourceObjects() const; + void setRelatedResourceObjects(aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr v); /// The approval for the resource objects selected. ::Ifc4x3_add1::IfcApproval* RelatingApproval() const; void setRelatingApproval(::Ifc4x3_add1::IfcApproval* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcResourceApprovalRelationship (IfcEntityInstanceData* e); - IfcResourceApprovalRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_RelatedResourceObjects, ::Ifc4x3_add1::IfcApproval* v4_RelatingApproval); + IfcResourceApprovalRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x3_add1::IfcApproval* v4_RelatingApproval); typedef aggregate_of< IfcResourceApprovalRelationship > list; }; /// An IfcResourceConstraintRelationship is a relationship @@ -17810,12 +17810,12 @@ public: ::Ifc4x3_add1::IfcConstraint* RelatingConstraint() const; void setRelatingConstraint(::Ifc4x3_add1::IfcConstraint* v); /// The properties to which a constraint is to be related. - aggregate_of_instance::ptr RelatedResourceObjects() const; - void setRelatedResourceObjects(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr RelatedResourceObjects() const; + void setRelatedResourceObjects(aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcResourceConstraintRelationship (IfcEntityInstanceData* e); - IfcResourceConstraintRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcConstraint* v3_RelatingConstraint, aggregate_of_instance::ptr v4_RelatedResourceObjects); + IfcResourceConstraintRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects); typedef aggregate_of< IfcResourceConstraintRelationship > list; }; /// IfcResourceTime captures the time-related information about a construction resource. @@ -18072,12 +18072,12 @@ public: /// The shells shall not overlap or intersect except at common faces, edges or vertices. class IFC_PARSE_API IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { public: - aggregate_of_instance::ptr SbsmBoundary() const; - void setSbsmBoundary(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_add1::IfcShell >::ptr SbsmBoundary() const; + void setSbsmBoundary(aggregate_of< ::Ifc4x3_add1::IfcShell >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcShellBasedSurfaceModel (IfcEntityInstanceData* e); - IfcShellBasedSurfaceModel (aggregate_of_instance::ptr v1_SbsmBoundary); + IfcShellBasedSurfaceModel (aggregate_of< ::Ifc4x3_add1::IfcShell >::ptr v1_SbsmBoundary); typedef aggregate_of< IfcShellBasedSurfaceModel > 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. @@ -20997,7 +20997,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcGeometricCurveSet (IfcEntityInstanceData* e); - IfcGeometricCurveSet (aggregate_of_instance::ptr v1_Elements); + IfcGeometricCurveSet (aggregate_of< ::Ifc4x3_add1::IfcGeometricSetSelect >::ptr v1_Elements); typedef aggregate_of< IfcGeometricCurveSet > list; }; /// IfcIShapeProfileDef @@ -22144,15 +22144,15 @@ 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. - boost::optional< aggregate_of_instance::ptr > EnumerationValues() const; - void setEnumerationValues(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > EnumerationValues() const; + void setEnumerationValues(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v); /// Enumeration from which a enumeration value has been selected. The referenced enumeration also establishes the unit of the enumeration value. ::Ifc4x3_add1::IfcPropertyEnumeration* EnumerationReference() const; void setEnumerationReference(::Ifc4x3_add1::IfcPropertyEnumeration* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyEnumeratedValue (IfcEntityInstanceData* e); - IfcPropertyEnumeratedValue (std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of_instance::ptr > v3_EnumerationValues, ::Ifc4x3_add1::IfcPropertyEnumeration* v4_EnumerationReference); + IfcPropertyEnumeratedValue (std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x3_add1::IfcPropertyEnumeration* v4_EnumerationReference); typedef aggregate_of< IfcPropertyEnumeratedValue > list; }; /// An IfcPropertyListValue @@ -22225,15 +22225,15 @@ public: /// List of property values. /// /// IFC2x4 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. - boost::optional< aggregate_of_instance::ptr > ListValues() const; - void setListValues(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > ListValues() const; + void setListValues(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v); /// 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. ::Ifc4x3_add1::IfcUnit* Unit() const; void setUnit(::Ifc4x3_add1::IfcUnit* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyListValue (IfcEntityInstanceData* e); - IfcPropertyListValue (std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of_instance::ptr > v3_ListValues, ::Ifc4x3_add1::IfcUnit* v4_Unit); + IfcPropertyListValue (std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v3_ListValues, ::Ifc4x3_add1::IfcUnit* v4_Unit); typedef aggregate_of< IfcPropertyListValue > list; }; /// IfcPropertyReferenceValue allows a property value to @@ -22573,13 +22573,13 @@ 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. - boost::optional< aggregate_of_instance::ptr > DefiningValues() const; - void setDefiningValues(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > DefiningValues() const; + void setDefiningValues(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::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. - boost::optional< aggregate_of_instance::ptr > DefinedValues() const; - void setDefinedValues(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > DefinedValues() const; + void setDefinedValues(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v); /// 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. boost::optional< std::string > Expression() const; void setExpression(boost::optional< std::string > v); @@ -22597,7 +22597,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyTableValue (IfcEntityInstanceData* e); - IfcPropertyTableValue (std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of_instance::ptr > v3_DefiningValues, boost::optional< aggregate_of_instance::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_add1::IfcUnit* v6_DefiningUnit, ::Ifc4x3_add1::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_add1::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation); + IfcPropertyTableValue (std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_add1::IfcUnit* v6_DefiningUnit, ::Ifc4x3_add1::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_add1::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation); typedef aggregate_of< IfcPropertyTableValue > list; }; /// The IfcPropertyTemplate is an abstract supertype @@ -23093,12 +23093,12 @@ 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. - aggregate_of_instance::ptr RelatedObjects() const; - void setRelatedObjects(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr RelatedObjects() const; + void setRelatedObjects(aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociates (IfcEntityInstanceData* e); - IfcRelAssociates (std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects); + IfcRelAssociates (std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v5_RelatedObjects); typedef aggregate_of< IfcRelAssociates > list; }; /// The entity IfcRelAssociatesApproval is used to apply approval information defined by IfcApproval, in IfcApprovalResource schema, to subtypes of IfcRoot. @@ -23112,7 +23112,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesApproval (IfcEntityInstanceData* e); - IfcRelAssociatesApproval (std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcApproval* v6_RelatingApproval); + IfcRelAssociatesApproval (std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcApproval* v6_RelatingApproval); typedef aggregate_of< IfcRelAssociatesApproval > list; }; /// The objectified relationship @@ -23153,7 +23153,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesClassification (IfcEntityInstanceData* e); - IfcRelAssociatesClassification (std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcClassificationSelect* v6_RelatingClassification); + IfcRelAssociatesClassification (std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcClassificationSelect* v6_RelatingClassification); typedef aggregate_of< IfcRelAssociatesClassification > list; }; /// The entity IfcRelAssociatesConstraint is used to apply constraint information defined by IfcConstraint, in the IfcConstraintResource schema, to subtypes of IfcRoot. @@ -23170,7 +23170,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesConstraint (IfcEntityInstanceData* e); - IfcRelAssociatesConstraint (std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_add1::IfcConstraint* v7_RelatingConstraint); + IfcRelAssociatesConstraint (std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_add1::IfcConstraint* v7_RelatingConstraint); typedef aggregate_of< 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). @@ -23188,7 +23188,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesDocument (IfcEntityInstanceData* e); - IfcRelAssociatesDocument (std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcDocumentSelect* v6_RelatingDocument); + IfcRelAssociatesDocument (std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcDocumentSelect* v6_RelatingDocument); typedef aggregate_of< IfcRelAssociatesDocument > list; }; /// The objectified relationship (IfcRelAssociatesLibrary) handles the assignment of a library item (items of the select IfcLibrarySelect) to subtypes of IfcObjectDefinition or IfcPropertyDefinition. @@ -23206,7 +23206,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesLibrary (IfcEntityInstanceData* e); - IfcRelAssociatesLibrary (std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcLibrarySelect* v6_RelatingLibrary); + IfcRelAssociatesLibrary (std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcLibrarySelect* v6_RelatingLibrary); typedef aggregate_of< IfcRelAssociatesLibrary > list; }; /// Definition from IAI: Objectified relationship between a @@ -23311,7 +23311,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesMaterial (IfcEntityInstanceData* e); - IfcRelAssociatesMaterial (std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcMaterialSelect* v6_RelatingMaterial); + IfcRelAssociatesMaterial (std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcMaterialSelect* v6_RelatingMaterial); typedef aggregate_of< IfcRelAssociatesMaterial > list; }; @@ -23322,7 +23322,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesProfileDef (IfcEntityInstanceData* e); - IfcRelAssociatesProfileDef (std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcProfileDef* v6_RelatingProfileDef); + IfcRelAssociatesProfileDef (std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcProfileDef* v6_RelatingProfileDef); typedef aggregate_of< IfcRelAssociatesProfileDef > 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. @@ -23795,12 +23795,12 @@ public: ::Ifc4x3_add1::IfcContext* RelatingContext() const; void setRelatingContext(::Ifc4x3_add1::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. - aggregate_of_instance::ptr RelatedDefinitions() const; - void setRelatedDefinitions(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr RelatedDefinitions() const; + void setRelatedDefinitions(aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelDeclares (IfcEntityInstanceData* e); - IfcRelDeclares (std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcContext* v5_RelatingContext, aggregate_of_instance::ptr v6_RelatedDefinitions); + IfcRelDeclares (std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v6_RelatedDefinitions); typedef aggregate_of< IfcRelDeclares > list; }; /// The decomposition relationship, @@ -24315,8 +24315,8 @@ class IFC_PARSE_API IfcRelReferencedInSpatialStructure : public IfcRelConnects public: /// Set of products, which are referenced within this level of the spatial structure hierarchy. /// NOTE  Referenced elements are contained elsewhere within the spatial structure, they are referenced additionally by this spatial structure element, e.g., because they span several stories. - aggregate_of_instance::ptr RelatedElements() const; - void setRelatedElements(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_add1::IfcSpatialReferenceSelect >::ptr RelatedElements() const; + void setRelatedElements(aggregate_of< ::Ifc4x3_add1::IfcSpatialReferenceSelect >::ptr v); /// Spatial structure element, within which the element is referenced. Any element can be contained within zero, one or many elements of the project spatial and zoning structure. /// /// IFC2x Edition 4 CHANGE  The attribute relatingStructure as been promoted to the new supertype IfcSpatialElement with upward compatibility for file based exchange. @@ -24325,7 +24325,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelReferencedInSpatialStructure (IfcEntityInstanceData* e); - IfcRelReferencedInSpatialStructure (std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedElements, ::Ifc4x3_add1::IfcSpatialElement* v6_RelatingStructure); + IfcRelReferencedInSpatialStructure (std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcSpatialReferenceSelect >::ptr v5_RelatedElements, ::Ifc4x3_add1::IfcSpatialElement* v6_RelatingStructure); typedef aggregate_of< IfcRelReferencedInSpatialStructure > list; }; /// IfcRelSequence is a @@ -30856,14 +30856,14 @@ class IFC_PARSE_API IfcIndexedPolyCurve : public IfcBoundedCurve { public: ::Ifc4x3_add1::IfcCartesianPointList* Points() const; void setPoints(::Ifc4x3_add1::IfcCartesianPointList* v); - boost::optional< aggregate_of_instance::ptr > Segments() const; - void setSegments(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_add1::IfcSegmentIndexSelect >::ptr > Segments() const; + void setSegments(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcSegmentIndexSelect >::ptr > v); boost::optional< bool > SelfIntersect() const; void setSelfIntersect(boost::optional< bool > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcIndexedPolyCurve (IfcEntityInstanceData* e); - IfcIndexedPolyCurve (::Ifc4x3_add1::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of_instance::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect); + IfcIndexedPolyCurve (::Ifc4x3_add1::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect); typedef aggregate_of< IfcIndexedPolyCurve > list; }; /// The flow treatment device type IfcInterceptorType defines commonly shared information for occurrences of interceptors. The set of shared information may include: @@ -32897,12 +32897,12 @@ public: void setTransverseBarSpacing(boost::optional< double > v); boost::optional< std::string > BendingShapeCode() const; void setBendingShapeCode(boost::optional< std::string > v); - boost::optional< aggregate_of_instance::ptr > BendingParameters() const; - void setBendingParameters(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_add1::IfcBendingParameterSelect >::ptr > BendingParameters() const; + void setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcBendingParameterSelect >::ptr > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcReinforcingMeshType (IfcEntityInstanceData* e); - IfcReinforcingMeshType (std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of_instance::ptr > v20_BendingParameters); + IfcReinforcingMeshType (std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of< ::Ifc4x3_add1::IfcBendingParameterSelect >::ptr > v20_BendingParameters); typedef aggregate_of< IfcReinforcingMeshType > list; }; @@ -35199,11 +35199,11 @@ public: ::Ifc4x3_add1::IfcCurve* BasisCurve() const; void setBasisCurve(::Ifc4x3_add1::IfcCurve* v); /// The first trimming point which may be specified as a Cartesian point, as a real parameter or both. - aggregate_of_instance::ptr Trim1() const; - void setTrim1(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_add1::IfcTrimmingSelect >::ptr Trim1() const; + void setTrim1(aggregate_of< ::Ifc4x3_add1::IfcTrimmingSelect >::ptr v); /// The second trimming point which may be specified as a Cartesian point, as a real parameter or both. - aggregate_of_instance::ptr Trim2() const; - void setTrim2(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_add1::IfcTrimmingSelect >::ptr Trim2() const; + void setTrim2(aggregate_of< ::Ifc4x3_add1::IfcTrimmingSelect >::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); @@ -35213,7 +35213,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTrimmedCurve (IfcEntityInstanceData* e); - IfcTrimmedCurve (::Ifc4x3_add1::IfcCurve* v1_BasisCurve, aggregate_of_instance::ptr v2_Trim1, aggregate_of_instance::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_add1::IfcTrimmingPreference::Value v5_MasterRepresentation); + IfcTrimmedCurve (::Ifc4x3_add1::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_add1::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x3_add1::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_add1::IfcTrimmingPreference::Value v5_MasterRepresentation); typedef aggregate_of< IfcTrimmedCurve > list; }; /// The energy conversion device type IfcTubeBundleType defines commonly shared information for occurrences of tube bundles. The set of shared information may include: @@ -43265,12 +43265,12 @@ public: void setBarSurface(boost::optional< ::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Value > v); boost::optional< std::string > BendingShapeCode() const; void setBendingShapeCode(boost::optional< std::string > v); - boost::optional< aggregate_of_instance::ptr > BendingParameters() const; - void setBendingParameters(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_add1::IfcBendingParameterSelect >::ptr > BendingParameters() const; + void setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcBendingParameterSelect >::ptr > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcReinforcingBarType (IfcEntityInstanceData* e); - IfcReinforcingBarType (std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of_instance::ptr > v16_BendingParameters); + IfcReinforcingBarType (std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcBendingParameterSelect >::ptr > v16_BendingParameters); typedef aggregate_of< IfcReinforcingBarType > list; }; /// Definition from ISO 6707-1:1989: Construction enclosing the building from above. diff --git a/src/ifcparse/Ifc4x3_rc1-definitions.h b/src/ifcparse/Ifc4x3_rc1-definitions.h index 61659835ce..0819fb4cb2 100644 --- a/src/ifcparse/Ifc4x3_rc1-definitions.h +++ b/src/ifcparse/Ifc4x3_rc1-definitions.h @@ -4000,3 +4000,52 @@ #define SCHEMA_HAS_IfcZone #define SCHEMA_IfcZone_HAS_LongName #define SCHEMA_IfcZone_LongName_IS_OPTIONAL +#define SCHEMA_HAS_IfcRepresentationContextSameWCS +#define SCHEMA_HAS_IfcSingleProjectInstance +#define SCHEMA_HAS_IfcAssociatedSurface +#define SCHEMA_HAS_IfcBaseAxis +#define SCHEMA_HAS_IfcBooleanChoose +#define SCHEMA_HAS_IfcBuild2Axes +#define SCHEMA_HAS_IfcBuildAxes +#define SCHEMA_HAS_IfcConsecutiveSegments +#define SCHEMA_HAS_IfcConstraintsParamBSpline +#define SCHEMA_HAS_IfcConvertDirectionInto2D +#define SCHEMA_HAS_IfcCorrectDimensions +#define SCHEMA_HAS_IfcCorrectFillAreaStyle +#define SCHEMA_HAS_IfcCorrectLocalPlacement +#define SCHEMA_HAS_IfcCorrectObjectAssignment +#define SCHEMA_HAS_IfcCorrectUnitAssignment +#define SCHEMA_HAS_IfcCrossProduct +#define SCHEMA_HAS_IfcCurveDim +#define SCHEMA_HAS_IfcCurveWeightsPositive +#define SCHEMA_HAS_IfcDeriveDimensionalExponents +#define SCHEMA_HAS_IfcDimensionsForSiUnit +#define SCHEMA_HAS_IfcDotProduct +#define SCHEMA_HAS_IfcFirstProjAxis +#define SCHEMA_HAS_IfcGetBasisSurface +#define SCHEMA_HAS_IfcListToArray +#define SCHEMA_HAS_IfcLoopHeadToTail +#define SCHEMA_HAS_IfcMakeArrayOfArray +#define SCHEMA_HAS_IfcMlsTotalThickness +#define SCHEMA_HAS_IfcNormalise +#define SCHEMA_HAS_IfcOrthogonalComplement +#define SCHEMA_HAS_IfcPathHeadToTail +#define SCHEMA_HAS_IfcPointListDim +#define SCHEMA_HAS_IfcSameAxis2Placement +#define SCHEMA_HAS_IfcSameCartesianPoint +#define SCHEMA_HAS_IfcSameDirection +#define SCHEMA_HAS_IfcSameValidPrecision +#define SCHEMA_HAS_IfcSameValue +#define SCHEMA_HAS_IfcScalarTimesVector +#define SCHEMA_HAS_IfcSecondProjAxis +#define SCHEMA_HAS_IfcShapeRepresentationTypes +#define SCHEMA_HAS_IfcSurfaceWeightsPositive +#define SCHEMA_HAS_IfcTaperedSweptAreaProfiles +#define SCHEMA_HAS_IfcTopologyRepresentationTypes +#define SCHEMA_HAS_IfcUniqueDefinitionNames +#define SCHEMA_HAS_IfcUniquePropertyName +#define SCHEMA_HAS_IfcUniquePropertySetNames +#define SCHEMA_HAS_IfcUniquePropertyTemplateNames +#define SCHEMA_HAS_IfcUniqueQuantityNames +#define SCHEMA_HAS_IfcVectorDifference +#define SCHEMA_HAS_IfcVectorSum diff --git a/src/ifcparse/Ifc4x3_rc1.cpp b/src/ifcparse/Ifc4x3_rc1.cpp index 03437fc88e..1ab29bc4da 100644 --- a/src/ifcparse/Ifc4x3_rc1.cpp +++ b/src/ifcparse/Ifc4x3_rc1.cpp @@ -15615,8 +15615,8 @@ boost::optional< std::string > Ifc4x3_rc1::IfcDocumentInformation::Revision() co void Ifc4x3_rc1::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3_rc1::IfcActorSelect* Ifc4x3_rc1::IfcDocumentInformation::DocumentOwner() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc1::IfcActorSelect>(true); } void Ifc4x3_rc1::IfcDocumentInformation::setDocumentOwner(::Ifc4x3_rc1::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc1::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(9); return v; } -void Ifc4x3_rc1::IfcDocumentInformation::setEditors(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcActorSelect >::ptr > Ifc4x3_rc1::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc1::IfcActorSelect >::ptr v = *data_->getArgument(9); return v; } +void Ifc4x3_rc1::IfcDocumentInformation::setEditors(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcActorSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcDocumentInformation::CreationTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } void Ifc4x3_rc1::IfcDocumentInformation::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcDocumentInformation::LastRevisionTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } @@ -15640,7 +15640,7 @@ void Ifc4x3_rc1::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x3_rc1 const IfcParse::entity& Ifc4x3_rc1::IfcDocumentInformation::declaration() const { return *IFC4X3_RC1_IfcDocumentInformation_type; } const IfcParse::entity& Ifc4x3_rc1::IfcDocumentInformation::Class() { return *IFC4X3_RC1_IfcDocumentInformation_type; } Ifc4x3_rc1::IfcDocumentInformation::IfcDocumentInformation(IfcEntityInstanceData* e) : IfcExternalInformation((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcDocumentInformation_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::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, ::Ifc4x3_rc1::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of_instance::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< ::Ifc4x3_rc1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_rc1::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Identification));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Location));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CreationTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LastRevisionTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LastRevisionTime));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ElectronicFormat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ElectronicFormat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ValidFrom) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ValidFrom));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ValidUntil) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ValidUntil));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc4x3_rc1::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc4x3_rc1::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } +Ifc4x3_rc1::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, ::Ifc4x3_rc1::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcActorSelect >::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< ::Ifc4x3_rc1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_rc1::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Identification));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Location));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CreationTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LastRevisionTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LastRevisionTime));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ElectronicFormat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ElectronicFormat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ValidFrom) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ValidFrom));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ValidUntil) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ValidUntil));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc4x3_rc1::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc4x3_rc1::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } // Function implementations for IfcDocumentInformationRelationship ::Ifc4x3_rc1::IfcDocumentInformation* Ifc4x3_rc1::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcDocumentInformation>(true); } @@ -16334,14 +16334,14 @@ Ifc4x3_rc1::IfcExternalReference::IfcExternalReference(boost::optional< std::str // Function implementations for IfcExternalReferenceRelationship ::Ifc4x3_rc1::IfcExternalReference* Ifc4x3_rc1::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcExternalReference>(true); } void Ifc4x3_rc1::IfcExternalReferenceRelationship::setRelatingReference(::Ifc4x3_rc1::IfcExternalReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -aggregate_of_instance::ptr Ifc4x3_rc1::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } -void Ifc4x3_rc1::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr Ifc4x3_rc1::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr v = *data_->getArgument(3); return v; } +void Ifc4x3_rc1::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcExternalReferenceRelationship::declaration() const { return *IFC4X3_RC1_IfcExternalReferenceRelationship_type; } const IfcParse::entity& Ifc4x3_rc1::IfcExternalReferenceRelationship::Class() { return *IFC4X3_RC1_IfcExternalReferenceRelationship_type; } Ifc4x3_rc1::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcExternalReferenceRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcExternalReference* v3_RelatingReference, aggregate_of_instance::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcExternalReferenceRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingReference));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } +Ifc4x3_rc1::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcExternalReferenceRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingReference));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } // Function implementations for IfcExternalSpatialElement boost::optional< ::Ifc4x3_rc1::IfcExternalSpatialElementTypeEnum::Value > Ifc4x3_rc1::IfcExternalSpatialElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcExternalSpatialElementTypeEnum::FromString(*data_->getArgument(8)); } @@ -16586,8 +16586,8 @@ Ifc4x3_rc1::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcEntity Ifc4x3_rc1::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcFeatureElementSubtraction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcFillAreaStyle -aggregate_of_instance::ptr Ifc4x3_rc1::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcFillAreaStyle::setFillStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_rc1::IfcFillStyleSelect >::ptr Ifc4x3_rc1::IfcFillAreaStyle::FillStyles() const { aggregate_of< ::Ifc4x3_rc1::IfcFillStyleSelect >::ptr v = *data_->getArgument(1); return v; } +void Ifc4x3_rc1::IfcFillAreaStyle::setFillStyles(aggregate_of< ::Ifc4x3_rc1::IfcFillStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x3_rc1::IfcFillAreaStyle::ModelorDraughting() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } void Ifc4x3_rc1::IfcFillAreaStyle::setModelorDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } @@ -16595,7 +16595,7 @@ void Ifc4x3_rc1::IfcFillAreaStyle::setModelorDraughting(boost::optional< bool > const IfcParse::entity& Ifc4x3_rc1::IfcFillAreaStyle::declaration() const { return *IFC4X3_RC1_IfcFillAreaStyle_type; } const IfcParse::entity& Ifc4x3_rc1::IfcFillAreaStyle::Class() { return *IFC4X3_RC1_IfcFillAreaStyle_type; } Ifc4x3_rc1::IfcFillAreaStyle::IfcFillAreaStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcFillAreaStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of_instance::ptr v2_FillStyles, boost::optional< bool > v3_ModelorDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles));data_->setArgument(1,attr);} if (v3_ModelorDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ModelorDraughting));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x3_rc1::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_rc1::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelorDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles));data_->setArgument(1,attr);} if (v3_ModelorDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ModelorDraughting));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcFillAreaStyleHatching ::Ifc4x3_rc1::IfcCurveStyle* Ifc4x3_rc1::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcCurveStyle>(true); } @@ -16915,7 +16915,7 @@ Ifc4x3_rc1::IfcGeographicElementType::IfcGeographicElementType(std::string v1_Gl const IfcParse::entity& Ifc4x3_rc1::IfcGeometricCurveSet::declaration() const { return *IFC4X3_RC1_IfcGeometricCurveSet_type; } const IfcParse::entity& Ifc4x3_rc1::IfcGeometricCurveSet::Class() { return *IFC4X3_RC1_IfcGeometricCurveSet_type; } Ifc4x3_rc1::IfcGeometricCurveSet::IfcGeometricCurveSet(IfcEntityInstanceData* e) : IfcGeometricSet((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcGeometricCurveSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of_instance::ptr v1_Elements) : IfcGeometricSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcGeometricCurveSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } +Ifc4x3_rc1::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4x3_rc1::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcGeometricCurveSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } // Function implementations for IfcGeometricRepresentationContext int Ifc4x3_rc1::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = *data_->getArgument(2); return v; } @@ -16960,14 +16960,14 @@ Ifc4x3_rc1::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubC Ifc4x3_rc1::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, ::Ifc4x3_rc1::IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, ::Ifc4x3_rc1::IfcGeometricProjectionEnum::Value v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcGeometricRepresentationSubContext_type); if (v1_ContextIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_ContextIdentifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_ContextType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ContextType));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ParentContext));data_->setArgument(6,attr);} if (v8_TargetScale) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_TargetScale));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_TargetView,::Ifc4x3_rc1::IfcGeometricProjectionEnum::ToString(v9_TargetView))));data_->setArgument(8,attr);} if (v10_UserDefinedTargetView) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_UserDefinedTargetView));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcGeometricSet -aggregate_of_instance::ptr Ifc4x3_rc1::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc1::IfcGeometricSet::setElements(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc1::IfcGeometricSetSelect >::ptr Ifc4x3_rc1::IfcGeometricSet::Elements() const { aggregate_of< ::Ifc4x3_rc1::IfcGeometricSetSelect >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x3_rc1::IfcGeometricSet::setElements(aggregate_of< ::Ifc4x3_rc1::IfcGeometricSetSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcGeometricSet::declaration() const { return *IFC4X3_RC1_IfcGeometricSet_type; } const IfcParse::entity& Ifc4x3_rc1::IfcGeometricSet::Class() { return *IFC4X3_RC1_IfcGeometricSet_type; } Ifc4x3_rc1::IfcGeometricSet::IfcGeometricSet(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcGeometricSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcGeometricSet::IfcGeometricSet(aggregate_of_instance::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcGeometricSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } +Ifc4x3_rc1::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x3_rc1::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcGeometricSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } // Function implementations for IfcGeomodel @@ -17199,8 +17199,8 @@ Ifc4x3_rc1::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4x3_rc1::IfcTessellate // Function implementations for IfcIndexedPolyCurve ::Ifc4x3_rc1::IfcCartesianPointList* Ifc4x3_rc1::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcCartesianPointList>(true); } void Ifc4x3_rc1::IfcIndexedPolyCurve::setPoints(::Ifc4x3_rc1::IfcCartesianPointList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc1::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcSegmentIndexSelect >::ptr > Ifc4x3_rc1::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc1::IfcSegmentIndexSelect >::ptr v = *data_->getArgument(1); return v; } +void Ifc4x3_rc1::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcSegmentIndexSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x3_rc1::IfcIndexedPolyCurve::SelfIntersect() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } void Ifc4x3_rc1::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } @@ -17208,7 +17208,7 @@ void Ifc4x3_rc1::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v const IfcParse::entity& Ifc4x3_rc1::IfcIndexedPolyCurve::declaration() const { return *IFC4X3_RC1_IfcIndexedPolyCurve_type; } const IfcParse::entity& Ifc4x3_rc1::IfcIndexedPolyCurve::Class() { return *IFC4X3_RC1_IfcIndexedPolyCurve_type; } Ifc4x3_rc1::IfcIndexedPolyCurve::IfcIndexedPolyCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcIndexedPolyCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x3_rc1::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of_instance::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcIndexedPolyCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Points));data_->setArgument(0,attr);} if (v2_Segments) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Segments));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_SelfIntersect) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_SelfIntersect));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x3_rc1::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x3_rc1::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcIndexedPolyCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Points));data_->setArgument(0,attr);} if (v2_Segments) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Segments));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_SelfIntersect) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_SelfIntersect));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcIndexedPolygonalFace std::vector< int > /*[3:?]*/ Ifc4x3_rc1::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = *data_->getArgument(0); return v; } @@ -17314,14 +17314,14 @@ Ifc4x3_rc1::IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, // Function implementations for IfcIrregularTimeSeriesValue std::string Ifc4x3_rc1::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc1::IfcIrregularTimeSeriesValue::setTimeStamp(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of_instance::ptr Ifc4x3_rc1::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcIrregularTimeSeriesValue::setListValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr Ifc4x3_rc1::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v = *data_->getArgument(1); return v; } +void Ifc4x3_rc1::IfcIrregularTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcIrregularTimeSeriesValue::declaration() const { return *IFC4X3_RC1_IfcIrregularTimeSeriesValue_type; } const IfcParse::entity& Ifc4x3_rc1::IfcIrregularTimeSeriesValue::Class() { return *IFC4X3_RC1_IfcIrregularTimeSeriesValue_type; } Ifc4x3_rc1::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC1_IfcIrregularTimeSeriesValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of_instance::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcIrregularTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TimeStamp));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ListValues));data_->setArgument(1,attr);} } +Ifc4x3_rc1::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcIrregularTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TimeStamp));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ListValues));data_->setArgument(1,attr);} } // Function implementations for IfcJunctionBox boost::optional< ::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Value > Ifc4x3_rc1::IfcJunctionBox::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::FromString(*data_->getArgument(8)); } @@ -17792,8 +17792,8 @@ Ifc4x3_rc1::IfcMaterial::IfcMaterial(IfcEntityInstanceData* e) : IfcMaterialDefi Ifc4x3_rc1::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_Category) : IfcMaterialDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Category) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Category));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcMaterialClassificationRelationship -aggregate_of_instance::ptr Ifc4x3_rc1::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc1::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc1::IfcClassificationSelect >::ptr Ifc4x3_rc1::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of< ::Ifc4x3_rc1::IfcClassificationSelect >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x3_rc1::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of< ::Ifc4x3_rc1::IfcClassificationSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4x3_rc1::IfcMaterial* Ifc4x3_rc1::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcMaterial>(true); } void Ifc4x3_rc1::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc4x3_rc1::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -17801,7 +17801,7 @@ void Ifc4x3_rc1::IfcMaterialClassificationRelationship::setClassifiedMaterial(:: const IfcParse::entity& Ifc4x3_rc1::IfcMaterialClassificationRelationship::declaration() const { return *IFC4X3_RC1_IfcMaterialClassificationRelationship_type; } const IfcParse::entity& Ifc4x3_rc1::IfcMaterialClassificationRelationship::Class() { return *IFC4X3_RC1_IfcMaterialClassificationRelationship_type; } Ifc4x3_rc1::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC1_IfcMaterialClassificationRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of_instance::ptr v1_MaterialClassifications, ::Ifc4x3_rc1::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcMaterialClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialClassifications));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ClassifiedMaterial));data_->setArgument(1,attr);} } +Ifc4x3_rc1::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4x3_rc1::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x3_rc1::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcMaterialClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialClassifications));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ClassifiedMaterial));data_->setArgument(1,attr);} } // Function implementations for IfcMaterialConstituent boost::optional< std::string > Ifc4x3_rc1::IfcMaterialConstituent::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -19035,8 +19035,8 @@ std::string Ifc4x3_rc1::IfcPresentationLayerAssignment::Name() const { std::str void Ifc4x3_rc1::IfcPresentationLayerAssignment::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcPresentationLayerAssignment::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc1::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } -aggregate_of_instance::ptr Ifc4x3_rc1::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_rc1::IfcLayeredItem >::ptr Ifc4x3_rc1::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of< ::Ifc4x3_rc1::IfcLayeredItem >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x3_rc1::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of< ::Ifc4x3_rc1::IfcLayeredItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcPresentationLayerAssignment::Identifier() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4x3_rc1::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } @@ -19044,7 +19044,7 @@ void Ifc4x3_rc1::IfcPresentationLayerAssignment::setIdentifier(boost::optional< const IfcParse::entity& Ifc4x3_rc1::IfcPresentationLayerAssignment::declaration() const { return *IFC4X3_RC1_IfcPresentationLayerAssignment_type; } const IfcParse::entity& Ifc4x3_rc1::IfcPresentationLayerAssignment::Class() { return *IFC4X3_RC1_IfcPresentationLayerAssignment_type; } Ifc4x3_rc1::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC1_IfcPresentationLayerAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcPresentationLayerAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } +Ifc4x3_rc1::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc1::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcPresentationLayerAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcPresentationLayerWithStyle boost::logic::tribool Ifc4x3_rc1::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = *data_->getArgument(4); return v; } @@ -19060,7 +19060,7 @@ void Ifc4x3_rc1::IfcPresentationLayerWithStyle::setLayerStyles(aggregate_of< ::I const IfcParse::entity& Ifc4x3_rc1::IfcPresentationLayerWithStyle::declaration() const { return *IFC4X3_RC1_IfcPresentationLayerWithStyle_type; } const IfcParse::entity& Ifc4x3_rc1::IfcPresentationLayerWithStyle::Class() { return *IFC4X3_RC1_IfcPresentationLayerWithStyle_type; } Ifc4x3_rc1::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcEntityInstanceData* e) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcPresentationLayerWithStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_rc1::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcPresentationLayerWithStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_LayerOn));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LayerFrozen));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LayerBlocked));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LayerStyles)->generalize());data_->setArgument(7,attr);} } +Ifc4x3_rc1::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc1::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_rc1::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcPresentationLayerWithStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_LayerOn));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LayerFrozen));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LayerBlocked));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LayerStyles)->generalize());data_->setArgument(7,attr);} } // Function implementations for IfcPresentationStyle boost::optional< std::string > Ifc4x3_rc1::IfcPresentationStyle::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -19073,14 +19073,14 @@ Ifc4x3_rc1::IfcPresentationStyle::IfcPresentationStyle(IfcEntityInstanceData* e) Ifc4x3_rc1::IfcPresentationStyle::IfcPresentationStyle(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcPresentationStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } } // Function implementations for IfcPresentationStyleAssignment -aggregate_of_instance::ptr Ifc4x3_rc1::IfcPresentationStyleAssignment::Styles() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc1::IfcPresentationStyleAssignment::setStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc1::IfcPresentationStyleSelect >::ptr Ifc4x3_rc1::IfcPresentationStyleAssignment::Styles() const { aggregate_of< ::Ifc4x3_rc1::IfcPresentationStyleSelect >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x3_rc1::IfcPresentationStyleAssignment::setStyles(aggregate_of< ::Ifc4x3_rc1::IfcPresentationStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcPresentationStyleAssignment::declaration() const { return *IFC4X3_RC1_IfcPresentationStyleAssignment_type; } const IfcParse::entity& Ifc4x3_rc1::IfcPresentationStyleAssignment::Class() { return *IFC4X3_RC1_IfcPresentationStyleAssignment_type; } Ifc4x3_rc1::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC1_IfcPresentationStyleAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(aggregate_of_instance::ptr v1_Styles) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcPresentationStyleAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Styles));data_->setArgument(0,attr);} } +Ifc4x3_rc1::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(aggregate_of< ::Ifc4x3_rc1::IfcPresentationStyleSelect >::ptr v1_Styles) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcPresentationStyleAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Styles));data_->setArgument(0,attr);} } // Function implementations for IfcProcedure boost::optional< ::Ifc4x3_rc1::IfcProcedureTypeEnum::Value > Ifc4x3_rc1::IfcProcedure::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcProcedureTypeEnum::FromString(*data_->getArgument(7)); } @@ -19302,8 +19302,8 @@ Ifc4x3_rc1::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship Ifc4x3_rc1::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcProperty* v3_DependingProperty, ::Ifc4x3_rc1::IfcProperty* v4_DependantProperty, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcPropertyDependencyRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_DependingProperty));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_DependantProperty));data_->setArgument(3,attr);} if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcPropertyEnumeratedValue -boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc1::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > Ifc4x3_rc1::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x3_rc1::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc1::IfcPropertyEnumeration* Ifc4x3_rc1::IfcPropertyEnumeratedValue::EnumerationReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcPropertyEnumeration>(true); } void Ifc4x3_rc1::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x3_rc1::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19311,13 +19311,13 @@ void Ifc4x3_rc1::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x3_rc const IfcParse::entity& Ifc4x3_rc1::IfcPropertyEnumeratedValue::declaration() const { return *IFC4X3_RC1_IfcPropertyEnumeratedValue_type; } const IfcParse::entity& Ifc4x3_rc1::IfcPropertyEnumeratedValue::Class() { return *IFC4X3_RC1_IfcPropertyEnumeratedValue_type; } Ifc4x3_rc1::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcPropertyEnumeratedValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of_instance::ptr > v3_EnumerationValues, ::Ifc4x3_rc1::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcPropertyEnumeratedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EnumerationValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EnumerationValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EnumerationReference));data_->setArgument(3,attr);} } +Ifc4x3_rc1::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x3_rc1::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcPropertyEnumeratedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EnumerationValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EnumerationValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EnumerationReference));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyEnumeration std::string Ifc4x3_rc1::IfcPropertyEnumeration::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc1::IfcPropertyEnumeration::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of_instance::ptr Ifc4x3_rc1::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcPropertyEnumeration::setEnumerationValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr Ifc4x3_rc1::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v = *data_->getArgument(1); return v; } +void Ifc4x3_rc1::IfcPropertyEnumeration::setEnumerationValues(aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } ::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcPropertyEnumeration::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcUnit>(true); } void Ifc4x3_rc1::IfcPropertyEnumeration::setUnit(::Ifc4x3_rc1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -19325,11 +19325,11 @@ void Ifc4x3_rc1::IfcPropertyEnumeration::setUnit(::Ifc4x3_rc1::IfcUnit* v) { {If const IfcParse::entity& Ifc4x3_rc1::IfcPropertyEnumeration::declaration() const { return *IFC4X3_RC1_IfcPropertyEnumeration_type; } const IfcParse::entity& Ifc4x3_rc1::IfcPropertyEnumeration::Class() { return *IFC4X3_RC1_IfcPropertyEnumeration_type; } Ifc4x3_rc1::IfcPropertyEnumeration::IfcPropertyEnumeration(IfcEntityInstanceData* e) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcPropertyEnumeration_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of_instance::ptr v2_EnumerationValues, ::Ifc4x3_rc1::IfcUnit* v3_Unit) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcPropertyEnumeration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EnumerationValues));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);} } +Ifc4x3_rc1::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x3_rc1::IfcUnit* v3_Unit) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcPropertyEnumeration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EnumerationValues));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);} } // Function implementations for IfcPropertyListValue -boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc1::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcPropertyListValue::setListValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > Ifc4x3_rc1::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x3_rc1::IfcPropertyListValue::setListValues(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcPropertyListValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcUnit>(true); } void Ifc4x3_rc1::IfcPropertyListValue::setUnit(::Ifc4x3_rc1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19337,7 +19337,7 @@ void Ifc4x3_rc1::IfcPropertyListValue::setUnit(::Ifc4x3_rc1::IfcUnit* v) { {IfcW const IfcParse::entity& Ifc4x3_rc1::IfcPropertyListValue::declaration() const { return *IFC4X3_RC1_IfcPropertyListValue_type; } const IfcParse::entity& Ifc4x3_rc1::IfcPropertyListValue::Class() { return *IFC4X3_RC1_IfcPropertyListValue_type; } Ifc4x3_rc1::IfcPropertyListValue::IfcPropertyListValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcPropertyListValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of_instance::ptr > v3_ListValues, ::Ifc4x3_rc1::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcPropertyListValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ListValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ListValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } +Ifc4x3_rc1::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v3_ListValues, ::Ifc4x3_rc1::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcPropertyListValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ListValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ListValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyReferenceValue boost::optional< std::string > Ifc4x3_rc1::IfcPropertyReferenceValue::UsageName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } @@ -19400,10 +19400,10 @@ Ifc4x3_rc1::IfcPropertySingleValue::IfcPropertySingleValue(IfcEntityInstanceData Ifc4x3_rc1::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcValue* v3_NominalValue, ::Ifc4x3_rc1::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcPropertySingleValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_NominalValue));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyTableValue -boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc1::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc1::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } -void Ifc4x3_rc1::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > Ifc4x3_rc1::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x3_rc1::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > Ifc4x3_rc1::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v = *data_->getArgument(3); return v; } +void Ifc4x3_rc1::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcPropertyTableValue::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x3_rc1::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcPropertyTableValue::DefiningUnit() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcUnit>(true); } @@ -19417,7 +19417,7 @@ void Ifc4x3_rc1::IfcPropertyTableValue::setCurveInterpolation(boost::optional< : const IfcParse::entity& Ifc4x3_rc1::IfcPropertyTableValue::declaration() const { return *IFC4X3_RC1_IfcPropertyTableValue_type; } const IfcParse::entity& Ifc4x3_rc1::IfcPropertyTableValue::Class() { return *IFC4X3_RC1_IfcPropertyTableValue_type; } Ifc4x3_rc1::IfcPropertyTableValue::IfcPropertyTableValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcPropertyTableValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of_instance::ptr > v3_DefiningValues, boost::optional< aggregate_of_instance::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_rc1::IfcUnit* v6_DefiningUnit, ::Ifc4x3_rc1::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_rc1::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcPropertyTableValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_DefiningValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_DefiningValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DefinedValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DefinedValues));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_DefiningUnit));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_DefinedUnit));data_->setArgument(6,attr);} if (v8_CurveInterpolation) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_CurveInterpolation,::Ifc4x3_rc1::IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } +Ifc4x3_rc1::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_rc1::IfcUnit* v6_DefiningUnit, ::Ifc4x3_rc1::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_rc1::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcPropertyTableValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_DefiningValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_DefiningValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DefinedValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DefinedValues));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_DefiningUnit));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_DefinedUnit));data_->setArgument(6,attr);} if (v8_CurveInterpolation) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_CurveInterpolation,::Ifc4x3_rc1::IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcPropertyTemplate @@ -19898,14 +19898,14 @@ boost::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc1: void Ifc4x3_rc1::IfcReinforcingBarType::setBarSurface(boost::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::ToString(*v)));}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcReinforcingBarType::BendingShapeCode() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } void Ifc4x3_rc1::IfcReinforcingBarType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc1::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(15); return v; } -void Ifc4x3_rc1::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcBendingParameterSelect >::ptr > Ifc4x3_rc1::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc1::IfcBendingParameterSelect >::ptr v = *data_->getArgument(15); return v; } +void Ifc4x3_rc1::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcReinforcingBarType::declaration() const { return *IFC4X3_RC1_IfcReinforcingBarType_type; } const IfcParse::entity& Ifc4x3_rc1::IfcReinforcingBarType::Class() { return *IFC4X3_RC1_IfcReinforcingBarType_type; } Ifc4x3_rc1::IfcReinforcingBarType::IfcReinforcingBarType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcReinforcingBarType_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of_instance::ptr > v16_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcReinforcingBarType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_BarLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_BarLength));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_BarSurface) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_BarSurface,::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_BendingShapeCode));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_BendingParameters));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } } +Ifc4x3_rc1::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcReinforcingBarType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_BarLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_BarLength));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_BarSurface) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_BarSurface,::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_BendingShapeCode));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_BendingParameters));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } } // Function implementations for IfcReinforcingElement boost::optional< std::string > Ifc4x3_rc1::IfcReinforcingElement::SteelGrade() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } @@ -19972,14 +19972,14 @@ boost::optional< double > Ifc4x3_rc1::IfcReinforcingMeshType::TransverseBarSpaci void Ifc4x3_rc1::IfcReinforcingMeshType::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(17,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcReinforcingMeshType::BendingShapeCode() const { if(!data_->getArgument(18) || data_->getArgument(18)->isNull()) { return boost::none; } std::string v = *data_->getArgument(18); return v; } void Ifc4x3_rc1::IfcReinforcingMeshType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(18,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc1::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(19); return v; } -void Ifc4x3_rc1::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(19,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcBendingParameterSelect >::ptr > Ifc4x3_rc1::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc1::IfcBendingParameterSelect >::ptr v = *data_->getArgument(19); return v; } +void Ifc4x3_rc1::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(19,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcReinforcingMeshType::declaration() const { return *IFC4X3_RC1_IfcReinforcingMeshType_type; } const IfcParse::entity& Ifc4x3_rc1::IfcReinforcingMeshType::Class() { return *IFC4X3_RC1_IfcReinforcingMeshType_type; } Ifc4x3_rc1::IfcReinforcingMeshType::IfcReinforcingMeshType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcReinforcingMeshType_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of_instance::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcReinforcingMeshType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshLength));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_MeshWidth));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LongitudinalBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TransverseBarNominalDiameter));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LongitudinalBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_TransverseBarCrossSectionArea));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LongitudinalBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_TransverseBarSpacing));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_BendingShapeCode));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_BendingParameters));data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } +Ifc4x3_rc1::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of< ::Ifc4x3_rc1::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcReinforcingMeshType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshLength));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_MeshWidth));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LongitudinalBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TransverseBarNominalDiameter));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LongitudinalBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_TransverseBarCrossSectionArea));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LongitudinalBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_TransverseBarSpacing));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_BendingShapeCode));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_BendingParameters));data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } // Function implementations for IfcRelAggregates ::Ifc4x3_rc1::IfcObjectDefinition* Ifc4x3_rc1::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcObjectDefinition>(true); } @@ -20080,14 +20080,14 @@ Ifc4x3_rc1::IfcRelAssignsToResource::IfcRelAssignsToResource(IfcEntityInstanceDa Ifc4x3_rc1::IfcRelAssignsToResource::IfcRelAssignsToResource(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcResourceSelect* v7_RelatingResource) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelAssignsToResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x3_rc1::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingResource));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociates -aggregate_of_instance::ptr Ifc4x3_rc1::IfcRelAssociates::RelatedObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcRelAssociates::setRelatedObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr Ifc4x3_rc1::IfcRelAssociates::RelatedObjects() const { aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v = *data_->getArgument(4); return v; } +void Ifc4x3_rc1::IfcRelAssociates::setRelatedObjects(aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssociates::declaration() const { return *IFC4X3_RC1_IfcRelAssociates_type; } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssociates::Class() { return *IFC4X3_RC1_IfcRelAssociates_type; } Ifc4x3_rc1::IfcRelAssociates::IfcRelAssociates(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcRelAssociates_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} } +Ifc4x3_rc1::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} } // Function implementations for IfcRelAssociatesApproval ::Ifc4x3_rc1::IfcApproval* Ifc4x3_rc1::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcApproval>(true); } @@ -20097,7 +20097,7 @@ void Ifc4x3_rc1::IfcRelAssociatesApproval::setRelatingApproval(::Ifc4x3_rc1::Ifc const IfcParse::entity& Ifc4x3_rc1::IfcRelAssociatesApproval::declaration() const { return *IFC4X3_RC1_IfcRelAssociatesApproval_type; } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssociatesApproval::Class() { return *IFC4X3_RC1_IfcRelAssociatesApproval_type; } Ifc4x3_rc1::IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcRelAssociatesApproval_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } +Ifc4x3_rc1::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesClassification ::Ifc4x3_rc1::IfcClassificationSelect* Ifc4x3_rc1::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcClassificationSelect>(true); } @@ -20107,7 +20107,7 @@ void Ifc4x3_rc1::IfcRelAssociatesClassification::setRelatingClassification(::Ifc const IfcParse::entity& Ifc4x3_rc1::IfcRelAssociatesClassification::declaration() const { return *IFC4X3_RC1_IfcRelAssociatesClassification_type; } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssociatesClassification::Class() { return *IFC4X3_RC1_IfcRelAssociatesClassification_type; } Ifc4x3_rc1::IfcRelAssociatesClassification::IfcRelAssociatesClassification(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcRelAssociatesClassification_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelAssociatesClassification_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingClassification));data_->setArgument(5,attr);} } +Ifc4x3_rc1::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelAssociatesClassification_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingClassification));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesConstraint boost::optional< std::string > Ifc4x3_rc1::IfcRelAssociatesConstraint::Intent() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } @@ -20119,7 +20119,7 @@ void Ifc4x3_rc1::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc4x3_rc1: const IfcParse::entity& Ifc4x3_rc1::IfcRelAssociatesConstraint::declaration() const { return *IFC4X3_RC1_IfcRelAssociatesConstraint_type; } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssociatesConstraint::Class() { return *IFC4X3_RC1_IfcRelAssociatesConstraint_type; } Ifc4x3_rc1::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcRelAssociatesConstraint_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_rc1::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} if (v6_Intent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Intent));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } +Ifc4x3_rc1::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_rc1::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} if (v6_Intent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Intent));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociatesDocument ::Ifc4x3_rc1::IfcDocumentSelect* Ifc4x3_rc1::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcDocumentSelect>(true); } @@ -20129,7 +20129,7 @@ void Ifc4x3_rc1::IfcRelAssociatesDocument::setRelatingDocument(::Ifc4x3_rc1::Ifc const IfcParse::entity& Ifc4x3_rc1::IfcRelAssociatesDocument::declaration() const { return *IFC4X3_RC1_IfcRelAssociatesDocument_type; } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssociatesDocument::Class() { return *IFC4X3_RC1_IfcRelAssociatesDocument_type; } Ifc4x3_rc1::IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcRelAssociatesDocument_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } +Ifc4x3_rc1::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesLibrary ::Ifc4x3_rc1::IfcLibrarySelect* Ifc4x3_rc1::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcLibrarySelect>(true); } @@ -20139,7 +20139,7 @@ void Ifc4x3_rc1::IfcRelAssociatesLibrary::setRelatingLibrary(::Ifc4x3_rc1::IfcLi const IfcParse::entity& Ifc4x3_rc1::IfcRelAssociatesLibrary::declaration() const { return *IFC4X3_RC1_IfcRelAssociatesLibrary_type; } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssociatesLibrary::Class() { return *IFC4X3_RC1_IfcRelAssociatesLibrary_type; } Ifc4x3_rc1::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcRelAssociatesLibrary_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } +Ifc4x3_rc1::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesMaterial ::Ifc4x3_rc1::IfcMaterialSelect* Ifc4x3_rc1::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcMaterialSelect>(true); } @@ -20149,7 +20149,7 @@ void Ifc4x3_rc1::IfcRelAssociatesMaterial::setRelatingMaterial(::Ifc4x3_rc1::Ifc const IfcParse::entity& Ifc4x3_rc1::IfcRelAssociatesMaterial::declaration() const { return *IFC4X3_RC1_IfcRelAssociatesMaterial_type; } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssociatesMaterial::Class() { return *IFC4X3_RC1_IfcRelAssociatesMaterial_type; } Ifc4x3_rc1::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcRelAssociatesMaterial_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelAssociatesMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingMaterial));data_->setArgument(5,attr);} } +Ifc4x3_rc1::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelAssociatesMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingMaterial));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesProfileDef ::Ifc4x3_rc1::IfcProfileDef* Ifc4x3_rc1::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcProfileDef>(true); } @@ -20159,7 +20159,7 @@ void Ifc4x3_rc1::IfcRelAssociatesProfileDef::setRelatingProfileDef(::Ifc4x3_rc1: const IfcParse::entity& Ifc4x3_rc1::IfcRelAssociatesProfileDef::declaration() const { return *IFC4X3_RC1_IfcRelAssociatesProfileDef_type; } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssociatesProfileDef::Class() { return *IFC4X3_RC1_IfcRelAssociatesProfileDef_type; } Ifc4x3_rc1::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcRelAssociatesProfileDef_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcProfileDef* v6_RelatingProfileDef) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelAssociatesProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingProfileDef));data_->setArgument(5,attr);} } +Ifc4x3_rc1::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcProfileDef* v6_RelatingProfileDef) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelAssociatesProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingProfileDef));data_->setArgument(5,attr);} } // Function implementations for IfcRelConnects @@ -20318,14 +20318,14 @@ Ifc4x3_rc1::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::If // Function implementations for IfcRelDeclares ::Ifc4x3_rc1::IfcContext* Ifc4x3_rc1::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcContext>(true); } void Ifc4x3_rc1::IfcRelDeclares::setRelatingContext(::Ifc4x3_rc1::IfcContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -aggregate_of_instance::ptr Ifc4x3_rc1::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr v = *data_->getArgument(5); return v; } -void Ifc4x3_rc1::IfcRelDeclares::setRelatedDefinitions(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } +aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr Ifc4x3_rc1::IfcRelDeclares::RelatedDefinitions() const { aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v = *data_->getArgument(5); return v; } +void Ifc4x3_rc1::IfcRelDeclares::setRelatedDefinitions(aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcRelDeclares::declaration() const { return *IFC4X3_RC1_IfcRelDeclares_type; } const IfcParse::entity& Ifc4x3_rc1::IfcRelDeclares::Class() { return *IFC4X3_RC1_IfcRelDeclares_type; } Ifc4x3_rc1::IfcRelDeclares::IfcRelDeclares(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcRelDeclares_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcContext* v5_RelatingContext, aggregate_of_instance::ptr v6_RelatedDefinitions) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelDeclares_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingContext));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedDefinitions));data_->setArgument(5,attr);} } +Ifc4x3_rc1::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelDeclares_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingContext));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedDefinitions));data_->setArgument(5,attr);} } // Function implementations for IfcRelDecomposes @@ -20470,8 +20470,8 @@ Ifc4x3_rc1::IfcRelProjectsElement::IfcRelProjectsElement(IfcEntityInstanceData* Ifc4x3_rc1::IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcElement* v5_RelatingElement, ::Ifc4x3_rc1::IfcFeatureElementAddition* v6_RelatedFeatureElement) : IfcRelDecomposes((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelProjectsElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedFeatureElement));data_->setArgument(5,attr);} } // Function implementations for IfcRelReferencedInSpatialStructure -aggregate_of_instance::ptr Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +aggregate_of< ::Ifc4x3_rc1::IfcSpatialReferenceSelect >::ptr Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of< ::Ifc4x3_rc1::IfcSpatialReferenceSelect >::ptr v = *data_->getArgument(4); return v; } +void Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4x3_rc1::IfcSpatialReferenceSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } ::Ifc4x3_rc1::IfcSpatialElement* Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcSpatialElement>(true); } void Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc4x3_rc1::IfcSpatialElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20479,7 +20479,7 @@ void Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc4 const IfcParse::entity& Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::declaration() const { return *IFC4X3_RC1_IfcRelReferencedInSpatialStructure_type; } const IfcParse::entity& Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::Class() { return *IFC4X3_RC1_IfcRelReferencedInSpatialStructure_type; } Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(IfcEntityInstanceData* e) : IfcRelConnects((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcRelReferencedInSpatialStructure_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedElements, ::Ifc4x3_rc1::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelReferencedInSpatialStructure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedElements));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingStructure));data_->setArgument(5,attr);} } +Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcSpatialReferenceSelect >::ptr v5_RelatedElements, ::Ifc4x3_rc1::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelReferencedInSpatialStructure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedElements));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingStructure));data_->setArgument(5,attr);} } // Function implementations for IfcRelSequence ::Ifc4x3_rc1::IfcProcess* Ifc4x3_rc1::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcProcess>(true); } @@ -20651,8 +20651,8 @@ Ifc4x3_rc1::IfcResource::IfcResource(IfcEntityInstanceData* e) : IfcObject((IfcE Ifc4x3_rc1::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc4x3_rc1::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((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_LongDescription));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcResourceApprovalRelationship -aggregate_of_instance::ptr Ifc4x3_rc1::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr Ifc4x3_rc1::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x3_rc1::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4x3_rc1::IfcApproval* Ifc4x3_rc1::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcApproval>(true); } void Ifc4x3_rc1::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x3_rc1::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -20660,19 +20660,19 @@ void Ifc4x3_rc1::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x3_r const IfcParse::entity& Ifc4x3_rc1::IfcResourceApprovalRelationship::declaration() const { return *IFC4X3_RC1_IfcResourceApprovalRelationship_type; } const IfcParse::entity& Ifc4x3_rc1::IfcResourceApprovalRelationship::Class() { return *IFC4X3_RC1_IfcResourceApprovalRelationship_type; } Ifc4x3_rc1::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcResourceApprovalRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_RelatedResourceObjects, ::Ifc4x3_rc1::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcResourceApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatedResourceObjects));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatingApproval));data_->setArgument(3,attr);} } +Ifc4x3_rc1::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x3_rc1::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcResourceApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatedResourceObjects));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatingApproval));data_->setArgument(3,attr);} } // Function implementations for IfcResourceConstraintRelationship ::Ifc4x3_rc1::IfcConstraint* Ifc4x3_rc1::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcConstraint>(true); } void Ifc4x3_rc1::IfcResourceConstraintRelationship::setRelatingConstraint(::Ifc4x3_rc1::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -aggregate_of_instance::ptr Ifc4x3_rc1::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } -void Ifc4x3_rc1::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr Ifc4x3_rc1::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr v = *data_->getArgument(3); return v; } +void Ifc4x3_rc1::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcResourceConstraintRelationship::declaration() const { return *IFC4X3_RC1_IfcResourceConstraintRelationship_type; } const IfcParse::entity& Ifc4x3_rc1::IfcResourceConstraintRelationship::Class() { return *IFC4X3_RC1_IfcResourceConstraintRelationship_type; } Ifc4x3_rc1::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcResourceConstraintRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcConstraint* v3_RelatingConstraint, aggregate_of_instance::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcResourceConstraintRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingConstraint));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } +Ifc4x3_rc1::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcResourceConstraintRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingConstraint));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } // Function implementations for IfcResourceLevelRelationship boost::optional< std::string > Ifc4x3_rc1::IfcResourceLevelRelationship::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -21043,14 +21043,14 @@ Ifc4x3_rc1::IfcShapeRepresentation::IfcShapeRepresentation(IfcEntityInstanceData Ifc4x3_rc1::IfcShapeRepresentation::IfcShapeRepresentation(::Ifc4x3_rc1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_rc1::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcShapeRepresentation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ContextOfItems));data_->setArgument(0,attr);} if (v2_RepresentationIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_RepresentationIdentifier));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_RepresentationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_RepresentationType));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Items)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcShellBasedSurfaceModel -aggregate_of_instance::ptr Ifc4x3_rc1::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc1::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc1::IfcShell >::ptr Ifc4x3_rc1::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of< ::Ifc4x3_rc1::IfcShell >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x3_rc1::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of< ::Ifc4x3_rc1::IfcShell >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcShellBasedSurfaceModel::declaration() const { return *IFC4X3_RC1_IfcShellBasedSurfaceModel_type; } const IfcParse::entity& Ifc4x3_rc1::IfcShellBasedSurfaceModel::Class() { return *IFC4X3_RC1_IfcShellBasedSurfaceModel_type; } Ifc4x3_rc1::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcShellBasedSurfaceModel_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of_instance::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcShellBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SbsmBoundary));data_->setArgument(0,attr);} } +Ifc4x3_rc1::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4x3_rc1::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcShellBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SbsmBoundary));data_->setArgument(0,attr);} } // Function implementations for IfcSign boost::optional< ::Ifc4x3_rc1::IfcSignTypeEnum::Value > Ifc4x3_rc1::IfcSign::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSignTypeEnum::FromString(*data_->getArgument(8)); } @@ -21859,8 +21859,8 @@ Ifc4x3_rc1::IfcStyleModel::IfcStyleModel(::Ifc4x3_rc1::IfcRepresentationContext* // Function implementations for IfcStyledItem ::Ifc4x3_rc1::IfcRepresentationItem* Ifc4x3_rc1::IfcStyledItem::Item() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcRepresentationItem>(true); } void Ifc4x3_rc1::IfcStyledItem::setItem(::Ifc4x3_rc1::IfcRepresentationItem* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of_instance::ptr Ifc4x3_rc1::IfcStyledItem::Styles() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcStyledItem::setStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_rc1::IfcStyleAssignmentSelect >::ptr Ifc4x3_rc1::IfcStyledItem::Styles() const { aggregate_of< ::Ifc4x3_rc1::IfcStyleAssignmentSelect >::ptr v = *data_->getArgument(1); return v; } +void Ifc4x3_rc1::IfcStyledItem::setStyles(aggregate_of< ::Ifc4x3_rc1::IfcStyleAssignmentSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcStyledItem::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4x3_rc1::IfcStyledItem::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } @@ -21868,7 +21868,7 @@ void Ifc4x3_rc1::IfcStyledItem::setName(boost::optional< std::string > v) { {Ifc const IfcParse::entity& Ifc4x3_rc1::IfcStyledItem::declaration() const { return *IFC4X3_RC1_IfcStyledItem_type; } const IfcParse::entity& Ifc4x3_rc1::IfcStyledItem::Class() { return *IFC4X3_RC1_IfcStyledItem_type; } Ifc4x3_rc1::IfcStyledItem::IfcStyledItem(IfcEntityInstanceData* e) : IfcRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcStyledItem_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcStyledItem::IfcStyledItem(::Ifc4x3_rc1::IfcRepresentationItem* v1_Item, aggregate_of_instance::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcStyledItem_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Item));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Styles));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x3_rc1::IfcStyledItem::IfcStyledItem(::Ifc4x3_rc1::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc4x3_rc1::IfcStyleAssignmentSelect >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcStyledItem_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Item));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Styles));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcStyledRepresentation @@ -21989,14 +21989,14 @@ Ifc4x3_rc1::IfcSurfaceReinforcementArea::IfcSurfaceReinforcementArea(boost::opti // Function implementations for IfcSurfaceStyle ::Ifc4x3_rc1::IfcSurfaceSide::Value Ifc4x3_rc1::IfcSurfaceStyle::Side() const { return ::Ifc4x3_rc1::IfcSurfaceSide::FromString(*data_->getArgument(1)); } void Ifc4x3_rc1::IfcSurfaceStyle::setSide(::Ifc4x3_rc1::IfcSurfaceSide::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcSurfaceSide::ToString(v)));data_->setArgument(1,attr);} } -aggregate_of_instance::ptr Ifc4x3_rc1::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcSurfaceStyle::setStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_rc1::IfcSurfaceStyleElementSelect >::ptr Ifc4x3_rc1::IfcSurfaceStyle::Styles() const { aggregate_of< ::Ifc4x3_rc1::IfcSurfaceStyleElementSelect >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x3_rc1::IfcSurfaceStyle::setStyles(aggregate_of< ::Ifc4x3_rc1::IfcSurfaceStyleElementSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcSurfaceStyle::declaration() const { return *IFC4X3_RC1_IfcSurfaceStyle_type; } const IfcParse::entity& Ifc4x3_rc1::IfcSurfaceStyle::Class() { return *IFC4X3_RC1_IfcSurfaceStyle_type; } Ifc4x3_rc1::IfcSurfaceStyle::IfcSurfaceStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcSurfaceStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcSurfaceSide::Value v2_Side, aggregate_of_instance::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc4x3_rc1::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles));data_->setArgument(2,attr);} } +Ifc4x3_rc1::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x3_rc1::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc4x3_rc1::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles));data_->setArgument(2,attr);} } // Function implementations for IfcSurfaceStyleLighting ::Ifc4x3_rc1::IfcColourRgb* Ifc4x3_rc1::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcColourRgb>(true); } @@ -22251,8 +22251,8 @@ Ifc4x3_rc1::IfcTableColumn::IfcTableColumn(IfcEntityInstanceData* e) : IfcUtil:: Ifc4x3_rc1::IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, ::Ifc4x3_rc1::IfcUnit* v4_Unit, ::Ifc4x3_rc1::IfcReference* v5_ReferencePath) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcTableColumn_type); if (v1_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Identifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Name));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_ReferencePath));data_->setArgument(4,attr);} } // Function implementations for IfcTableRow -boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc1::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc1::IfcTableRow::setRowCells(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > Ifc4x3_rc1::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x3_rc1::IfcTableRow::setRowCells(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< bool > Ifc4x3_rc1::IfcTableRow::IsHeading() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } bool v = *data_->getArgument(1); return v; } void Ifc4x3_rc1::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } @@ -22260,7 +22260,7 @@ void Ifc4x3_rc1::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrit const IfcParse::entity& Ifc4x3_rc1::IfcTableRow::declaration() const { return *IFC4X3_RC1_IfcTableRow_type; } const IfcParse::entity& Ifc4x3_rc1::IfcTableRow::Class() { return *IFC4X3_RC1_IfcTableRow_type; } Ifc4x3_rc1::IfcTableRow::IfcTableRow(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC1_IfcTableRow_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcTableRow::IfcTableRow(boost::optional< aggregate_of_instance::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcTableRow_type); if (v1_RowCells) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RowCells));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_IsHeading) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_IsHeading));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } +Ifc4x3_rc1::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcTableRow_type); if (v1_RowCells) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RowCells));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_IsHeading) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_IsHeading));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcTank boost::optional< ::Ifc4x3_rc1::IfcTankTypeEnum::Value > Ifc4x3_rc1::IfcTank::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcTankTypeEnum::FromString(*data_->getArgument(8)); } @@ -22672,14 +22672,14 @@ Ifc4x3_rc1::IfcTimeSeries::IfcTimeSeries(IfcEntityInstanceData* e) : IfcUtil::If Ifc4x3_rc1::IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc1::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc1::IfcUnit* v8_Unit) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcTimeSeries_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_StartTime));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EndTime));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_TimeSeriesDataType,::Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType))));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v6_DataOrigin,::Ifc4x3_rc1::IfcDataOriginEnum::ToString(v6_DataOrigin))));data_->setArgument(5,attr);} if (v7_UserDefinedDataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_UserDefinedDataOrigin));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Unit));data_->setArgument(7,attr);} } // Function implementations for IfcTimeSeriesValue -aggregate_of_instance::ptr Ifc4x3_rc1::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc1::IfcTimeSeriesValue::setListValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr Ifc4x3_rc1::IfcTimeSeriesValue::ListValues() const { aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x3_rc1::IfcTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcTimeSeriesValue::declaration() const { return *IFC4X3_RC1_IfcTimeSeriesValue_type; } const IfcParse::entity& Ifc4x3_rc1::IfcTimeSeriesValue::Class() { return *IFC4X3_RC1_IfcTimeSeriesValue_type; } Ifc4x3_rc1::IfcTimeSeriesValue::IfcTimeSeriesValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC1_IfcTimeSeriesValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of_instance::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ListValues));data_->setArgument(0,attr);} } +Ifc4x3_rc1::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ListValues));data_->setArgument(0,attr);} } // Function implementations for IfcTopologicalRepresentationItem @@ -22832,10 +22832,10 @@ Ifc4x3_rc1::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(::I // Function implementations for IfcTrimmedCurve ::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcCurve>(true); } void Ifc4x3_rc1::IfcTrimmedCurve::setBasisCurve(::Ifc4x3_rc1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of_instance::ptr Ifc4x3_rc1::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcTrimmedCurve::setTrim1(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -aggregate_of_instance::ptr Ifc4x3_rc1::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcTrimmedCurve::setTrim2(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_rc1::IfcTrimmingSelect >::ptr Ifc4x3_rc1::IfcTrimmedCurve::Trim1() const { aggregate_of< ::Ifc4x3_rc1::IfcTrimmingSelect >::ptr v = *data_->getArgument(1); return v; } +void Ifc4x3_rc1::IfcTrimmedCurve::setTrim1(aggregate_of< ::Ifc4x3_rc1::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_rc1::IfcTrimmingSelect >::ptr Ifc4x3_rc1::IfcTrimmedCurve::Trim2() const { aggregate_of< ::Ifc4x3_rc1::IfcTrimmingSelect >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x3_rc1::IfcTrimmedCurve::setTrim2(aggregate_of< ::Ifc4x3_rc1::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } bool Ifc4x3_rc1::IfcTrimmedCurve::SenseAgreement() const { bool v = *data_->getArgument(3); return v; } void Ifc4x3_rc1::IfcTrimmedCurve::setSenseAgreement(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x3_rc1::IfcTrimmingPreference::Value Ifc4x3_rc1::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4x3_rc1::IfcTrimmingPreference::FromString(*data_->getArgument(4)); } @@ -22845,7 +22845,7 @@ void Ifc4x3_rc1::IfcTrimmedCurve::setMasterRepresentation(::Ifc4x3_rc1::IfcTrimm const IfcParse::entity& Ifc4x3_rc1::IfcTrimmedCurve::declaration() const { return *IFC4X3_RC1_IfcTrimmedCurve_type; } const IfcParse::entity& Ifc4x3_rc1::IfcTrimmedCurve::Class() { return *IFC4X3_RC1_IfcTrimmedCurve_type; } Ifc4x3_rc1::IfcTrimmedCurve::IfcTrimmedCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcTrimmedCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3_rc1::IfcCurve* v1_BasisCurve, aggregate_of_instance::ptr v2_Trim1, aggregate_of_instance::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc1::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcTrimmedCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Trim1));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Trim2));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SenseAgreement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_MasterRepresentation,::Ifc4x3_rc1::IfcTrimmingPreference::ToString(v5_MasterRepresentation))));data_->setArgument(4,attr);} } +Ifc4x3_rc1::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3_rc1::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_rc1::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x3_rc1::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc1::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcTrimmedCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Trim1));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Trim2));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SenseAgreement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_MasterRepresentation,::Ifc4x3_rc1::IfcTrimmingPreference::ToString(v5_MasterRepresentation))));data_->setArgument(4,attr);} } // Function implementations for IfcTubeBundle boost::optional< ::Ifc4x3_rc1::IfcTubeBundleTypeEnum::Value > Ifc4x3_rc1::IfcTubeBundle::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcTubeBundleTypeEnum::FromString(*data_->getArgument(8)); } @@ -22946,14 +22946,14 @@ Ifc4x3_rc1::IfcUShapeProfileDef::IfcUShapeProfileDef(IfcEntityInstanceData* e) : Ifc4x3_rc1::IfcUShapeProfileDef::IfcUShapeProfileDef(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::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((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcUShapeProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4x3_rc1::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_FlangeWidth));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_WebThickness));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_FlangeThickness));data_->setArgument(6,attr);} if (v8_FilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_FilletRadius));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_EdgeRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_EdgeRadius));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_FlangeSlope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_FlangeSlope));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcUnitAssignment -aggregate_of_instance::ptr Ifc4x3_rc1::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc1::IfcUnitAssignment::setUnits(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc1::IfcUnit >::ptr Ifc4x3_rc1::IfcUnitAssignment::Units() const { aggregate_of< ::Ifc4x3_rc1::IfcUnit >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x3_rc1::IfcUnitAssignment::setUnits(aggregate_of< ::Ifc4x3_rc1::IfcUnit >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcUnitAssignment::declaration() const { return *IFC4X3_RC1_IfcUnitAssignment_type; } const IfcParse::entity& Ifc4x3_rc1::IfcUnitAssignment::Class() { return *IFC4X3_RC1_IfcUnitAssignment_type; } Ifc4x3_rc1::IfcUnitAssignment::IfcUnitAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC1_IfcUnitAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcUnitAssignment::IfcUnitAssignment(aggregate_of_instance::ptr v1_Units) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcUnitAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Units));data_->setArgument(0,attr);} } +Ifc4x3_rc1::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4x3_rc1::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcUnitAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Units));data_->setArgument(0,attr);} } // Function implementations for IfcUnitaryControlElement boost::optional< ::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Value > Ifc4x3_rc1::IfcUnitaryControlElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::FromString(*data_->getArgument(8)); } diff --git a/src/ifcparse/Ifc4x3_rc1.h b/src/ifcparse/Ifc4x3_rc1.h index 0d49d07989..26b73912c4 100644 --- a/src/ifcparse/Ifc4x3_rc1.h +++ b/src/ifcparse/Ifc4x3_rc1.h @@ -10965,12 +10965,12 @@ public: std::string TimeStamp() const; void setTimeStamp(std::string v); /// A list of time-series values. At least one value is required. - aggregate_of_instance::ptr ListValues() const; - void setListValues(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr ListValues() const; + void setListValues(aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcIrregularTimeSeriesValue (IfcEntityInstanceData* e); - IfcIrregularTimeSeriesValue (std::string v1_TimeStamp, aggregate_of_instance::ptr v2_ListValues); + IfcIrregularTimeSeriesValue (std::string v1_TimeStamp, aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v2_ListValues); typedef aggregate_of< 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. @@ -11144,15 +11144,15 @@ public: class IFC_PARSE_API IfcMaterialClassificationRelationship : public IfcUtil::IfcBaseEntity { public: /// The material classifications identifying the type of material. - aggregate_of_instance::ptr MaterialClassifications() const; - void setMaterialClassifications(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc1::IfcClassificationSelect >::ptr MaterialClassifications() const; + void setMaterialClassifications(aggregate_of< ::Ifc4x3_rc1::IfcClassificationSelect >::ptr v); /// Material being classified. ::Ifc4x3_rc1::IfcMaterial* ClassifiedMaterial() const; void setClassifiedMaterial(::Ifc4x3_rc1::IfcMaterial* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcMaterialClassificationRelationship (IfcEntityInstanceData* e); - IfcMaterialClassificationRelationship (aggregate_of_instance::ptr v1_MaterialClassifications, ::Ifc4x3_rc1::IfcMaterial* v2_ClassifiedMaterial); + IfcMaterialClassificationRelationship (aggregate_of< ::Ifc4x3_rc1::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x3_rc1::IfcMaterial* v2_ClassifiedMaterial); typedef aggregate_of< IfcMaterialClassificationRelationship > list; }; /// IfcMaterialDefinition is a general supertype for all @@ -11943,15 +11943,15 @@ public: boost::optional< std::string > Description() const; void setDescription(boost::optional< std::string > v); /// The set of layered items, which are assigned to this layer. - aggregate_of_instance::ptr AssignedItems() const; - void setAssignedItems(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc1::IfcLayeredItem >::ptr AssignedItems() const; + void setAssignedItems(aggregate_of< ::Ifc4x3_rc1::IfcLayeredItem >::ptr v); /// An (internal) identifier assigned to the layer. boost::optional< std::string > Identifier() const; void setIdentifier(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPresentationLayerAssignment (IfcEntityInstanceData* e); - IfcPresentationLayerAssignment (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier); + IfcPresentationLayerAssignment (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc1::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier); typedef aggregate_of< IfcPresentationLayerAssignment > list; }; /// An IfcPresentationLayerAssignmentWithStyle extends the presentation layer assignment with capabilities to define visibility control, access control and common style information. @@ -11988,7 +11988,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPresentationLayerWithStyle (IfcEntityInstanceData* e); - IfcPresentationLayerWithStyle (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_rc1::IfcPresentationStyle >::ptr v8_LayerStyles); + IfcPresentationLayerWithStyle (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc1::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_rc1::IfcPresentationStyle >::ptr v8_LayerStyles); typedef aggregate_of< 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. @@ -12015,12 +12015,12 @@ public: class IFC_PARSE_API IfcPresentationStyleAssignment : public IfcUtil::IfcBaseEntity, public IfcStyleAssignmentSelect { public: /// A set of presentation styles that are assigned to styled items. - aggregate_of_instance::ptr Styles() const; - void setStyles(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc1::IfcPresentationStyleSelect >::ptr Styles() const; + void setStyles(aggregate_of< ::Ifc4x3_rc1::IfcPresentationStyleSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPresentationStyleAssignment (IfcEntityInstanceData* e); - IfcPresentationStyleAssignment (aggregate_of_instance::ptr v1_Styles); + IfcPresentationStyleAssignment (aggregate_of< ::Ifc4x3_rc1::IfcPresentationStyleSelect >::ptr v1_Styles); typedef aggregate_of< IfcPresentationStyleAssignment > list; }; /// IfcProductRepresentation defines a representation of a @@ -12352,15 +12352,15 @@ public: std::string Name() const; void setName(std::string v); /// List of values that form the enumeration. - aggregate_of_instance::ptr EnumerationValues() const; - void setEnumerationValues(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr EnumerationValues() const; + void setEnumerationValues(aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v); /// 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. ::Ifc4x3_rc1::IfcUnit* Unit() const; void setUnit(::Ifc4x3_rc1::IfcUnit* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyEnumeration (IfcEntityInstanceData* e); - IfcPropertyEnumeration (std::string v1_Name, aggregate_of_instance::ptr v2_EnumerationValues, ::Ifc4x3_rc1::IfcUnit* v3_Unit); + IfcPropertyEnumeration (std::string v1_Name, aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x3_rc1::IfcUnit* v3_Unit); typedef aggregate_of< 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. @@ -13210,15 +13210,15 @@ public: /// for file based exchange. /// /// NOTE Only the select item IfcPresentationStyle shall be used from IFC2x4 onwards, the IfcPresentationStyleAssignment has been deprecated. - aggregate_of_instance::ptr Styles() const; - void setStyles(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc1::IfcStyleAssignmentSelect >::ptr Styles() const; + void setStyles(aggregate_of< ::Ifc4x3_rc1::IfcStyleAssignmentSelect >::ptr v); /// The word, or group of words, by which the styled item is referred to. boost::optional< std::string > Name() const; void setName(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcStyledItem (IfcEntityInstanceData* e); - IfcStyledItem (::Ifc4x3_rc1::IfcRepresentationItem* v1_Item, aggregate_of_instance::ptr v2_Styles, boost::optional< std::string > v3_Name); + IfcStyledItem (::Ifc4x3_rc1::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc4x3_rc1::IfcStyleAssignmentSelect >::ptr v2_Styles, boost::optional< std::string > v3_Name); typedef aggregate_of< 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. @@ -13271,12 +13271,12 @@ public: ::Ifc4x3_rc1::IfcSurfaceSide::Value Side() const; void setSide(::Ifc4x3_rc1::IfcSurfaceSide::Value v); /// A collection of different surface styles. - aggregate_of_instance::ptr Styles() const; - void setStyles(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc1::IfcSurfaceStyleElementSelect >::ptr Styles() const; + void setStyles(aggregate_of< ::Ifc4x3_rc1::IfcSurfaceStyleElementSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSurfaceStyle (IfcEntityInstanceData* e); - IfcSurfaceStyle (boost::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcSurfaceSide::Value v2_Side, aggregate_of_instance::ptr v3_Styles); + IfcSurfaceStyle (boost::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x3_rc1::IfcSurfaceStyleElementSelect >::ptr v3_Styles); typedef aggregate_of< IfcSurfaceStyle > list; }; /// IfcSurfaceStyleLighting is a container class for properties for calculation of physically exact illuminance related to a particular surface style. @@ -13585,15 +13585,15 @@ public: class IFC_PARSE_API IfcTableRow : public IfcUtil::IfcBaseEntity { public: /// The data value of the table cell.. - boost::optional< aggregate_of_instance::ptr > RowCells() const; - void setRowCells(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > RowCells() const; + void setRowCells(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::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. boost::optional< bool > IsHeading() const; void setIsHeading(boost::optional< bool > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTableRow (IfcEntityInstanceData* e); - IfcTableRow (boost::optional< aggregate_of_instance::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading); + IfcTableRow (boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading); typedef aggregate_of< IfcTableRow > list; }; /// IfcTaskTime captures the time-related information about a task including the different types (actual or scheduled) of starting and ending times. @@ -14142,12 +14142,12 @@ public: class IFC_PARSE_API IfcTimeSeriesValue : public IfcUtil::IfcBaseEntity { public: /// A list of time-series values. At least one value is required. - aggregate_of_instance::ptr ListValues() const; - void setListValues(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr ListValues() const; + void setListValues(aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTimeSeriesValue (IfcEntityInstanceData* e); - IfcTimeSeriesValue (aggregate_of_instance::ptr v1_ListValues); + IfcTimeSeriesValue (aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v1_ListValues); typedef aggregate_of< IfcTimeSeriesValue > list; }; /// Definition from ISO/CD 10303-42:1992: The topological representation item is the supertype for all the topological representation items in the geometry resource. @@ -14213,12 +14213,12 @@ public: class IFC_PARSE_API IfcUnitAssignment : public IfcUtil::IfcBaseEntity { public: /// Units to be included within a unit assignment. - aggregate_of_instance::ptr Units() const; - void setUnits(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc1::IfcUnit >::ptr Units() const; + void setUnits(aggregate_of< ::Ifc4x3_rc1::IfcUnit >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcUnitAssignment (IfcEntityInstanceData* e); - IfcUnitAssignment (aggregate_of_instance::ptr v1_Units); + IfcUnitAssignment (aggregate_of< ::Ifc4x3_rc1::IfcUnit >::ptr v1_Units); typedef aggregate_of< IfcUnitAssignment > list; }; /// Definition from ISO/CD 10303-42:1992: A vertex is the topological construct corresponding to a point. It has dimensionality 0 and extent 0. The domain of a vertex, if present, is a point in m dimensional real space RM; this is represented by the vertex point subtype. @@ -15194,8 +15194,8 @@ public: ::Ifc4x3_rc1::IfcActorSelect* DocumentOwner() const; void setDocumentOwner(::Ifc4x3_rc1::IfcActorSelect* v); /// The persons and/or organizations who have created this document or contributed to it. - boost::optional< aggregate_of_instance::ptr > Editors() const; - void setEditors(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcActorSelect >::ptr > Editors() const; + void setEditors(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcActorSelect >::ptr > v); /// 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. @@ -15236,7 +15236,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcDocumentInformation (IfcEntityInstanceData* e); - 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, ::Ifc4x3_rc1::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of_instance::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< ::Ifc4x3_rc1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_rc1::IfcDocumentStatusEnum::Value > 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, ::Ifc4x3_rc1::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcActorSelect >::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< ::Ifc4x3_rc1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_rc1::IfcDocumentStatusEnum::Value > v17_Status); typedef aggregate_of< IfcDocumentInformation > list; }; /// An IfcDocumentInformationRelationship is a relationship class that enables a document to have the ability to reference other documents. @@ -15477,12 +15477,12 @@ public: ::Ifc4x3_rc1::IfcExternalReference* RelatingReference() const; void setRelatingReference(::Ifc4x3_rc1::IfcExternalReference* v); /// Objects within the list of IfcResourceObjectSelect that can be tagged by an external reference to a dictionary, library, catalogue, classification or documentation. - aggregate_of_instance::ptr RelatedResourceObjects() const; - void setRelatedResourceObjects(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr RelatedResourceObjects() const; + void setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcExternalReferenceRelationship (IfcEntityInstanceData* e); - IfcExternalReferenceRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcExternalReference* v3_RelatingReference, aggregate_of_instance::ptr v4_RelatedResourceObjects); + IfcExternalReferenceRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects); typedef aggregate_of< IfcExternalReferenceRelationship > list; }; /// Definition from ISO/CD 10303-42:1992: A face is a topological @@ -15693,14 +15693,14 @@ public: class IFC_PARSE_API IfcFillAreaStyle : public IfcPresentationStyle, public IfcPresentationStyleSelect { public: /// The set of fill area styles to use in presenting visible curve segments, annotation fill areas or surfaces. - aggregate_of_instance::ptr FillStyles() const; - void setFillStyles(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc1::IfcFillStyleSelect >::ptr FillStyles() const; + void setFillStyles(aggregate_of< ::Ifc4x3_rc1::IfcFillStyleSelect >::ptr v); boost::optional< bool > ModelorDraughting() const; void setModelorDraughting(boost::optional< bool > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcFillAreaStyle (IfcEntityInstanceData* e); - IfcFillAreaStyle (boost::optional< std::string > v1_Name, aggregate_of_instance::ptr v2_FillStyles, boost::optional< bool > v3_ModelorDraughting); + IfcFillAreaStyle (boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_rc1::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelorDraughting); typedef aggregate_of< IfcFillAreaStyle > list; }; /// Definition from ISO/CD 10303-42:1992: A geometric @@ -15854,12 +15854,12 @@ public: class IFC_PARSE_API 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. - aggregate_of_instance::ptr Elements() const; - void setElements(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc1::IfcGeometricSetSelect >::ptr Elements() const; + void setElements(aggregate_of< ::Ifc4x3_rc1::IfcGeometricSetSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcGeometricSet (IfcEntityInstanceData* e); - IfcGeometricSet (aggregate_of_instance::ptr v1_Elements); + IfcGeometricSet (aggregate_of< ::Ifc4x3_rc1::IfcGeometricSetSelect >::ptr v1_Elements); typedef aggregate_of< IfcGeometricSet > list; }; /// IfcGridPlacement provides a specialization of IfcObjectPlacement in which @@ -17905,15 +17905,15 @@ public: class IFC_PARSE_API IfcResourceApprovalRelationship : public IfcResourceLevelRelationship { public: /// Resource objects that are approved. - aggregate_of_instance::ptr RelatedResourceObjects() const; - void setRelatedResourceObjects(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr RelatedResourceObjects() const; + void setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr v); /// The approval for the resource objects selected. ::Ifc4x3_rc1::IfcApproval* RelatingApproval() const; void setRelatingApproval(::Ifc4x3_rc1::IfcApproval* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcResourceApprovalRelationship (IfcEntityInstanceData* e); - IfcResourceApprovalRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_RelatedResourceObjects, ::Ifc4x3_rc1::IfcApproval* v4_RelatingApproval); + IfcResourceApprovalRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x3_rc1::IfcApproval* v4_RelatingApproval); typedef aggregate_of< IfcResourceApprovalRelationship > list; }; /// An IfcResourceConstraintRelationship is a relationship @@ -17942,12 +17942,12 @@ public: ::Ifc4x3_rc1::IfcConstraint* RelatingConstraint() const; void setRelatingConstraint(::Ifc4x3_rc1::IfcConstraint* v); /// The properties to which a constraint is to be related. - aggregate_of_instance::ptr RelatedResourceObjects() const; - void setRelatedResourceObjects(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr RelatedResourceObjects() const; + void setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcResourceConstraintRelationship (IfcEntityInstanceData* e); - IfcResourceConstraintRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcConstraint* v3_RelatingConstraint, aggregate_of_instance::ptr v4_RelatedResourceObjects); + IfcResourceConstraintRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects); typedef aggregate_of< IfcResourceConstraintRelationship > list; }; /// IfcResourceTime captures the time-related information about a construction resource. @@ -18192,12 +18192,12 @@ public: /// The shells shall not overlap or intersect except at common faces, edges or vertices. class IFC_PARSE_API IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { public: - aggregate_of_instance::ptr SbsmBoundary() const; - void setSbsmBoundary(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc1::IfcShell >::ptr SbsmBoundary() const; + void setSbsmBoundary(aggregate_of< ::Ifc4x3_rc1::IfcShell >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcShellBasedSurfaceModel (IfcEntityInstanceData* e); - IfcShellBasedSurfaceModel (aggregate_of_instance::ptr v1_SbsmBoundary); + IfcShellBasedSurfaceModel (aggregate_of< ::Ifc4x3_rc1::IfcShell >::ptr v1_SbsmBoundary); typedef aggregate_of< IfcShellBasedSurfaceModel > 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. @@ -21278,7 +21278,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcGeometricCurveSet (IfcEntityInstanceData* e); - IfcGeometricCurveSet (aggregate_of_instance::ptr v1_Elements); + IfcGeometricCurveSet (aggregate_of< ::Ifc4x3_rc1::IfcGeometricSetSelect >::ptr v1_Elements); typedef aggregate_of< IfcGeometricCurveSet > list; }; /// IfcIShapeProfileDef @@ -22409,15 +22409,15 @@ 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. - boost::optional< aggregate_of_instance::ptr > EnumerationValues() const; - void setEnumerationValues(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > EnumerationValues() const; + void setEnumerationValues(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v); /// Enumeration from which a enumeration value has been selected. The referenced enumeration also establishes the unit of the enumeration value. ::Ifc4x3_rc1::IfcPropertyEnumeration* EnumerationReference() const; void setEnumerationReference(::Ifc4x3_rc1::IfcPropertyEnumeration* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyEnumeratedValue (IfcEntityInstanceData* e); - IfcPropertyEnumeratedValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of_instance::ptr > v3_EnumerationValues, ::Ifc4x3_rc1::IfcPropertyEnumeration* v4_EnumerationReference); + IfcPropertyEnumeratedValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x3_rc1::IfcPropertyEnumeration* v4_EnumerationReference); typedef aggregate_of< IfcPropertyEnumeratedValue > list; }; /// An IfcPropertyListValue @@ -22490,15 +22490,15 @@ public: /// List of property values. /// /// IFC2x4 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. - boost::optional< aggregate_of_instance::ptr > ListValues() const; - void setListValues(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > ListValues() const; + void setListValues(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v); /// 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. ::Ifc4x3_rc1::IfcUnit* Unit() const; void setUnit(::Ifc4x3_rc1::IfcUnit* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyListValue (IfcEntityInstanceData* e); - IfcPropertyListValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of_instance::ptr > v3_ListValues, ::Ifc4x3_rc1::IfcUnit* v4_Unit); + IfcPropertyListValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v3_ListValues, ::Ifc4x3_rc1::IfcUnit* v4_Unit); typedef aggregate_of< IfcPropertyListValue > list; }; /// IfcPropertyReferenceValue allows a property value to @@ -22838,13 +22838,13 @@ 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. - boost::optional< aggregate_of_instance::ptr > DefiningValues() const; - void setDefiningValues(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > DefiningValues() const; + void setDefiningValues(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::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. - boost::optional< aggregate_of_instance::ptr > DefinedValues() const; - void setDefinedValues(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > DefinedValues() const; + void setDefinedValues(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v); /// 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. boost::optional< std::string > Expression() const; void setExpression(boost::optional< std::string > v); @@ -22862,7 +22862,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyTableValue (IfcEntityInstanceData* e); - IfcPropertyTableValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of_instance::ptr > v3_DefiningValues, boost::optional< aggregate_of_instance::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_rc1::IfcUnit* v6_DefiningUnit, ::Ifc4x3_rc1::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_rc1::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation); + IfcPropertyTableValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_rc1::IfcUnit* v6_DefiningUnit, ::Ifc4x3_rc1::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_rc1::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation); typedef aggregate_of< IfcPropertyTableValue > list; }; /// The IfcPropertyTemplate is an abstract supertype @@ -23388,12 +23388,12 @@ 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. - aggregate_of_instance::ptr RelatedObjects() const; - void setRelatedObjects(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr RelatedObjects() const; + void setRelatedObjects(aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociates (IfcEntityInstanceData* e); - IfcRelAssociates (std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects); + IfcRelAssociates (std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v5_RelatedObjects); typedef aggregate_of< IfcRelAssociates > list; }; /// The entity IfcRelAssociatesApproval is used to apply approval information defined by IfcApproval, in IfcApprovalResource schema, to subtypes of IfcRoot. @@ -23407,7 +23407,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesApproval (IfcEntityInstanceData* e); - IfcRelAssociatesApproval (std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcApproval* v6_RelatingApproval); + IfcRelAssociatesApproval (std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcApproval* v6_RelatingApproval); typedef aggregate_of< IfcRelAssociatesApproval > list; }; /// The objectified relationship @@ -23448,7 +23448,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesClassification (IfcEntityInstanceData* e); - IfcRelAssociatesClassification (std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcClassificationSelect* v6_RelatingClassification); + IfcRelAssociatesClassification (std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcClassificationSelect* v6_RelatingClassification); typedef aggregate_of< IfcRelAssociatesClassification > list; }; /// The entity IfcRelAssociatesConstraint is used to apply constraint information defined by IfcConstraint, in the IfcConstraintResource schema, to subtypes of IfcRoot. @@ -23465,7 +23465,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesConstraint (IfcEntityInstanceData* e); - IfcRelAssociatesConstraint (std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_rc1::IfcConstraint* v7_RelatingConstraint); + IfcRelAssociatesConstraint (std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_rc1::IfcConstraint* v7_RelatingConstraint); typedef aggregate_of< 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). @@ -23483,7 +23483,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesDocument (IfcEntityInstanceData* e); - IfcRelAssociatesDocument (std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcDocumentSelect* v6_RelatingDocument); + IfcRelAssociatesDocument (std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcDocumentSelect* v6_RelatingDocument); typedef aggregate_of< IfcRelAssociatesDocument > list; }; /// The objectified relationship (IfcRelAssociatesLibrary) handles the assignment of a library item (items of the select IfcLibrarySelect) to subtypes of IfcObjectDefinition or IfcPropertyDefinition. @@ -23501,7 +23501,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesLibrary (IfcEntityInstanceData* e); - IfcRelAssociatesLibrary (std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcLibrarySelect* v6_RelatingLibrary); + IfcRelAssociatesLibrary (std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcLibrarySelect* v6_RelatingLibrary); typedef aggregate_of< IfcRelAssociatesLibrary > list; }; /// Definition from IAI: Objectified relationship between a @@ -23606,7 +23606,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesMaterial (IfcEntityInstanceData* e); - IfcRelAssociatesMaterial (std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcMaterialSelect* v6_RelatingMaterial); + IfcRelAssociatesMaterial (std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcMaterialSelect* v6_RelatingMaterial); typedef aggregate_of< IfcRelAssociatesMaterial > list; }; @@ -23617,7 +23617,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesProfileDef (IfcEntityInstanceData* e); - IfcRelAssociatesProfileDef (std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcProfileDef* v6_RelatingProfileDef); + IfcRelAssociatesProfileDef (std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcProfileDef* v6_RelatingProfileDef); typedef aggregate_of< IfcRelAssociatesProfileDef > 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. @@ -24090,12 +24090,12 @@ public: ::Ifc4x3_rc1::IfcContext* RelatingContext() const; void setRelatingContext(::Ifc4x3_rc1::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. - aggregate_of_instance::ptr RelatedDefinitions() const; - void setRelatedDefinitions(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr RelatedDefinitions() const; + void setRelatedDefinitions(aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelDeclares (IfcEntityInstanceData* e); - IfcRelDeclares (std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcContext* v5_RelatingContext, aggregate_of_instance::ptr v6_RelatedDefinitions); + IfcRelDeclares (std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v6_RelatedDefinitions); typedef aggregate_of< IfcRelDeclares > list; }; /// The decomposition relationship, @@ -24608,8 +24608,8 @@ class IFC_PARSE_API IfcRelReferencedInSpatialStructure : public IfcRelConnects public: /// Set of products, which are referenced within this level of the spatial structure hierarchy. /// NOTE  Referenced elements are contained elsewhere within the spatial structure, they are referenced additionally by this spatial structure element, e.g., because they span several stories. - aggregate_of_instance::ptr RelatedElements() const; - void setRelatedElements(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc1::IfcSpatialReferenceSelect >::ptr RelatedElements() const; + void setRelatedElements(aggregate_of< ::Ifc4x3_rc1::IfcSpatialReferenceSelect >::ptr v); /// Spatial structure element, within which the element is referenced. Any element can be contained within zero, one or many elements of the project spatial and zoning structure. /// /// IFC2x Edition 4 CHANGE  The attribute relatingStructure as been promoted to the new supertype IfcSpatialElement with upward compatibility for file based exchange. @@ -24618,7 +24618,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelReferencedInSpatialStructure (IfcEntityInstanceData* e); - IfcRelReferencedInSpatialStructure (std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedElements, ::Ifc4x3_rc1::IfcSpatialElement* v6_RelatingStructure); + IfcRelReferencedInSpatialStructure (std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcSpatialReferenceSelect >::ptr v5_RelatedElements, ::Ifc4x3_rc1::IfcSpatialElement* v6_RelatingStructure); typedef aggregate_of< IfcRelReferencedInSpatialStructure > list; }; /// IfcRelSequence is a @@ -31235,14 +31235,14 @@ class IFC_PARSE_API IfcIndexedPolyCurve : public IfcBoundedCurve { public: ::Ifc4x3_rc1::IfcCartesianPointList* Points() const; void setPoints(::Ifc4x3_rc1::IfcCartesianPointList* v); - boost::optional< aggregate_of_instance::ptr > Segments() const; - void setSegments(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcSegmentIndexSelect >::ptr > Segments() const; + void setSegments(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcSegmentIndexSelect >::ptr > v); boost::optional< bool > SelfIntersect() const; void setSelfIntersect(boost::optional< bool > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcIndexedPolyCurve (IfcEntityInstanceData* e); - IfcIndexedPolyCurve (::Ifc4x3_rc1::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of_instance::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect); + IfcIndexedPolyCurve (::Ifc4x3_rc1::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect); typedef aggregate_of< IfcIndexedPolyCurve > list; }; /// The flow treatment device type IfcInterceptorType defines commonly shared information for occurrences of interceptors. The set of shared information may include: @@ -33364,12 +33364,12 @@ public: void setTransverseBarSpacing(boost::optional< double > v); boost::optional< std::string > BendingShapeCode() const; void setBendingShapeCode(boost::optional< std::string > v); - boost::optional< aggregate_of_instance::ptr > BendingParameters() const; - void setBendingParameters(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcBendingParameterSelect >::ptr > BendingParameters() const; + void setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcBendingParameterSelect >::ptr > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcReinforcingMeshType (IfcEntityInstanceData* e); - IfcReinforcingMeshType (std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of_instance::ptr > v20_BendingParameters); + IfcReinforcingMeshType (std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of< ::Ifc4x3_rc1::IfcBendingParameterSelect >::ptr > v20_BendingParameters); typedef aggregate_of< IfcReinforcingMeshType > list; }; /// The aggregation relationship @@ -35648,11 +35648,11 @@ public: ::Ifc4x3_rc1::IfcCurve* BasisCurve() const; void setBasisCurve(::Ifc4x3_rc1::IfcCurve* v); /// The first trimming point which may be specified as a Cartesian point, as a real parameter or both. - aggregate_of_instance::ptr Trim1() const; - void setTrim1(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc1::IfcTrimmingSelect >::ptr Trim1() const; + void setTrim1(aggregate_of< ::Ifc4x3_rc1::IfcTrimmingSelect >::ptr v); /// The second trimming point which may be specified as a Cartesian point, as a real parameter or both. - aggregate_of_instance::ptr Trim2() const; - void setTrim2(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc1::IfcTrimmingSelect >::ptr Trim2() const; + void setTrim2(aggregate_of< ::Ifc4x3_rc1::IfcTrimmingSelect >::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); @@ -35662,7 +35662,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTrimmedCurve (IfcEntityInstanceData* e); - IfcTrimmedCurve (::Ifc4x3_rc1::IfcCurve* v1_BasisCurve, aggregate_of_instance::ptr v2_Trim1, aggregate_of_instance::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc1::IfcTrimmingPreference::Value v5_MasterRepresentation); + IfcTrimmedCurve (::Ifc4x3_rc1::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_rc1::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x3_rc1::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc1::IfcTrimmingPreference::Value v5_MasterRepresentation); typedef aggregate_of< IfcTrimmedCurve > list; }; /// The energy conversion device type IfcTubeBundleType defines commonly shared information for occurrences of tube bundles. The set of shared information may include: @@ -44508,12 +44508,12 @@ public: void setBarSurface(boost::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value > v); boost::optional< std::string > BendingShapeCode() const; void setBendingShapeCode(boost::optional< std::string > v); - boost::optional< aggregate_of_instance::ptr > BendingParameters() const; - void setBendingParameters(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcBendingParameterSelect >::ptr > BendingParameters() const; + void setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcBendingParameterSelect >::ptr > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcReinforcingBarType (IfcEntityInstanceData* e); - IfcReinforcingBarType (std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of_instance::ptr > v16_BendingParameters); + IfcReinforcingBarType (std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcBendingParameterSelect >::ptr > v16_BendingParameters); typedef aggregate_of< IfcReinforcingBarType > list; }; /// Definition from ISO 6707-1:1989: Construction enclosing the building from above. diff --git a/src/ifcparse/Ifc4x3_rc2-definitions.h b/src/ifcparse/Ifc4x3_rc2-definitions.h index 5e170e7c07..662e4e8b9e 100644 --- a/src/ifcparse/Ifc4x3_rc2-definitions.h +++ b/src/ifcparse/Ifc4x3_rc2-definitions.h @@ -4023,3 +4023,53 @@ #define SCHEMA_HAS_IfcZone #define SCHEMA_IfcZone_HAS_LongName #define SCHEMA_IfcZone_LongName_IS_OPTIONAL +#define SCHEMA_HAS_IfcRepresentationContextSameWCS +#define SCHEMA_HAS_IfcSingleProjectInstance +#define SCHEMA_HAS_IfcAssociatedSurface +#define SCHEMA_HAS_IfcBaseAxis +#define SCHEMA_HAS_IfcBooleanChoose +#define SCHEMA_HAS_IfcBuild2Axes +#define SCHEMA_HAS_IfcBuildAxes +#define SCHEMA_HAS_IfcConsecutiveSegments +#define SCHEMA_HAS_IfcConstraintsParamBSpline +#define SCHEMA_HAS_IfcConvertDirectionInto2D +#define SCHEMA_HAS_IfcCorrectDimensions +#define SCHEMA_HAS_IfcCorrectFillAreaStyle +#define SCHEMA_HAS_IfcCorrectLocalPlacement +#define SCHEMA_HAS_IfcCorrectObjectAssignment +#define SCHEMA_HAS_IfcCorrectUnitAssignment +#define SCHEMA_HAS_IfcCrossProduct +#define SCHEMA_HAS_IfcCurveDim +#define SCHEMA_HAS_IfcCurveWeightsPositive +#define SCHEMA_HAS_IfcDeriveDimensionalExponents +#define SCHEMA_HAS_IfcDimensionsForSiUnit +#define SCHEMA_HAS_IfcDotProduct +#define SCHEMA_HAS_IfcFirstProjAxis +#define SCHEMA_HAS_IfcGetBasisSurface +#define SCHEMA_HAS_IfcGradient +#define SCHEMA_HAS_IfcListToArray +#define SCHEMA_HAS_IfcLoopHeadToTail +#define SCHEMA_HAS_IfcMakeArrayOfArray +#define SCHEMA_HAS_IfcMlsTotalThickness +#define SCHEMA_HAS_IfcNormalise +#define SCHEMA_HAS_IfcOrthogonalComplement +#define SCHEMA_HAS_IfcPathHeadToTail +#define SCHEMA_HAS_IfcPointListDim +#define SCHEMA_HAS_IfcSameAxis2Placement +#define SCHEMA_HAS_IfcSameCartesianPoint +#define SCHEMA_HAS_IfcSameDirection +#define SCHEMA_HAS_IfcSameValidPrecision +#define SCHEMA_HAS_IfcSameValue +#define SCHEMA_HAS_IfcScalarTimesVector +#define SCHEMA_HAS_IfcSecondProjAxis +#define SCHEMA_HAS_IfcShapeRepresentationTypes +#define SCHEMA_HAS_IfcSurfaceWeightsPositive +#define SCHEMA_HAS_IfcTaperedSweptAreaProfiles +#define SCHEMA_HAS_IfcTopologyRepresentationTypes +#define SCHEMA_HAS_IfcUniqueDefinitionNames +#define SCHEMA_HAS_IfcUniquePropertyName +#define SCHEMA_HAS_IfcUniquePropertySetNames +#define SCHEMA_HAS_IfcUniquePropertyTemplateNames +#define SCHEMA_HAS_IfcUniqueQuantityNames +#define SCHEMA_HAS_IfcVectorDifference +#define SCHEMA_HAS_IfcVectorSum diff --git a/src/ifcparse/Ifc4x3_rc2.cpp b/src/ifcparse/Ifc4x3_rc2.cpp index f461d1734d..ba8b9f6500 100644 --- a/src/ifcparse/Ifc4x3_rc2.cpp +++ b/src/ifcparse/Ifc4x3_rc2.cpp @@ -15765,8 +15765,8 @@ boost::optional< std::string > Ifc4x3_rc2::IfcDocumentInformation::Revision() co void Ifc4x3_rc2::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3_rc2::IfcActorSelect* Ifc4x3_rc2::IfcDocumentInformation::DocumentOwner() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc2::IfcActorSelect>(true); } void Ifc4x3_rc2::IfcDocumentInformation::setDocumentOwner(::Ifc4x3_rc2::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc2::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(9); return v; } -void Ifc4x3_rc2::IfcDocumentInformation::setEditors(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcActorSelect >::ptr > Ifc4x3_rc2::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc2::IfcActorSelect >::ptr v = *data_->getArgument(9); return v; } +void Ifc4x3_rc2::IfcDocumentInformation::setEditors(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcActorSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcDocumentInformation::CreationTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } void Ifc4x3_rc2::IfcDocumentInformation::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcDocumentInformation::LastRevisionTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } @@ -15790,7 +15790,7 @@ void Ifc4x3_rc2::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x3_rc2 const IfcParse::entity& Ifc4x3_rc2::IfcDocumentInformation::declaration() const { return *IFC4X3_RC2_IfcDocumentInformation_type; } const IfcParse::entity& Ifc4x3_rc2::IfcDocumentInformation::Class() { return *IFC4X3_RC2_IfcDocumentInformation_type; } Ifc4x3_rc2::IfcDocumentInformation::IfcDocumentInformation(IfcEntityInstanceData* e) : IfcExternalInformation((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcDocumentInformation_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::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, ::Ifc4x3_rc2::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of_instance::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< ::Ifc4x3_rc2::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_rc2::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Identification));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Location));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CreationTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LastRevisionTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LastRevisionTime));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ElectronicFormat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ElectronicFormat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ValidFrom) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ValidFrom));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ValidUntil) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ValidUntil));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc4x3_rc2::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc4x3_rc2::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } +Ifc4x3_rc2::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, ::Ifc4x3_rc2::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcActorSelect >::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< ::Ifc4x3_rc2::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_rc2::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Identification));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Location));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CreationTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LastRevisionTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LastRevisionTime));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ElectronicFormat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ElectronicFormat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ValidFrom) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ValidFrom));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ValidUntil) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ValidUntil));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc4x3_rc2::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc4x3_rc2::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } // Function implementations for IfcDocumentInformationRelationship ::Ifc4x3_rc2::IfcDocumentInformation* Ifc4x3_rc2::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcDocumentInformation>(true); } @@ -16484,14 +16484,14 @@ Ifc4x3_rc2::IfcExternalReference::IfcExternalReference(boost::optional< std::str // Function implementations for IfcExternalReferenceRelationship ::Ifc4x3_rc2::IfcExternalReference* Ifc4x3_rc2::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcExternalReference>(true); } void Ifc4x3_rc2::IfcExternalReferenceRelationship::setRelatingReference(::Ifc4x3_rc2::IfcExternalReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -aggregate_of_instance::ptr Ifc4x3_rc2::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } -void Ifc4x3_rc2::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr Ifc4x3_rc2::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr v = *data_->getArgument(3); return v; } +void Ifc4x3_rc2::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcExternalReferenceRelationship::declaration() const { return *IFC4X3_RC2_IfcExternalReferenceRelationship_type; } const IfcParse::entity& Ifc4x3_rc2::IfcExternalReferenceRelationship::Class() { return *IFC4X3_RC2_IfcExternalReferenceRelationship_type; } Ifc4x3_rc2::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcExternalReferenceRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcExternalReference* v3_RelatingReference, aggregate_of_instance::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcExternalReferenceRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingReference));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } +Ifc4x3_rc2::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcExternalReferenceRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingReference));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } // Function implementations for IfcExternalSpatialElement boost::optional< ::Ifc4x3_rc2::IfcExternalSpatialElementTypeEnum::Value > Ifc4x3_rc2::IfcExternalSpatialElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcExternalSpatialElementTypeEnum::FromString(*data_->getArgument(8)); } @@ -16736,8 +16736,8 @@ Ifc4x3_rc2::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcEntity Ifc4x3_rc2::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcFeatureElementSubtraction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcFillAreaStyle -aggregate_of_instance::ptr Ifc4x3_rc2::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcFillAreaStyle::setFillStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_rc2::IfcFillStyleSelect >::ptr Ifc4x3_rc2::IfcFillAreaStyle::FillStyles() const { aggregate_of< ::Ifc4x3_rc2::IfcFillStyleSelect >::ptr v = *data_->getArgument(1); return v; } +void Ifc4x3_rc2::IfcFillAreaStyle::setFillStyles(aggregate_of< ::Ifc4x3_rc2::IfcFillStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x3_rc2::IfcFillAreaStyle::ModelOrDraughting() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } void Ifc4x3_rc2::IfcFillAreaStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } @@ -16745,7 +16745,7 @@ void Ifc4x3_rc2::IfcFillAreaStyle::setModelOrDraughting(boost::optional< bool > const IfcParse::entity& Ifc4x3_rc2::IfcFillAreaStyle::declaration() const { return *IFC4X3_RC2_IfcFillAreaStyle_type; } const IfcParse::entity& Ifc4x3_rc2::IfcFillAreaStyle::Class() { return *IFC4X3_RC2_IfcFillAreaStyle_type; } Ifc4x3_rc2::IfcFillAreaStyle::IfcFillAreaStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcFillAreaStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of_instance::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles));data_->setArgument(1,attr);} if (v3_ModelOrDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ModelOrDraughting));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x3_rc2::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_rc2::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles));data_->setArgument(1,attr);} if (v3_ModelOrDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ModelOrDraughting));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcFillAreaStyleHatching ::Ifc4x3_rc2::IfcCurveStyle* Ifc4x3_rc2::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCurveStyle>(true); } @@ -17065,7 +17065,7 @@ Ifc4x3_rc2::IfcGeographicElementType::IfcGeographicElementType(std::string v1_Gl const IfcParse::entity& Ifc4x3_rc2::IfcGeometricCurveSet::declaration() const { return *IFC4X3_RC2_IfcGeometricCurveSet_type; } const IfcParse::entity& Ifc4x3_rc2::IfcGeometricCurveSet::Class() { return *IFC4X3_RC2_IfcGeometricCurveSet_type; } Ifc4x3_rc2::IfcGeometricCurveSet::IfcGeometricCurveSet(IfcEntityInstanceData* e) : IfcGeometricSet((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcGeometricCurveSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of_instance::ptr v1_Elements) : IfcGeometricSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcGeometricCurveSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } +Ifc4x3_rc2::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4x3_rc2::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcGeometricCurveSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } // Function implementations for IfcGeometricRepresentationContext int Ifc4x3_rc2::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = *data_->getArgument(2); return v; } @@ -17110,14 +17110,14 @@ Ifc4x3_rc2::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubC Ifc4x3_rc2::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, ::Ifc4x3_rc2::IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, ::Ifc4x3_rc2::IfcGeometricProjectionEnum::Value v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcGeometricRepresentationSubContext_type); if (v1_ContextIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_ContextIdentifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_ContextType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ContextType));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ParentContext));data_->setArgument(6,attr);} if (v8_TargetScale) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_TargetScale));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_TargetView,::Ifc4x3_rc2::IfcGeometricProjectionEnum::ToString(v9_TargetView))));data_->setArgument(8,attr);} if (v10_UserDefinedTargetView) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_UserDefinedTargetView));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcGeometricSet -aggregate_of_instance::ptr Ifc4x3_rc2::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc2::IfcGeometricSet::setElements(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc2::IfcGeometricSetSelect >::ptr Ifc4x3_rc2::IfcGeometricSet::Elements() const { aggregate_of< ::Ifc4x3_rc2::IfcGeometricSetSelect >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x3_rc2::IfcGeometricSet::setElements(aggregate_of< ::Ifc4x3_rc2::IfcGeometricSetSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcGeometricSet::declaration() const { return *IFC4X3_RC2_IfcGeometricSet_type; } const IfcParse::entity& Ifc4x3_rc2::IfcGeometricSet::Class() { return *IFC4X3_RC2_IfcGeometricSet_type; } Ifc4x3_rc2::IfcGeometricSet::IfcGeometricSet(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcGeometricSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcGeometricSet::IfcGeometricSet(aggregate_of_instance::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcGeometricSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } +Ifc4x3_rc2::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x3_rc2::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcGeometricSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } // Function implementations for IfcGeomodel @@ -17363,8 +17363,8 @@ Ifc4x3_rc2::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4x3_rc2::IfcTessellate // Function implementations for IfcIndexedPolyCurve ::Ifc4x3_rc2::IfcCartesianPointList* Ifc4x3_rc2::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCartesianPointList>(true); } void Ifc4x3_rc2::IfcIndexedPolyCurve::setPoints(::Ifc4x3_rc2::IfcCartesianPointList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc2::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcSegmentIndexSelect >::ptr > Ifc4x3_rc2::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc2::IfcSegmentIndexSelect >::ptr v = *data_->getArgument(1); return v; } +void Ifc4x3_rc2::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcSegmentIndexSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x3_rc2::IfcIndexedPolyCurve::SelfIntersect() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } void Ifc4x3_rc2::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } @@ -17372,7 +17372,7 @@ void Ifc4x3_rc2::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v const IfcParse::entity& Ifc4x3_rc2::IfcIndexedPolyCurve::declaration() const { return *IFC4X3_RC2_IfcIndexedPolyCurve_type; } const IfcParse::entity& Ifc4x3_rc2::IfcIndexedPolyCurve::Class() { return *IFC4X3_RC2_IfcIndexedPolyCurve_type; } Ifc4x3_rc2::IfcIndexedPolyCurve::IfcIndexedPolyCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcIndexedPolyCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x3_rc2::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of_instance::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcIndexedPolyCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Points));data_->setArgument(0,attr);} if (v2_Segments) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Segments));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_SelfIntersect) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_SelfIntersect));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x3_rc2::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x3_rc2::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcIndexedPolyCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Points));data_->setArgument(0,attr);} if (v2_Segments) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Segments));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_SelfIntersect) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_SelfIntersect));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcIndexedPolygonalFace std::vector< int > /*[3:?]*/ Ifc4x3_rc2::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = *data_->getArgument(0); return v; } @@ -17478,14 +17478,14 @@ Ifc4x3_rc2::IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, // Function implementations for IfcIrregularTimeSeriesValue std::string Ifc4x3_rc2::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc2::IfcIrregularTimeSeriesValue::setTimeStamp(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of_instance::ptr Ifc4x3_rc2::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcIrregularTimeSeriesValue::setListValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr Ifc4x3_rc2::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v = *data_->getArgument(1); return v; } +void Ifc4x3_rc2::IfcIrregularTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcIrregularTimeSeriesValue::declaration() const { return *IFC4X3_RC2_IfcIrregularTimeSeriesValue_type; } const IfcParse::entity& Ifc4x3_rc2::IfcIrregularTimeSeriesValue::Class() { return *IFC4X3_RC2_IfcIrregularTimeSeriesValue_type; } Ifc4x3_rc2::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC2_IfcIrregularTimeSeriesValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of_instance::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcIrregularTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TimeStamp));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ListValues));data_->setArgument(1,attr);} } +Ifc4x3_rc2::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcIrregularTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TimeStamp));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ListValues));data_->setArgument(1,attr);} } // Function implementations for IfcJunctionBox boost::optional< ::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Value > Ifc4x3_rc2::IfcJunctionBox::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::FromString(*data_->getArgument(8)); } @@ -17964,8 +17964,8 @@ Ifc4x3_rc2::IfcMaterial::IfcMaterial(IfcEntityInstanceData* e) : IfcMaterialDefi Ifc4x3_rc2::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_Category) : IfcMaterialDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Category) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Category));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcMaterialClassificationRelationship -aggregate_of_instance::ptr Ifc4x3_rc2::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc2::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc2::IfcClassificationSelect >::ptr Ifc4x3_rc2::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of< ::Ifc4x3_rc2::IfcClassificationSelect >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x3_rc2::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of< ::Ifc4x3_rc2::IfcClassificationSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4x3_rc2::IfcMaterial* Ifc4x3_rc2::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcMaterial>(true); } void Ifc4x3_rc2::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc4x3_rc2::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -17973,7 +17973,7 @@ void Ifc4x3_rc2::IfcMaterialClassificationRelationship::setClassifiedMaterial(:: const IfcParse::entity& Ifc4x3_rc2::IfcMaterialClassificationRelationship::declaration() const { return *IFC4X3_RC2_IfcMaterialClassificationRelationship_type; } const IfcParse::entity& Ifc4x3_rc2::IfcMaterialClassificationRelationship::Class() { return *IFC4X3_RC2_IfcMaterialClassificationRelationship_type; } Ifc4x3_rc2::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC2_IfcMaterialClassificationRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of_instance::ptr v1_MaterialClassifications, ::Ifc4x3_rc2::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcMaterialClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialClassifications));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ClassifiedMaterial));data_->setArgument(1,attr);} } +Ifc4x3_rc2::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4x3_rc2::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x3_rc2::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcMaterialClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialClassifications));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ClassifiedMaterial));data_->setArgument(1,attr);} } // Function implementations for IfcMaterialConstituent boost::optional< std::string > Ifc4x3_rc2::IfcMaterialConstituent::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -19213,8 +19213,8 @@ std::string Ifc4x3_rc2::IfcPresentationLayerAssignment::Name() const { std::str void Ifc4x3_rc2::IfcPresentationLayerAssignment::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcPresentationLayerAssignment::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc2::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } -aggregate_of_instance::ptr Ifc4x3_rc2::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_rc2::IfcLayeredItem >::ptr Ifc4x3_rc2::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of< ::Ifc4x3_rc2::IfcLayeredItem >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x3_rc2::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of< ::Ifc4x3_rc2::IfcLayeredItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcPresentationLayerAssignment::Identifier() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4x3_rc2::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } @@ -19222,7 +19222,7 @@ void Ifc4x3_rc2::IfcPresentationLayerAssignment::setIdentifier(boost::optional< const IfcParse::entity& Ifc4x3_rc2::IfcPresentationLayerAssignment::declaration() const { return *IFC4X3_RC2_IfcPresentationLayerAssignment_type; } const IfcParse::entity& Ifc4x3_rc2::IfcPresentationLayerAssignment::Class() { return *IFC4X3_RC2_IfcPresentationLayerAssignment_type; } Ifc4x3_rc2::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC2_IfcPresentationLayerAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcPresentationLayerAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } +Ifc4x3_rc2::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc2::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcPresentationLayerAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcPresentationLayerWithStyle boost::logic::tribool Ifc4x3_rc2::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = *data_->getArgument(4); return v; } @@ -19238,7 +19238,7 @@ void Ifc4x3_rc2::IfcPresentationLayerWithStyle::setLayerStyles(aggregate_of< ::I const IfcParse::entity& Ifc4x3_rc2::IfcPresentationLayerWithStyle::declaration() const { return *IFC4X3_RC2_IfcPresentationLayerWithStyle_type; } const IfcParse::entity& Ifc4x3_rc2::IfcPresentationLayerWithStyle::Class() { return *IFC4X3_RC2_IfcPresentationLayerWithStyle_type; } Ifc4x3_rc2::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcEntityInstanceData* e) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcPresentationLayerWithStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_rc2::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcPresentationLayerWithStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_LayerOn));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LayerFrozen));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LayerBlocked));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LayerStyles)->generalize());data_->setArgument(7,attr);} } +Ifc4x3_rc2::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc2::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_rc2::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcPresentationLayerWithStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_LayerOn));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LayerFrozen));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LayerBlocked));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LayerStyles)->generalize());data_->setArgument(7,attr);} } // Function implementations for IfcPresentationStyle boost::optional< std::string > Ifc4x3_rc2::IfcPresentationStyle::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -19251,14 +19251,14 @@ Ifc4x3_rc2::IfcPresentationStyle::IfcPresentationStyle(IfcEntityInstanceData* e) Ifc4x3_rc2::IfcPresentationStyle::IfcPresentationStyle(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcPresentationStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } } // Function implementations for IfcPresentationStyleAssignment -aggregate_of_instance::ptr Ifc4x3_rc2::IfcPresentationStyleAssignment::Styles() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc2::IfcPresentationStyleAssignment::setStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc2::IfcPresentationStyleSelect >::ptr Ifc4x3_rc2::IfcPresentationStyleAssignment::Styles() const { aggregate_of< ::Ifc4x3_rc2::IfcPresentationStyleSelect >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x3_rc2::IfcPresentationStyleAssignment::setStyles(aggregate_of< ::Ifc4x3_rc2::IfcPresentationStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcPresentationStyleAssignment::declaration() const { return *IFC4X3_RC2_IfcPresentationStyleAssignment_type; } const IfcParse::entity& Ifc4x3_rc2::IfcPresentationStyleAssignment::Class() { return *IFC4X3_RC2_IfcPresentationStyleAssignment_type; } Ifc4x3_rc2::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC2_IfcPresentationStyleAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(aggregate_of_instance::ptr v1_Styles) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcPresentationStyleAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Styles));data_->setArgument(0,attr);} } +Ifc4x3_rc2::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(aggregate_of< ::Ifc4x3_rc2::IfcPresentationStyleSelect >::ptr v1_Styles) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcPresentationStyleAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Styles));data_->setArgument(0,attr);} } // Function implementations for IfcProcedure boost::optional< ::Ifc4x3_rc2::IfcProcedureTypeEnum::Value > Ifc4x3_rc2::IfcProcedure::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcProcedureTypeEnum::FromString(*data_->getArgument(7)); } @@ -19480,8 +19480,8 @@ Ifc4x3_rc2::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship Ifc4x3_rc2::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcProperty* v3_DependingProperty, ::Ifc4x3_rc2::IfcProperty* v4_DependantProperty, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcPropertyDependencyRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_DependingProperty));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_DependantProperty));data_->setArgument(3,attr);} if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcPropertyEnumeratedValue -boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc2::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > Ifc4x3_rc2::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x3_rc2::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc2::IfcPropertyEnumeration* Ifc4x3_rc2::IfcPropertyEnumeratedValue::EnumerationReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcPropertyEnumeration>(true); } void Ifc4x3_rc2::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x3_rc2::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19489,13 +19489,13 @@ void Ifc4x3_rc2::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x3_rc const IfcParse::entity& Ifc4x3_rc2::IfcPropertyEnumeratedValue::declaration() const { return *IFC4X3_RC2_IfcPropertyEnumeratedValue_type; } const IfcParse::entity& Ifc4x3_rc2::IfcPropertyEnumeratedValue::Class() { return *IFC4X3_RC2_IfcPropertyEnumeratedValue_type; } Ifc4x3_rc2::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcPropertyEnumeratedValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of_instance::ptr > v3_EnumerationValues, ::Ifc4x3_rc2::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcPropertyEnumeratedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EnumerationValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EnumerationValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EnumerationReference));data_->setArgument(3,attr);} } +Ifc4x3_rc2::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x3_rc2::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcPropertyEnumeratedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EnumerationValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EnumerationValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EnumerationReference));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyEnumeration std::string Ifc4x3_rc2::IfcPropertyEnumeration::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc2::IfcPropertyEnumeration::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of_instance::ptr Ifc4x3_rc2::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcPropertyEnumeration::setEnumerationValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr Ifc4x3_rc2::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v = *data_->getArgument(1); return v; } +void Ifc4x3_rc2::IfcPropertyEnumeration::setEnumerationValues(aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } ::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcPropertyEnumeration::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcUnit>(true); } void Ifc4x3_rc2::IfcPropertyEnumeration::setUnit(::Ifc4x3_rc2::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -19503,11 +19503,11 @@ void Ifc4x3_rc2::IfcPropertyEnumeration::setUnit(::Ifc4x3_rc2::IfcUnit* v) { {If const IfcParse::entity& Ifc4x3_rc2::IfcPropertyEnumeration::declaration() const { return *IFC4X3_RC2_IfcPropertyEnumeration_type; } const IfcParse::entity& Ifc4x3_rc2::IfcPropertyEnumeration::Class() { return *IFC4X3_RC2_IfcPropertyEnumeration_type; } Ifc4x3_rc2::IfcPropertyEnumeration::IfcPropertyEnumeration(IfcEntityInstanceData* e) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcPropertyEnumeration_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of_instance::ptr v2_EnumerationValues, ::Ifc4x3_rc2::IfcUnit* v3_Unit) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcPropertyEnumeration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EnumerationValues));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);} } +Ifc4x3_rc2::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x3_rc2::IfcUnit* v3_Unit) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcPropertyEnumeration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EnumerationValues));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);} } // Function implementations for IfcPropertyListValue -boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc2::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcPropertyListValue::setListValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > Ifc4x3_rc2::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x3_rc2::IfcPropertyListValue::setListValues(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcPropertyListValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcUnit>(true); } void Ifc4x3_rc2::IfcPropertyListValue::setUnit(::Ifc4x3_rc2::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19515,7 +19515,7 @@ void Ifc4x3_rc2::IfcPropertyListValue::setUnit(::Ifc4x3_rc2::IfcUnit* v) { {IfcW const IfcParse::entity& Ifc4x3_rc2::IfcPropertyListValue::declaration() const { return *IFC4X3_RC2_IfcPropertyListValue_type; } const IfcParse::entity& Ifc4x3_rc2::IfcPropertyListValue::Class() { return *IFC4X3_RC2_IfcPropertyListValue_type; } Ifc4x3_rc2::IfcPropertyListValue::IfcPropertyListValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcPropertyListValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of_instance::ptr > v3_ListValues, ::Ifc4x3_rc2::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcPropertyListValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ListValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ListValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } +Ifc4x3_rc2::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v3_ListValues, ::Ifc4x3_rc2::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcPropertyListValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ListValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ListValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyReferenceValue boost::optional< std::string > Ifc4x3_rc2::IfcPropertyReferenceValue::UsageName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } @@ -19578,10 +19578,10 @@ Ifc4x3_rc2::IfcPropertySingleValue::IfcPropertySingleValue(IfcEntityInstanceData Ifc4x3_rc2::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcValue* v3_NominalValue, ::Ifc4x3_rc2::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcPropertySingleValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_NominalValue));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyTableValue -boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc2::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc2::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } -void Ifc4x3_rc2::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > Ifc4x3_rc2::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x3_rc2::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > Ifc4x3_rc2::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v = *data_->getArgument(3); return v; } +void Ifc4x3_rc2::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcPropertyTableValue::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x3_rc2::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcPropertyTableValue::DefiningUnit() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcUnit>(true); } @@ -19595,7 +19595,7 @@ void Ifc4x3_rc2::IfcPropertyTableValue::setCurveInterpolation(boost::optional< : const IfcParse::entity& Ifc4x3_rc2::IfcPropertyTableValue::declaration() const { return *IFC4X3_RC2_IfcPropertyTableValue_type; } const IfcParse::entity& Ifc4x3_rc2::IfcPropertyTableValue::Class() { return *IFC4X3_RC2_IfcPropertyTableValue_type; } Ifc4x3_rc2::IfcPropertyTableValue::IfcPropertyTableValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcPropertyTableValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of_instance::ptr > v3_DefiningValues, boost::optional< aggregate_of_instance::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_rc2::IfcUnit* v6_DefiningUnit, ::Ifc4x3_rc2::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_rc2::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcPropertyTableValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_DefiningValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_DefiningValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DefinedValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DefinedValues));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_DefiningUnit));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_DefinedUnit));data_->setArgument(6,attr);} if (v8_CurveInterpolation) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_CurveInterpolation,::Ifc4x3_rc2::IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } +Ifc4x3_rc2::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_rc2::IfcUnit* v6_DefiningUnit, ::Ifc4x3_rc2::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_rc2::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcPropertyTableValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_DefiningValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_DefiningValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DefinedValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DefinedValues));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_DefiningUnit));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_DefinedUnit));data_->setArgument(6,attr);} if (v8_CurveInterpolation) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_CurveInterpolation,::Ifc4x3_rc2::IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcPropertyTemplate @@ -20076,14 +20076,14 @@ boost::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc2: void Ifc4x3_rc2::IfcReinforcingBarType::setBarSurface(boost::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::ToString(*v)));}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcReinforcingBarType::BendingShapeCode() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } void Ifc4x3_rc2::IfcReinforcingBarType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc2::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(15); return v; } -void Ifc4x3_rc2::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcBendingParameterSelect >::ptr > Ifc4x3_rc2::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc2::IfcBendingParameterSelect >::ptr v = *data_->getArgument(15); return v; } +void Ifc4x3_rc2::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcReinforcingBarType::declaration() const { return *IFC4X3_RC2_IfcReinforcingBarType_type; } const IfcParse::entity& Ifc4x3_rc2::IfcReinforcingBarType::Class() { return *IFC4X3_RC2_IfcReinforcingBarType_type; } Ifc4x3_rc2::IfcReinforcingBarType::IfcReinforcingBarType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcReinforcingBarType_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of_instance::ptr > v16_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcReinforcingBarType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_BarLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_BarLength));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_BarSurface) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_BarSurface,::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_BendingShapeCode));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_BendingParameters));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } } +Ifc4x3_rc2::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcReinforcingBarType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_BarLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_BarLength));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_BarSurface) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_BarSurface,::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_BendingShapeCode));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_BendingParameters));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } } // Function implementations for IfcReinforcingElement boost::optional< std::string > Ifc4x3_rc2::IfcReinforcingElement::SteelGrade() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } @@ -20150,14 +20150,14 @@ boost::optional< double > Ifc4x3_rc2::IfcReinforcingMeshType::TransverseBarSpaci void Ifc4x3_rc2::IfcReinforcingMeshType::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(17,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcReinforcingMeshType::BendingShapeCode() const { if(!data_->getArgument(18) || data_->getArgument(18)->isNull()) { return boost::none; } std::string v = *data_->getArgument(18); return v; } void Ifc4x3_rc2::IfcReinforcingMeshType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(18,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc2::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(19); return v; } -void Ifc4x3_rc2::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(19,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcBendingParameterSelect >::ptr > Ifc4x3_rc2::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc2::IfcBendingParameterSelect >::ptr v = *data_->getArgument(19); return v; } +void Ifc4x3_rc2::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(19,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcReinforcingMeshType::declaration() const { return *IFC4X3_RC2_IfcReinforcingMeshType_type; } const IfcParse::entity& Ifc4x3_rc2::IfcReinforcingMeshType::Class() { return *IFC4X3_RC2_IfcReinforcingMeshType_type; } Ifc4x3_rc2::IfcReinforcingMeshType::IfcReinforcingMeshType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcReinforcingMeshType_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of_instance::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcReinforcingMeshType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshLength));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_MeshWidth));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LongitudinalBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TransverseBarNominalDiameter));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LongitudinalBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_TransverseBarCrossSectionArea));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LongitudinalBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_TransverseBarSpacing));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_BendingShapeCode));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_BendingParameters));data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } +Ifc4x3_rc2::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of< ::Ifc4x3_rc2::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcReinforcingMeshType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshLength));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_MeshWidth));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LongitudinalBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TransverseBarNominalDiameter));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LongitudinalBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_TransverseBarCrossSectionArea));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LongitudinalBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_TransverseBarSpacing));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_BendingShapeCode));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_BendingParameters));data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } // Function implementations for IfcRelAggregates ::Ifc4x3_rc2::IfcObjectDefinition* Ifc4x3_rc2::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcObjectDefinition>(true); } @@ -20258,14 +20258,14 @@ Ifc4x3_rc2::IfcRelAssignsToResource::IfcRelAssignsToResource(IfcEntityInstanceDa Ifc4x3_rc2::IfcRelAssignsToResource::IfcRelAssignsToResource(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcResourceSelect* v7_RelatingResource) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelAssignsToResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x3_rc2::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingResource));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociates -aggregate_of_instance::ptr Ifc4x3_rc2::IfcRelAssociates::RelatedObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcRelAssociates::setRelatedObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr Ifc4x3_rc2::IfcRelAssociates::RelatedObjects() const { aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v = *data_->getArgument(4); return v; } +void Ifc4x3_rc2::IfcRelAssociates::setRelatedObjects(aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssociates::declaration() const { return *IFC4X3_RC2_IfcRelAssociates_type; } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssociates::Class() { return *IFC4X3_RC2_IfcRelAssociates_type; } Ifc4x3_rc2::IfcRelAssociates::IfcRelAssociates(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcRelAssociates_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} } +Ifc4x3_rc2::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} } // Function implementations for IfcRelAssociatesApproval ::Ifc4x3_rc2::IfcApproval* Ifc4x3_rc2::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcApproval>(true); } @@ -20275,7 +20275,7 @@ void Ifc4x3_rc2::IfcRelAssociatesApproval::setRelatingApproval(::Ifc4x3_rc2::Ifc const IfcParse::entity& Ifc4x3_rc2::IfcRelAssociatesApproval::declaration() const { return *IFC4X3_RC2_IfcRelAssociatesApproval_type; } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssociatesApproval::Class() { return *IFC4X3_RC2_IfcRelAssociatesApproval_type; } Ifc4x3_rc2::IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcRelAssociatesApproval_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } +Ifc4x3_rc2::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesClassification ::Ifc4x3_rc2::IfcClassificationSelect* Ifc4x3_rc2::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcClassificationSelect>(true); } @@ -20285,7 +20285,7 @@ void Ifc4x3_rc2::IfcRelAssociatesClassification::setRelatingClassification(::Ifc const IfcParse::entity& Ifc4x3_rc2::IfcRelAssociatesClassification::declaration() const { return *IFC4X3_RC2_IfcRelAssociatesClassification_type; } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssociatesClassification::Class() { return *IFC4X3_RC2_IfcRelAssociatesClassification_type; } Ifc4x3_rc2::IfcRelAssociatesClassification::IfcRelAssociatesClassification(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcRelAssociatesClassification_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelAssociatesClassification_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingClassification));data_->setArgument(5,attr);} } +Ifc4x3_rc2::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelAssociatesClassification_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingClassification));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesConstraint boost::optional< std::string > Ifc4x3_rc2::IfcRelAssociatesConstraint::Intent() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } @@ -20297,7 +20297,7 @@ void Ifc4x3_rc2::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc4x3_rc2: const IfcParse::entity& Ifc4x3_rc2::IfcRelAssociatesConstraint::declaration() const { return *IFC4X3_RC2_IfcRelAssociatesConstraint_type; } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssociatesConstraint::Class() { return *IFC4X3_RC2_IfcRelAssociatesConstraint_type; } Ifc4x3_rc2::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcRelAssociatesConstraint_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_rc2::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} if (v6_Intent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Intent));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } +Ifc4x3_rc2::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_rc2::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} if (v6_Intent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Intent));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociatesDocument ::Ifc4x3_rc2::IfcDocumentSelect* Ifc4x3_rc2::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcDocumentSelect>(true); } @@ -20307,7 +20307,7 @@ void Ifc4x3_rc2::IfcRelAssociatesDocument::setRelatingDocument(::Ifc4x3_rc2::Ifc const IfcParse::entity& Ifc4x3_rc2::IfcRelAssociatesDocument::declaration() const { return *IFC4X3_RC2_IfcRelAssociatesDocument_type; } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssociatesDocument::Class() { return *IFC4X3_RC2_IfcRelAssociatesDocument_type; } Ifc4x3_rc2::IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcRelAssociatesDocument_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } +Ifc4x3_rc2::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesLibrary ::Ifc4x3_rc2::IfcLibrarySelect* Ifc4x3_rc2::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcLibrarySelect>(true); } @@ -20317,7 +20317,7 @@ void Ifc4x3_rc2::IfcRelAssociatesLibrary::setRelatingLibrary(::Ifc4x3_rc2::IfcLi const IfcParse::entity& Ifc4x3_rc2::IfcRelAssociatesLibrary::declaration() const { return *IFC4X3_RC2_IfcRelAssociatesLibrary_type; } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssociatesLibrary::Class() { return *IFC4X3_RC2_IfcRelAssociatesLibrary_type; } Ifc4x3_rc2::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcRelAssociatesLibrary_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } +Ifc4x3_rc2::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesMaterial ::Ifc4x3_rc2::IfcMaterialSelect* Ifc4x3_rc2::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcMaterialSelect>(true); } @@ -20327,7 +20327,7 @@ void Ifc4x3_rc2::IfcRelAssociatesMaterial::setRelatingMaterial(::Ifc4x3_rc2::Ifc const IfcParse::entity& Ifc4x3_rc2::IfcRelAssociatesMaterial::declaration() const { return *IFC4X3_RC2_IfcRelAssociatesMaterial_type; } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssociatesMaterial::Class() { return *IFC4X3_RC2_IfcRelAssociatesMaterial_type; } Ifc4x3_rc2::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcRelAssociatesMaterial_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelAssociatesMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingMaterial));data_->setArgument(5,attr);} } +Ifc4x3_rc2::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelAssociatesMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingMaterial));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesProfileDef ::Ifc4x3_rc2::IfcProfileDef* Ifc4x3_rc2::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcProfileDef>(true); } @@ -20337,7 +20337,7 @@ void Ifc4x3_rc2::IfcRelAssociatesProfileDef::setRelatingProfileDef(::Ifc4x3_rc2: const IfcParse::entity& Ifc4x3_rc2::IfcRelAssociatesProfileDef::declaration() const { return *IFC4X3_RC2_IfcRelAssociatesProfileDef_type; } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssociatesProfileDef::Class() { return *IFC4X3_RC2_IfcRelAssociatesProfileDef_type; } Ifc4x3_rc2::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcRelAssociatesProfileDef_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcProfileDef* v6_RelatingProfileDef) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelAssociatesProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingProfileDef));data_->setArgument(5,attr);} } +Ifc4x3_rc2::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcProfileDef* v6_RelatingProfileDef) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelAssociatesProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingProfileDef));data_->setArgument(5,attr);} } // Function implementations for IfcRelConnects @@ -20496,14 +20496,14 @@ Ifc4x3_rc2::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::If // Function implementations for IfcRelDeclares ::Ifc4x3_rc2::IfcContext* Ifc4x3_rc2::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcContext>(true); } void Ifc4x3_rc2::IfcRelDeclares::setRelatingContext(::Ifc4x3_rc2::IfcContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -aggregate_of_instance::ptr Ifc4x3_rc2::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr v = *data_->getArgument(5); return v; } -void Ifc4x3_rc2::IfcRelDeclares::setRelatedDefinitions(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } +aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr Ifc4x3_rc2::IfcRelDeclares::RelatedDefinitions() const { aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v = *data_->getArgument(5); return v; } +void Ifc4x3_rc2::IfcRelDeclares::setRelatedDefinitions(aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcRelDeclares::declaration() const { return *IFC4X3_RC2_IfcRelDeclares_type; } const IfcParse::entity& Ifc4x3_rc2::IfcRelDeclares::Class() { return *IFC4X3_RC2_IfcRelDeclares_type; } Ifc4x3_rc2::IfcRelDeclares::IfcRelDeclares(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcRelDeclares_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcContext* v5_RelatingContext, aggregate_of_instance::ptr v6_RelatedDefinitions) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelDeclares_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingContext));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedDefinitions));data_->setArgument(5,attr);} } +Ifc4x3_rc2::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelDeclares_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingContext));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedDefinitions));data_->setArgument(5,attr);} } // Function implementations for IfcRelDecomposes @@ -20648,8 +20648,8 @@ Ifc4x3_rc2::IfcRelProjectsElement::IfcRelProjectsElement(IfcEntityInstanceData* Ifc4x3_rc2::IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcElement* v5_RelatingElement, ::Ifc4x3_rc2::IfcFeatureElementAddition* v6_RelatedFeatureElement) : IfcRelDecomposes((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelProjectsElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedFeatureElement));data_->setArgument(5,attr);} } // Function implementations for IfcRelReferencedInSpatialStructure -aggregate_of_instance::ptr Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +aggregate_of< ::Ifc4x3_rc2::IfcSpatialReferenceSelect >::ptr Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of< ::Ifc4x3_rc2::IfcSpatialReferenceSelect >::ptr v = *data_->getArgument(4); return v; } +void Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4x3_rc2::IfcSpatialReferenceSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } ::Ifc4x3_rc2::IfcSpatialElement* Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcSpatialElement>(true); } void Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc4x3_rc2::IfcSpatialElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20657,7 +20657,7 @@ void Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc4 const IfcParse::entity& Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::declaration() const { return *IFC4X3_RC2_IfcRelReferencedInSpatialStructure_type; } const IfcParse::entity& Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::Class() { return *IFC4X3_RC2_IfcRelReferencedInSpatialStructure_type; } Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(IfcEntityInstanceData* e) : IfcRelConnects((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcRelReferencedInSpatialStructure_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedElements, ::Ifc4x3_rc2::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelReferencedInSpatialStructure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedElements));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingStructure));data_->setArgument(5,attr);} } +Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcSpatialReferenceSelect >::ptr v5_RelatedElements, ::Ifc4x3_rc2::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelReferencedInSpatialStructure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedElements));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingStructure));data_->setArgument(5,attr);} } // Function implementations for IfcRelSequence ::Ifc4x3_rc2::IfcProcess* Ifc4x3_rc2::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcProcess>(true); } @@ -20829,8 +20829,8 @@ Ifc4x3_rc2::IfcResource::IfcResource(IfcEntityInstanceData* e) : IfcObject((IfcE Ifc4x3_rc2::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc4x3_rc2::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((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_LongDescription));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcResourceApprovalRelationship -aggregate_of_instance::ptr Ifc4x3_rc2::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr Ifc4x3_rc2::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x3_rc2::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4x3_rc2::IfcApproval* Ifc4x3_rc2::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcApproval>(true); } void Ifc4x3_rc2::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x3_rc2::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -20838,19 +20838,19 @@ void Ifc4x3_rc2::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x3_r const IfcParse::entity& Ifc4x3_rc2::IfcResourceApprovalRelationship::declaration() const { return *IFC4X3_RC2_IfcResourceApprovalRelationship_type; } const IfcParse::entity& Ifc4x3_rc2::IfcResourceApprovalRelationship::Class() { return *IFC4X3_RC2_IfcResourceApprovalRelationship_type; } Ifc4x3_rc2::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcResourceApprovalRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_RelatedResourceObjects, ::Ifc4x3_rc2::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcResourceApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatedResourceObjects));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatingApproval));data_->setArgument(3,attr);} } +Ifc4x3_rc2::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x3_rc2::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcResourceApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatedResourceObjects));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatingApproval));data_->setArgument(3,attr);} } // Function implementations for IfcResourceConstraintRelationship ::Ifc4x3_rc2::IfcConstraint* Ifc4x3_rc2::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcConstraint>(true); } void Ifc4x3_rc2::IfcResourceConstraintRelationship::setRelatingConstraint(::Ifc4x3_rc2::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -aggregate_of_instance::ptr Ifc4x3_rc2::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } -void Ifc4x3_rc2::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr Ifc4x3_rc2::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr v = *data_->getArgument(3); return v; } +void Ifc4x3_rc2::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcResourceConstraintRelationship::declaration() const { return *IFC4X3_RC2_IfcResourceConstraintRelationship_type; } const IfcParse::entity& Ifc4x3_rc2::IfcResourceConstraintRelationship::Class() { return *IFC4X3_RC2_IfcResourceConstraintRelationship_type; } Ifc4x3_rc2::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcResourceConstraintRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcConstraint* v3_RelatingConstraint, aggregate_of_instance::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcResourceConstraintRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingConstraint));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } +Ifc4x3_rc2::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcResourceConstraintRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingConstraint));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } // Function implementations for IfcResourceLevelRelationship boost::optional< std::string > Ifc4x3_rc2::IfcResourceLevelRelationship::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -21259,14 +21259,14 @@ Ifc4x3_rc2::IfcShapeRepresentation::IfcShapeRepresentation(IfcEntityInstanceData Ifc4x3_rc2::IfcShapeRepresentation::IfcShapeRepresentation(::Ifc4x3_rc2::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_rc2::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcShapeRepresentation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ContextOfItems));data_->setArgument(0,attr);} if (v2_RepresentationIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_RepresentationIdentifier));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_RepresentationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_RepresentationType));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Items)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcShellBasedSurfaceModel -aggregate_of_instance::ptr Ifc4x3_rc2::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc2::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc2::IfcShell >::ptr Ifc4x3_rc2::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of< ::Ifc4x3_rc2::IfcShell >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x3_rc2::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of< ::Ifc4x3_rc2::IfcShell >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcShellBasedSurfaceModel::declaration() const { return *IFC4X3_RC2_IfcShellBasedSurfaceModel_type; } const IfcParse::entity& Ifc4x3_rc2::IfcShellBasedSurfaceModel::Class() { return *IFC4X3_RC2_IfcShellBasedSurfaceModel_type; } Ifc4x3_rc2::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcShellBasedSurfaceModel_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of_instance::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcShellBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SbsmBoundary));data_->setArgument(0,attr);} } +Ifc4x3_rc2::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4x3_rc2::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcShellBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SbsmBoundary));data_->setArgument(0,attr);} } // Function implementations for IfcSign boost::optional< ::Ifc4x3_rc2::IfcSignTypeEnum::Value > Ifc4x3_rc2::IfcSign::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSignTypeEnum::FromString(*data_->getArgument(8)); } @@ -22075,8 +22075,8 @@ Ifc4x3_rc2::IfcStyleModel::IfcStyleModel(::Ifc4x3_rc2::IfcRepresentationContext* // Function implementations for IfcStyledItem ::Ifc4x3_rc2::IfcRepresentationItem* Ifc4x3_rc2::IfcStyledItem::Item() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcRepresentationItem>(true); } void Ifc4x3_rc2::IfcStyledItem::setItem(::Ifc4x3_rc2::IfcRepresentationItem* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of_instance::ptr Ifc4x3_rc2::IfcStyledItem::Styles() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcStyledItem::setStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_rc2::IfcStyleAssignmentSelect >::ptr Ifc4x3_rc2::IfcStyledItem::Styles() const { aggregate_of< ::Ifc4x3_rc2::IfcStyleAssignmentSelect >::ptr v = *data_->getArgument(1); return v; } +void Ifc4x3_rc2::IfcStyledItem::setStyles(aggregate_of< ::Ifc4x3_rc2::IfcStyleAssignmentSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcStyledItem::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4x3_rc2::IfcStyledItem::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } @@ -22084,7 +22084,7 @@ void Ifc4x3_rc2::IfcStyledItem::setName(boost::optional< std::string > v) { {Ifc const IfcParse::entity& Ifc4x3_rc2::IfcStyledItem::declaration() const { return *IFC4X3_RC2_IfcStyledItem_type; } const IfcParse::entity& Ifc4x3_rc2::IfcStyledItem::Class() { return *IFC4X3_RC2_IfcStyledItem_type; } Ifc4x3_rc2::IfcStyledItem::IfcStyledItem(IfcEntityInstanceData* e) : IfcRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcStyledItem_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcStyledItem::IfcStyledItem(::Ifc4x3_rc2::IfcRepresentationItem* v1_Item, aggregate_of_instance::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcStyledItem_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Item));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Styles));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x3_rc2::IfcStyledItem::IfcStyledItem(::Ifc4x3_rc2::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc4x3_rc2::IfcStyleAssignmentSelect >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcStyledItem_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Item));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Styles));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcStyledRepresentation @@ -22205,14 +22205,14 @@ Ifc4x3_rc2::IfcSurfaceReinforcementArea::IfcSurfaceReinforcementArea(boost::opti // Function implementations for IfcSurfaceStyle ::Ifc4x3_rc2::IfcSurfaceSide::Value Ifc4x3_rc2::IfcSurfaceStyle::Side() const { return ::Ifc4x3_rc2::IfcSurfaceSide::FromString(*data_->getArgument(1)); } void Ifc4x3_rc2::IfcSurfaceStyle::setSide(::Ifc4x3_rc2::IfcSurfaceSide::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcSurfaceSide::ToString(v)));data_->setArgument(1,attr);} } -aggregate_of_instance::ptr Ifc4x3_rc2::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcSurfaceStyle::setStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_rc2::IfcSurfaceStyleElementSelect >::ptr Ifc4x3_rc2::IfcSurfaceStyle::Styles() const { aggregate_of< ::Ifc4x3_rc2::IfcSurfaceStyleElementSelect >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x3_rc2::IfcSurfaceStyle::setStyles(aggregate_of< ::Ifc4x3_rc2::IfcSurfaceStyleElementSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcSurfaceStyle::declaration() const { return *IFC4X3_RC2_IfcSurfaceStyle_type; } const IfcParse::entity& Ifc4x3_rc2::IfcSurfaceStyle::Class() { return *IFC4X3_RC2_IfcSurfaceStyle_type; } Ifc4x3_rc2::IfcSurfaceStyle::IfcSurfaceStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcSurfaceStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcSurfaceSide::Value v2_Side, aggregate_of_instance::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc4x3_rc2::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles));data_->setArgument(2,attr);} } +Ifc4x3_rc2::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x3_rc2::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc4x3_rc2::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles));data_->setArgument(2,attr);} } // Function implementations for IfcSurfaceStyleLighting ::Ifc4x3_rc2::IfcColourRgb* Ifc4x3_rc2::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcColourRgb>(true); } @@ -22467,8 +22467,8 @@ Ifc4x3_rc2::IfcTableColumn::IfcTableColumn(IfcEntityInstanceData* e) : IfcUtil:: Ifc4x3_rc2::IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, ::Ifc4x3_rc2::IfcUnit* v4_Unit, ::Ifc4x3_rc2::IfcReference* v5_ReferencePath) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcTableColumn_type); if (v1_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Identifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Name));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_ReferencePath));data_->setArgument(4,attr);} } // Function implementations for IfcTableRow -boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc2::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc2::IfcTableRow::setRowCells(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > Ifc4x3_rc2::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x3_rc2::IfcTableRow::setRowCells(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< bool > Ifc4x3_rc2::IfcTableRow::IsHeading() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } bool v = *data_->getArgument(1); return v; } void Ifc4x3_rc2::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } @@ -22476,7 +22476,7 @@ void Ifc4x3_rc2::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrit const IfcParse::entity& Ifc4x3_rc2::IfcTableRow::declaration() const { return *IFC4X3_RC2_IfcTableRow_type; } const IfcParse::entity& Ifc4x3_rc2::IfcTableRow::Class() { return *IFC4X3_RC2_IfcTableRow_type; } Ifc4x3_rc2::IfcTableRow::IfcTableRow(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC2_IfcTableRow_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcTableRow::IfcTableRow(boost::optional< aggregate_of_instance::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcTableRow_type); if (v1_RowCells) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RowCells));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_IsHeading) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_IsHeading));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } +Ifc4x3_rc2::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcTableRow_type); if (v1_RowCells) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RowCells));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_IsHeading) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_IsHeading));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcTank boost::optional< ::Ifc4x3_rc2::IfcTankTypeEnum::Value > Ifc4x3_rc2::IfcTank::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcTankTypeEnum::FromString(*data_->getArgument(8)); } @@ -22888,14 +22888,14 @@ Ifc4x3_rc2::IfcTimeSeries::IfcTimeSeries(IfcEntityInstanceData* e) : IfcUtil::If Ifc4x3_rc2::IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc2::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc2::IfcUnit* v8_Unit) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcTimeSeries_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_StartTime));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EndTime));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_TimeSeriesDataType,::Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType))));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v6_DataOrigin,::Ifc4x3_rc2::IfcDataOriginEnum::ToString(v6_DataOrigin))));data_->setArgument(5,attr);} if (v7_UserDefinedDataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_UserDefinedDataOrigin));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Unit));data_->setArgument(7,attr);} } // Function implementations for IfcTimeSeriesValue -aggregate_of_instance::ptr Ifc4x3_rc2::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc2::IfcTimeSeriesValue::setListValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr Ifc4x3_rc2::IfcTimeSeriesValue::ListValues() const { aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x3_rc2::IfcTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcTimeSeriesValue::declaration() const { return *IFC4X3_RC2_IfcTimeSeriesValue_type; } const IfcParse::entity& Ifc4x3_rc2::IfcTimeSeriesValue::Class() { return *IFC4X3_RC2_IfcTimeSeriesValue_type; } Ifc4x3_rc2::IfcTimeSeriesValue::IfcTimeSeriesValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC2_IfcTimeSeriesValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of_instance::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ListValues));data_->setArgument(0,attr);} } +Ifc4x3_rc2::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ListValues));data_->setArgument(0,attr);} } // Function implementations for IfcTopologicalRepresentationItem @@ -23048,10 +23048,10 @@ Ifc4x3_rc2::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(::I // Function implementations for IfcTrimmedCurve ::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCurve>(true); } void Ifc4x3_rc2::IfcTrimmedCurve::setBasisCurve(::Ifc4x3_rc2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of_instance::ptr Ifc4x3_rc2::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcTrimmedCurve::setTrim1(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -aggregate_of_instance::ptr Ifc4x3_rc2::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcTrimmedCurve::setTrim2(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_rc2::IfcTrimmingSelect >::ptr Ifc4x3_rc2::IfcTrimmedCurve::Trim1() const { aggregate_of< ::Ifc4x3_rc2::IfcTrimmingSelect >::ptr v = *data_->getArgument(1); return v; } +void Ifc4x3_rc2::IfcTrimmedCurve::setTrim1(aggregate_of< ::Ifc4x3_rc2::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_rc2::IfcTrimmingSelect >::ptr Ifc4x3_rc2::IfcTrimmedCurve::Trim2() const { aggregate_of< ::Ifc4x3_rc2::IfcTrimmingSelect >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x3_rc2::IfcTrimmedCurve::setTrim2(aggregate_of< ::Ifc4x3_rc2::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } bool Ifc4x3_rc2::IfcTrimmedCurve::SenseAgreement() const { bool v = *data_->getArgument(3); return v; } void Ifc4x3_rc2::IfcTrimmedCurve::setSenseAgreement(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x3_rc2::IfcTrimmingPreference::Value Ifc4x3_rc2::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4x3_rc2::IfcTrimmingPreference::FromString(*data_->getArgument(4)); } @@ -23061,7 +23061,7 @@ void Ifc4x3_rc2::IfcTrimmedCurve::setMasterRepresentation(::Ifc4x3_rc2::IfcTrimm const IfcParse::entity& Ifc4x3_rc2::IfcTrimmedCurve::declaration() const { return *IFC4X3_RC2_IfcTrimmedCurve_type; } const IfcParse::entity& Ifc4x3_rc2::IfcTrimmedCurve::Class() { return *IFC4X3_RC2_IfcTrimmedCurve_type; } Ifc4x3_rc2::IfcTrimmedCurve::IfcTrimmedCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcTrimmedCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3_rc2::IfcCurve* v1_BasisCurve, aggregate_of_instance::ptr v2_Trim1, aggregate_of_instance::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc2::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcTrimmedCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Trim1));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Trim2));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SenseAgreement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_MasterRepresentation,::Ifc4x3_rc2::IfcTrimmingPreference::ToString(v5_MasterRepresentation))));data_->setArgument(4,attr);} } +Ifc4x3_rc2::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3_rc2::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_rc2::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x3_rc2::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc2::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcTrimmedCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Trim1));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Trim2));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SenseAgreement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_MasterRepresentation,::Ifc4x3_rc2::IfcTrimmingPreference::ToString(v5_MasterRepresentation))));data_->setArgument(4,attr);} } // Function implementations for IfcTubeBundle boost::optional< ::Ifc4x3_rc2::IfcTubeBundleTypeEnum::Value > Ifc4x3_rc2::IfcTubeBundle::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcTubeBundleTypeEnum::FromString(*data_->getArgument(8)); } @@ -23162,14 +23162,14 @@ Ifc4x3_rc2::IfcUShapeProfileDef::IfcUShapeProfileDef(IfcEntityInstanceData* e) : Ifc4x3_rc2::IfcUShapeProfileDef::IfcUShapeProfileDef(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::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((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcUShapeProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4x3_rc2::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_FlangeWidth));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_WebThickness));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_FlangeThickness));data_->setArgument(6,attr);} if (v8_FilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_FilletRadius));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_EdgeRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_EdgeRadius));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_FlangeSlope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_FlangeSlope));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcUnitAssignment -aggregate_of_instance::ptr Ifc4x3_rc2::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc2::IfcUnitAssignment::setUnits(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc2::IfcUnit >::ptr Ifc4x3_rc2::IfcUnitAssignment::Units() const { aggregate_of< ::Ifc4x3_rc2::IfcUnit >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x3_rc2::IfcUnitAssignment::setUnits(aggregate_of< ::Ifc4x3_rc2::IfcUnit >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcUnitAssignment::declaration() const { return *IFC4X3_RC2_IfcUnitAssignment_type; } const IfcParse::entity& Ifc4x3_rc2::IfcUnitAssignment::Class() { return *IFC4X3_RC2_IfcUnitAssignment_type; } Ifc4x3_rc2::IfcUnitAssignment::IfcUnitAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC2_IfcUnitAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcUnitAssignment::IfcUnitAssignment(aggregate_of_instance::ptr v1_Units) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcUnitAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Units));data_->setArgument(0,attr);} } +Ifc4x3_rc2::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4x3_rc2::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcUnitAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Units));data_->setArgument(0,attr);} } // Function implementations for IfcUnitaryControlElement boost::optional< ::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Value > Ifc4x3_rc2::IfcUnitaryControlElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::FromString(*data_->getArgument(8)); } diff --git a/src/ifcparse/Ifc4x3_rc2.h b/src/ifcparse/Ifc4x3_rc2.h index 473b69a065..e628563965 100644 --- a/src/ifcparse/Ifc4x3_rc2.h +++ b/src/ifcparse/Ifc4x3_rc2.h @@ -11048,12 +11048,12 @@ public: std::string TimeStamp() const; void setTimeStamp(std::string v); /// A list of time-series values. At least one value is required. - aggregate_of_instance::ptr ListValues() const; - void setListValues(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr ListValues() const; + void setListValues(aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcIrregularTimeSeriesValue (IfcEntityInstanceData* e); - IfcIrregularTimeSeriesValue (std::string v1_TimeStamp, aggregate_of_instance::ptr v2_ListValues); + IfcIrregularTimeSeriesValue (std::string v1_TimeStamp, aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v2_ListValues); typedef aggregate_of< 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. @@ -11227,15 +11227,15 @@ public: class IFC_PARSE_API IfcMaterialClassificationRelationship : public IfcUtil::IfcBaseEntity { public: /// The material classifications identifying the type of material. - aggregate_of_instance::ptr MaterialClassifications() const; - void setMaterialClassifications(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc2::IfcClassificationSelect >::ptr MaterialClassifications() const; + void setMaterialClassifications(aggregate_of< ::Ifc4x3_rc2::IfcClassificationSelect >::ptr v); /// Material being classified. ::Ifc4x3_rc2::IfcMaterial* ClassifiedMaterial() const; void setClassifiedMaterial(::Ifc4x3_rc2::IfcMaterial* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcMaterialClassificationRelationship (IfcEntityInstanceData* e); - IfcMaterialClassificationRelationship (aggregate_of_instance::ptr v1_MaterialClassifications, ::Ifc4x3_rc2::IfcMaterial* v2_ClassifiedMaterial); + IfcMaterialClassificationRelationship (aggregate_of< ::Ifc4x3_rc2::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x3_rc2::IfcMaterial* v2_ClassifiedMaterial); typedef aggregate_of< IfcMaterialClassificationRelationship > list; }; /// IfcMaterialDefinition is a general supertype for all @@ -12026,15 +12026,15 @@ public: boost::optional< std::string > Description() const; void setDescription(boost::optional< std::string > v); /// The set of layered items, which are assigned to this layer. - aggregate_of_instance::ptr AssignedItems() const; - void setAssignedItems(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc2::IfcLayeredItem >::ptr AssignedItems() const; + void setAssignedItems(aggregate_of< ::Ifc4x3_rc2::IfcLayeredItem >::ptr v); /// An (internal) identifier assigned to the layer. boost::optional< std::string > Identifier() const; void setIdentifier(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPresentationLayerAssignment (IfcEntityInstanceData* e); - IfcPresentationLayerAssignment (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier); + IfcPresentationLayerAssignment (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc2::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier); typedef aggregate_of< IfcPresentationLayerAssignment > list; }; /// An IfcPresentationLayerAssignmentWithStyle extends the presentation layer assignment with capabilities to define visibility control, access control and common style information. @@ -12071,7 +12071,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPresentationLayerWithStyle (IfcEntityInstanceData* e); - IfcPresentationLayerWithStyle (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_rc2::IfcPresentationStyle >::ptr v8_LayerStyles); + IfcPresentationLayerWithStyle (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc2::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_rc2::IfcPresentationStyle >::ptr v8_LayerStyles); typedef aggregate_of< 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. @@ -12098,12 +12098,12 @@ public: class IFC_PARSE_API IfcPresentationStyleAssignment : public IfcUtil::IfcBaseEntity, public IfcStyleAssignmentSelect { public: /// A set of presentation styles that are assigned to styled items. - aggregate_of_instance::ptr Styles() const; - void setStyles(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc2::IfcPresentationStyleSelect >::ptr Styles() const; + void setStyles(aggregate_of< ::Ifc4x3_rc2::IfcPresentationStyleSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPresentationStyleAssignment (IfcEntityInstanceData* e); - IfcPresentationStyleAssignment (aggregate_of_instance::ptr v1_Styles); + IfcPresentationStyleAssignment (aggregate_of< ::Ifc4x3_rc2::IfcPresentationStyleSelect >::ptr v1_Styles); typedef aggregate_of< IfcPresentationStyleAssignment > list; }; /// IfcProductRepresentation defines a representation of a @@ -12435,15 +12435,15 @@ public: std::string Name() const; void setName(std::string v); /// List of values that form the enumeration. - aggregate_of_instance::ptr EnumerationValues() const; - void setEnumerationValues(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr EnumerationValues() const; + void setEnumerationValues(aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v); /// 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. ::Ifc4x3_rc2::IfcUnit* Unit() const; void setUnit(::Ifc4x3_rc2::IfcUnit* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyEnumeration (IfcEntityInstanceData* e); - IfcPropertyEnumeration (std::string v1_Name, aggregate_of_instance::ptr v2_EnumerationValues, ::Ifc4x3_rc2::IfcUnit* v3_Unit); + IfcPropertyEnumeration (std::string v1_Name, aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x3_rc2::IfcUnit* v3_Unit); typedef aggregate_of< 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. @@ -13293,15 +13293,15 @@ public: /// for file based exchange. /// /// NOTE Only the select item IfcPresentationStyle shall be used from IFC2x4 onwards, the IfcPresentationStyleAssignment has been deprecated. - aggregate_of_instance::ptr Styles() const; - void setStyles(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc2::IfcStyleAssignmentSelect >::ptr Styles() const; + void setStyles(aggregate_of< ::Ifc4x3_rc2::IfcStyleAssignmentSelect >::ptr v); /// The word, or group of words, by which the styled item is referred to. boost::optional< std::string > Name() const; void setName(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcStyledItem (IfcEntityInstanceData* e); - IfcStyledItem (::Ifc4x3_rc2::IfcRepresentationItem* v1_Item, aggregate_of_instance::ptr v2_Styles, boost::optional< std::string > v3_Name); + IfcStyledItem (::Ifc4x3_rc2::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc4x3_rc2::IfcStyleAssignmentSelect >::ptr v2_Styles, boost::optional< std::string > v3_Name); typedef aggregate_of< 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. @@ -13354,12 +13354,12 @@ public: ::Ifc4x3_rc2::IfcSurfaceSide::Value Side() const; void setSide(::Ifc4x3_rc2::IfcSurfaceSide::Value v); /// A collection of different surface styles. - aggregate_of_instance::ptr Styles() const; - void setStyles(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc2::IfcSurfaceStyleElementSelect >::ptr Styles() const; + void setStyles(aggregate_of< ::Ifc4x3_rc2::IfcSurfaceStyleElementSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSurfaceStyle (IfcEntityInstanceData* e); - IfcSurfaceStyle (boost::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcSurfaceSide::Value v2_Side, aggregate_of_instance::ptr v3_Styles); + IfcSurfaceStyle (boost::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x3_rc2::IfcSurfaceStyleElementSelect >::ptr v3_Styles); typedef aggregate_of< IfcSurfaceStyle > list; }; /// IfcSurfaceStyleLighting is a container class for properties for calculation of physically exact illuminance related to a particular surface style. @@ -13668,15 +13668,15 @@ public: class IFC_PARSE_API IfcTableRow : public IfcUtil::IfcBaseEntity { public: /// The data value of the table cell.. - boost::optional< aggregate_of_instance::ptr > RowCells() const; - void setRowCells(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > RowCells() const; + void setRowCells(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::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. boost::optional< bool > IsHeading() const; void setIsHeading(boost::optional< bool > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTableRow (IfcEntityInstanceData* e); - IfcTableRow (boost::optional< aggregate_of_instance::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading); + IfcTableRow (boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading); typedef aggregate_of< IfcTableRow > list; }; /// IfcTaskTime captures the time-related information about a task including the different types (actual or scheduled) of starting and ending times. @@ -14225,12 +14225,12 @@ public: class IFC_PARSE_API IfcTimeSeriesValue : public IfcUtil::IfcBaseEntity { public: /// A list of time-series values. At least one value is required. - aggregate_of_instance::ptr ListValues() const; - void setListValues(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr ListValues() const; + void setListValues(aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTimeSeriesValue (IfcEntityInstanceData* e); - IfcTimeSeriesValue (aggregate_of_instance::ptr v1_ListValues); + IfcTimeSeriesValue (aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v1_ListValues); typedef aggregate_of< IfcTimeSeriesValue > list; }; /// Definition from ISO/CD 10303-42:1992: The topological representation item is the supertype for all the topological representation items in the geometry resource. @@ -14296,12 +14296,12 @@ public: class IFC_PARSE_API IfcUnitAssignment : public IfcUtil::IfcBaseEntity { public: /// Units to be included within a unit assignment. - aggregate_of_instance::ptr Units() const; - void setUnits(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc2::IfcUnit >::ptr Units() const; + void setUnits(aggregate_of< ::Ifc4x3_rc2::IfcUnit >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcUnitAssignment (IfcEntityInstanceData* e); - IfcUnitAssignment (aggregate_of_instance::ptr v1_Units); + IfcUnitAssignment (aggregate_of< ::Ifc4x3_rc2::IfcUnit >::ptr v1_Units); typedef aggregate_of< IfcUnitAssignment > list; }; /// Definition from ISO/CD 10303-42:1992: A vertex is the topological construct corresponding to a point. It has dimensionality 0 and extent 0. The domain of a vertex, if present, is a point in m dimensional real space RM; this is represented by the vertex point subtype. @@ -15360,8 +15360,8 @@ public: ::Ifc4x3_rc2::IfcActorSelect* DocumentOwner() const; void setDocumentOwner(::Ifc4x3_rc2::IfcActorSelect* v); /// The persons and/or organizations who have created this document or contributed to it. - boost::optional< aggregate_of_instance::ptr > Editors() const; - void setEditors(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcActorSelect >::ptr > Editors() const; + void setEditors(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcActorSelect >::ptr > v); /// 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. @@ -15402,7 +15402,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcDocumentInformation (IfcEntityInstanceData* e); - 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, ::Ifc4x3_rc2::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of_instance::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< ::Ifc4x3_rc2::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_rc2::IfcDocumentStatusEnum::Value > 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, ::Ifc4x3_rc2::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcActorSelect >::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< ::Ifc4x3_rc2::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_rc2::IfcDocumentStatusEnum::Value > v17_Status); typedef aggregate_of< IfcDocumentInformation > list; }; /// An IfcDocumentInformationRelationship is a relationship class that enables a document to have the ability to reference other documents. @@ -15643,12 +15643,12 @@ public: ::Ifc4x3_rc2::IfcExternalReference* RelatingReference() const; void setRelatingReference(::Ifc4x3_rc2::IfcExternalReference* v); /// Objects within the list of IfcResourceObjectSelect that can be tagged by an external reference to a dictionary, library, catalogue, classification or documentation. - aggregate_of_instance::ptr RelatedResourceObjects() const; - void setRelatedResourceObjects(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr RelatedResourceObjects() const; + void setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcExternalReferenceRelationship (IfcEntityInstanceData* e); - IfcExternalReferenceRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcExternalReference* v3_RelatingReference, aggregate_of_instance::ptr v4_RelatedResourceObjects); + IfcExternalReferenceRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects); typedef aggregate_of< IfcExternalReferenceRelationship > list; }; /// Definition from ISO/CD 10303-42:1992: A face is a topological @@ -15859,14 +15859,14 @@ public: class IFC_PARSE_API IfcFillAreaStyle : public IfcPresentationStyle, public IfcPresentationStyleSelect { public: /// The set of fill area styles to use in presenting visible curve segments, annotation fill areas or surfaces. - aggregate_of_instance::ptr FillStyles() const; - void setFillStyles(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc2::IfcFillStyleSelect >::ptr FillStyles() const; + void setFillStyles(aggregate_of< ::Ifc4x3_rc2::IfcFillStyleSelect >::ptr v); boost::optional< bool > ModelOrDraughting() const; void setModelOrDraughting(boost::optional< bool > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcFillAreaStyle (IfcEntityInstanceData* e); - IfcFillAreaStyle (boost::optional< std::string > v1_Name, aggregate_of_instance::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting); + IfcFillAreaStyle (boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_rc2::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting); typedef aggregate_of< IfcFillAreaStyle > list; }; /// Definition from ISO/CD 10303-42:1992: A geometric @@ -16020,12 +16020,12 @@ public: class IFC_PARSE_API 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. - aggregate_of_instance::ptr Elements() const; - void setElements(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc2::IfcGeometricSetSelect >::ptr Elements() const; + void setElements(aggregate_of< ::Ifc4x3_rc2::IfcGeometricSetSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcGeometricSet (IfcEntityInstanceData* e); - IfcGeometricSet (aggregate_of_instance::ptr v1_Elements); + IfcGeometricSet (aggregate_of< ::Ifc4x3_rc2::IfcGeometricSetSelect >::ptr v1_Elements); typedef aggregate_of< IfcGeometricSet > list; }; /// IfcGridPlacement provides a specialization of IfcObjectPlacement in which @@ -18077,15 +18077,15 @@ public: class IFC_PARSE_API IfcResourceApprovalRelationship : public IfcResourceLevelRelationship { public: /// Resource objects that are approved. - aggregate_of_instance::ptr RelatedResourceObjects() const; - void setRelatedResourceObjects(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr RelatedResourceObjects() const; + void setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr v); /// The approval for the resource objects selected. ::Ifc4x3_rc2::IfcApproval* RelatingApproval() const; void setRelatingApproval(::Ifc4x3_rc2::IfcApproval* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcResourceApprovalRelationship (IfcEntityInstanceData* e); - IfcResourceApprovalRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_RelatedResourceObjects, ::Ifc4x3_rc2::IfcApproval* v4_RelatingApproval); + IfcResourceApprovalRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x3_rc2::IfcApproval* v4_RelatingApproval); typedef aggregate_of< IfcResourceApprovalRelationship > list; }; /// An IfcResourceConstraintRelationship is a relationship @@ -18114,12 +18114,12 @@ public: ::Ifc4x3_rc2::IfcConstraint* RelatingConstraint() const; void setRelatingConstraint(::Ifc4x3_rc2::IfcConstraint* v); /// The properties to which a constraint is to be related. - aggregate_of_instance::ptr RelatedResourceObjects() const; - void setRelatedResourceObjects(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr RelatedResourceObjects() const; + void setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcResourceConstraintRelationship (IfcEntityInstanceData* e); - IfcResourceConstraintRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcConstraint* v3_RelatingConstraint, aggregate_of_instance::ptr v4_RelatedResourceObjects); + IfcResourceConstraintRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects); typedef aggregate_of< IfcResourceConstraintRelationship > list; }; /// IfcResourceTime captures the time-related information about a construction resource. @@ -18375,12 +18375,12 @@ public: /// The shells shall not overlap or intersect except at common faces, edges or vertices. class IFC_PARSE_API IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { public: - aggregate_of_instance::ptr SbsmBoundary() const; - void setSbsmBoundary(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc2::IfcShell >::ptr SbsmBoundary() const; + void setSbsmBoundary(aggregate_of< ::Ifc4x3_rc2::IfcShell >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcShellBasedSurfaceModel (IfcEntityInstanceData* e); - IfcShellBasedSurfaceModel (aggregate_of_instance::ptr v1_SbsmBoundary); + IfcShellBasedSurfaceModel (aggregate_of< ::Ifc4x3_rc2::IfcShell >::ptr v1_SbsmBoundary); typedef aggregate_of< IfcShellBasedSurfaceModel > 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. @@ -21408,7 +21408,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcGeometricCurveSet (IfcEntityInstanceData* e); - IfcGeometricCurveSet (aggregate_of_instance::ptr v1_Elements); + IfcGeometricCurveSet (aggregate_of< ::Ifc4x3_rc2::IfcGeometricSetSelect >::ptr v1_Elements); typedef aggregate_of< IfcGeometricCurveSet > list; }; /// IfcIShapeProfileDef @@ -22539,15 +22539,15 @@ 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. - boost::optional< aggregate_of_instance::ptr > EnumerationValues() const; - void setEnumerationValues(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > EnumerationValues() const; + void setEnumerationValues(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v); /// Enumeration from which a enumeration value has been selected. The referenced enumeration also establishes the unit of the enumeration value. ::Ifc4x3_rc2::IfcPropertyEnumeration* EnumerationReference() const; void setEnumerationReference(::Ifc4x3_rc2::IfcPropertyEnumeration* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyEnumeratedValue (IfcEntityInstanceData* e); - IfcPropertyEnumeratedValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of_instance::ptr > v3_EnumerationValues, ::Ifc4x3_rc2::IfcPropertyEnumeration* v4_EnumerationReference); + IfcPropertyEnumeratedValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x3_rc2::IfcPropertyEnumeration* v4_EnumerationReference); typedef aggregate_of< IfcPropertyEnumeratedValue > list; }; /// An IfcPropertyListValue @@ -22620,15 +22620,15 @@ public: /// List of property values. /// /// IFC2x4 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. - boost::optional< aggregate_of_instance::ptr > ListValues() const; - void setListValues(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > ListValues() const; + void setListValues(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v); /// 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. ::Ifc4x3_rc2::IfcUnit* Unit() const; void setUnit(::Ifc4x3_rc2::IfcUnit* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyListValue (IfcEntityInstanceData* e); - IfcPropertyListValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of_instance::ptr > v3_ListValues, ::Ifc4x3_rc2::IfcUnit* v4_Unit); + IfcPropertyListValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v3_ListValues, ::Ifc4x3_rc2::IfcUnit* v4_Unit); typedef aggregate_of< IfcPropertyListValue > list; }; /// IfcPropertyReferenceValue allows a property value to @@ -22968,13 +22968,13 @@ 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. - boost::optional< aggregate_of_instance::ptr > DefiningValues() const; - void setDefiningValues(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > DefiningValues() const; + void setDefiningValues(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::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. - boost::optional< aggregate_of_instance::ptr > DefinedValues() const; - void setDefinedValues(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > DefinedValues() const; + void setDefinedValues(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v); /// 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. boost::optional< std::string > Expression() const; void setExpression(boost::optional< std::string > v); @@ -22992,7 +22992,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyTableValue (IfcEntityInstanceData* e); - IfcPropertyTableValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of_instance::ptr > v3_DefiningValues, boost::optional< aggregate_of_instance::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_rc2::IfcUnit* v6_DefiningUnit, ::Ifc4x3_rc2::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_rc2::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation); + IfcPropertyTableValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_rc2::IfcUnit* v6_DefiningUnit, ::Ifc4x3_rc2::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_rc2::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation); typedef aggregate_of< IfcPropertyTableValue > list; }; /// The IfcPropertyTemplate is an abstract supertype @@ -23518,12 +23518,12 @@ 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. - aggregate_of_instance::ptr RelatedObjects() const; - void setRelatedObjects(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr RelatedObjects() const; + void setRelatedObjects(aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociates (IfcEntityInstanceData* e); - IfcRelAssociates (std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects); + IfcRelAssociates (std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v5_RelatedObjects); typedef aggregate_of< IfcRelAssociates > list; }; /// The entity IfcRelAssociatesApproval is used to apply approval information defined by IfcApproval, in IfcApprovalResource schema, to subtypes of IfcRoot. @@ -23537,7 +23537,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesApproval (IfcEntityInstanceData* e); - IfcRelAssociatesApproval (std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcApproval* v6_RelatingApproval); + IfcRelAssociatesApproval (std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcApproval* v6_RelatingApproval); typedef aggregate_of< IfcRelAssociatesApproval > list; }; /// The objectified relationship @@ -23578,7 +23578,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesClassification (IfcEntityInstanceData* e); - IfcRelAssociatesClassification (std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcClassificationSelect* v6_RelatingClassification); + IfcRelAssociatesClassification (std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcClassificationSelect* v6_RelatingClassification); typedef aggregate_of< IfcRelAssociatesClassification > list; }; /// The entity IfcRelAssociatesConstraint is used to apply constraint information defined by IfcConstraint, in the IfcConstraintResource schema, to subtypes of IfcRoot. @@ -23595,7 +23595,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesConstraint (IfcEntityInstanceData* e); - IfcRelAssociatesConstraint (std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_rc2::IfcConstraint* v7_RelatingConstraint); + IfcRelAssociatesConstraint (std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_rc2::IfcConstraint* v7_RelatingConstraint); typedef aggregate_of< 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). @@ -23613,7 +23613,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesDocument (IfcEntityInstanceData* e); - IfcRelAssociatesDocument (std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcDocumentSelect* v6_RelatingDocument); + IfcRelAssociatesDocument (std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcDocumentSelect* v6_RelatingDocument); typedef aggregate_of< IfcRelAssociatesDocument > list; }; /// The objectified relationship (IfcRelAssociatesLibrary) handles the assignment of a library item (items of the select IfcLibrarySelect) to subtypes of IfcObjectDefinition or IfcPropertyDefinition. @@ -23631,7 +23631,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesLibrary (IfcEntityInstanceData* e); - IfcRelAssociatesLibrary (std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcLibrarySelect* v6_RelatingLibrary); + IfcRelAssociatesLibrary (std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcLibrarySelect* v6_RelatingLibrary); typedef aggregate_of< IfcRelAssociatesLibrary > list; }; /// Definition from IAI: Objectified relationship between a @@ -23736,7 +23736,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesMaterial (IfcEntityInstanceData* e); - IfcRelAssociatesMaterial (std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcMaterialSelect* v6_RelatingMaterial); + IfcRelAssociatesMaterial (std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcMaterialSelect* v6_RelatingMaterial); typedef aggregate_of< IfcRelAssociatesMaterial > list; }; @@ -23747,7 +23747,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesProfileDef (IfcEntityInstanceData* e); - IfcRelAssociatesProfileDef (std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcProfileDef* v6_RelatingProfileDef); + IfcRelAssociatesProfileDef (std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcProfileDef* v6_RelatingProfileDef); typedef aggregate_of< IfcRelAssociatesProfileDef > 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. @@ -24220,12 +24220,12 @@ public: ::Ifc4x3_rc2::IfcContext* RelatingContext() const; void setRelatingContext(::Ifc4x3_rc2::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. - aggregate_of_instance::ptr RelatedDefinitions() const; - void setRelatedDefinitions(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr RelatedDefinitions() const; + void setRelatedDefinitions(aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelDeclares (IfcEntityInstanceData* e); - IfcRelDeclares (std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcContext* v5_RelatingContext, aggregate_of_instance::ptr v6_RelatedDefinitions); + IfcRelDeclares (std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v6_RelatedDefinitions); typedef aggregate_of< IfcRelDeclares > list; }; /// The decomposition relationship, @@ -24738,8 +24738,8 @@ class IFC_PARSE_API IfcRelReferencedInSpatialStructure : public IfcRelConnects public: /// Set of products, which are referenced within this level of the spatial structure hierarchy. /// NOTE  Referenced elements are contained elsewhere within the spatial structure, they are referenced additionally by this spatial structure element, e.g., because they span several stories. - aggregate_of_instance::ptr RelatedElements() const; - void setRelatedElements(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc2::IfcSpatialReferenceSelect >::ptr RelatedElements() const; + void setRelatedElements(aggregate_of< ::Ifc4x3_rc2::IfcSpatialReferenceSelect >::ptr v); /// Spatial structure element, within which the element is referenced. Any element can be contained within zero, one or many elements of the project spatial and zoning structure. /// /// IFC2x Edition 4 CHANGE  The attribute relatingStructure as been promoted to the new supertype IfcSpatialElement with upward compatibility for file based exchange. @@ -24748,7 +24748,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelReferencedInSpatialStructure (IfcEntityInstanceData* e); - IfcRelReferencedInSpatialStructure (std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedElements, ::Ifc4x3_rc2::IfcSpatialElement* v6_RelatingStructure); + IfcRelReferencedInSpatialStructure (std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcSpatialReferenceSelect >::ptr v5_RelatedElements, ::Ifc4x3_rc2::IfcSpatialElement* v6_RelatingStructure); typedef aggregate_of< IfcRelReferencedInSpatialStructure > list; }; /// IfcRelSequence is a @@ -31322,14 +31322,14 @@ class IFC_PARSE_API IfcIndexedPolyCurve : public IfcBoundedCurve { public: ::Ifc4x3_rc2::IfcCartesianPointList* Points() const; void setPoints(::Ifc4x3_rc2::IfcCartesianPointList* v); - boost::optional< aggregate_of_instance::ptr > Segments() const; - void setSegments(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcSegmentIndexSelect >::ptr > Segments() const; + void setSegments(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcSegmentIndexSelect >::ptr > v); boost::optional< bool > SelfIntersect() const; void setSelfIntersect(boost::optional< bool > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcIndexedPolyCurve (IfcEntityInstanceData* e); - IfcIndexedPolyCurve (::Ifc4x3_rc2::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of_instance::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect); + IfcIndexedPolyCurve (::Ifc4x3_rc2::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect); typedef aggregate_of< IfcIndexedPolyCurve > list; }; /// The flow treatment device type IfcInterceptorType defines commonly shared information for occurrences of interceptors. The set of shared information may include: @@ -33460,12 +33460,12 @@ public: void setTransverseBarSpacing(boost::optional< double > v); boost::optional< std::string > BendingShapeCode() const; void setBendingShapeCode(boost::optional< std::string > v); - boost::optional< aggregate_of_instance::ptr > BendingParameters() const; - void setBendingParameters(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcBendingParameterSelect >::ptr > BendingParameters() const; + void setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcBendingParameterSelect >::ptr > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcReinforcingMeshType (IfcEntityInstanceData* e); - IfcReinforcingMeshType (std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of_instance::ptr > v20_BendingParameters); + IfcReinforcingMeshType (std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of< ::Ifc4x3_rc2::IfcBendingParameterSelect >::ptr > v20_BendingParameters); typedef aggregate_of< IfcReinforcingMeshType > list; }; /// The aggregation relationship @@ -35759,11 +35759,11 @@ public: ::Ifc4x3_rc2::IfcCurve* BasisCurve() const; void setBasisCurve(::Ifc4x3_rc2::IfcCurve* v); /// The first trimming point which may be specified as a Cartesian point, as a real parameter or both. - aggregate_of_instance::ptr Trim1() const; - void setTrim1(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc2::IfcTrimmingSelect >::ptr Trim1() const; + void setTrim1(aggregate_of< ::Ifc4x3_rc2::IfcTrimmingSelect >::ptr v); /// The second trimming point which may be specified as a Cartesian point, as a real parameter or both. - aggregate_of_instance::ptr Trim2() const; - void setTrim2(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc2::IfcTrimmingSelect >::ptr Trim2() const; + void setTrim2(aggregate_of< ::Ifc4x3_rc2::IfcTrimmingSelect >::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); @@ -35773,7 +35773,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTrimmedCurve (IfcEntityInstanceData* e); - IfcTrimmedCurve (::Ifc4x3_rc2::IfcCurve* v1_BasisCurve, aggregate_of_instance::ptr v2_Trim1, aggregate_of_instance::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc2::IfcTrimmingPreference::Value v5_MasterRepresentation); + IfcTrimmedCurve (::Ifc4x3_rc2::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_rc2::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x3_rc2::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc2::IfcTrimmingPreference::Value v5_MasterRepresentation); typedef aggregate_of< IfcTrimmedCurve > list; }; /// The energy conversion device type IfcTubeBundleType defines commonly shared information for occurrences of tube bundles. The set of shared information may include: @@ -44639,12 +44639,12 @@ public: void setBarSurface(boost::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value > v); boost::optional< std::string > BendingShapeCode() const; void setBendingShapeCode(boost::optional< std::string > v); - boost::optional< aggregate_of_instance::ptr > BendingParameters() const; - void setBendingParameters(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcBendingParameterSelect >::ptr > BendingParameters() const; + void setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcBendingParameterSelect >::ptr > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcReinforcingBarType (IfcEntityInstanceData* e); - IfcReinforcingBarType (std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of_instance::ptr > v16_BendingParameters); + IfcReinforcingBarType (std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcBendingParameterSelect >::ptr > v16_BendingParameters); typedef aggregate_of< IfcReinforcingBarType > list; }; /// Definition from ISO 6707-1:1989: Construction enclosing the building from above. diff --git a/src/ifcparse/Ifc4x3_rc3-definitions.h b/src/ifcparse/Ifc4x3_rc3-definitions.h index 1b4bdb1860..6cd1bcef66 100644 --- a/src/ifcparse/Ifc4x3_rc3-definitions.h +++ b/src/ifcparse/Ifc4x3_rc3-definitions.h @@ -4004,3 +4004,53 @@ #define SCHEMA_HAS_IfcZone #define SCHEMA_IfcZone_HAS_LongName #define SCHEMA_IfcZone_LongName_IS_OPTIONAL +#define SCHEMA_HAS_IfcRepresentationContextSameWCS +#define SCHEMA_HAS_IfcSingleProjectInstance +#define SCHEMA_HAS_IfcAssociatedSurface +#define SCHEMA_HAS_IfcBaseAxis +#define SCHEMA_HAS_IfcBooleanChoose +#define SCHEMA_HAS_IfcBuild2Axes +#define SCHEMA_HAS_IfcBuildAxes +#define SCHEMA_HAS_IfcConsecutiveSegments +#define SCHEMA_HAS_IfcConstraintsParamBSpline +#define SCHEMA_HAS_IfcConvertDirectionInto2D +#define SCHEMA_HAS_IfcCorrectDimensions +#define SCHEMA_HAS_IfcCorrectFillAreaStyle +#define SCHEMA_HAS_IfcCorrectLocalPlacement +#define SCHEMA_HAS_IfcCorrectObjectAssignment +#define SCHEMA_HAS_IfcCorrectUnitAssignment +#define SCHEMA_HAS_IfcCrossProduct +#define SCHEMA_HAS_IfcCurveDim +#define SCHEMA_HAS_IfcCurveWeightsPositive +#define SCHEMA_HAS_IfcDeriveDimensionalExponents +#define SCHEMA_HAS_IfcDimensionsForSiUnit +#define SCHEMA_HAS_IfcDotProduct +#define SCHEMA_HAS_IfcFirstProjAxis +#define SCHEMA_HAS_IfcGetBasisSurface +#define SCHEMA_HAS_IfcGradient +#define SCHEMA_HAS_IfcListToArray +#define SCHEMA_HAS_IfcLoopHeadToTail +#define SCHEMA_HAS_IfcMakeArrayOfArray +#define SCHEMA_HAS_IfcMlsTotalThickness +#define SCHEMA_HAS_IfcNormalise +#define SCHEMA_HAS_IfcOrthogonalComplement +#define SCHEMA_HAS_IfcPathHeadToTail +#define SCHEMA_HAS_IfcPointListDim +#define SCHEMA_HAS_IfcSameAxis2Placement +#define SCHEMA_HAS_IfcSameCartesianPoint +#define SCHEMA_HAS_IfcSameDirection +#define SCHEMA_HAS_IfcSameValidPrecision +#define SCHEMA_HAS_IfcSameValue +#define SCHEMA_HAS_IfcScalarTimesVector +#define SCHEMA_HAS_IfcSecondProjAxis +#define SCHEMA_HAS_IfcShapeRepresentationTypes +#define SCHEMA_HAS_IfcSurfaceWeightsPositive +#define SCHEMA_HAS_IfcTaperedSweptAreaProfiles +#define SCHEMA_HAS_IfcTopologyRepresentationTypes +#define SCHEMA_HAS_IfcUniqueDefinitionNames +#define SCHEMA_HAS_IfcUniquePropertyName +#define SCHEMA_HAS_IfcUniquePropertySetNames +#define SCHEMA_HAS_IfcUniquePropertyTemplateNames +#define SCHEMA_HAS_IfcUniqueQuantityNames +#define SCHEMA_HAS_IfcVectorDifference +#define SCHEMA_HAS_IfcVectorSum diff --git a/src/ifcparse/Ifc4x3_rc3.cpp b/src/ifcparse/Ifc4x3_rc3.cpp index 3733a9ede0..8b3eb66471 100644 --- a/src/ifcparse/Ifc4x3_rc3.cpp +++ b/src/ifcparse/Ifc4x3_rc3.cpp @@ -15701,8 +15701,8 @@ boost::optional< std::string > Ifc4x3_rc3::IfcDocumentInformation::Revision() co void Ifc4x3_rc3::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3_rc3::IfcActorSelect* Ifc4x3_rc3::IfcDocumentInformation::DocumentOwner() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc3::IfcActorSelect>(true); } void Ifc4x3_rc3::IfcDocumentInformation::setDocumentOwner(::Ifc4x3_rc3::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc3::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(9); return v; } -void Ifc4x3_rc3::IfcDocumentInformation::setEditors(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcActorSelect >::ptr > Ifc4x3_rc3::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc3::IfcActorSelect >::ptr v = *data_->getArgument(9); return v; } +void Ifc4x3_rc3::IfcDocumentInformation::setEditors(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcActorSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcDocumentInformation::CreationTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } void Ifc4x3_rc3::IfcDocumentInformation::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcDocumentInformation::LastRevisionTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } @@ -15726,7 +15726,7 @@ void Ifc4x3_rc3::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x3_rc3 const IfcParse::entity& Ifc4x3_rc3::IfcDocumentInformation::declaration() const { return *IFC4X3_RC3_IfcDocumentInformation_type; } const IfcParse::entity& Ifc4x3_rc3::IfcDocumentInformation::Class() { return *IFC4X3_RC3_IfcDocumentInformation_type; } Ifc4x3_rc3::IfcDocumentInformation::IfcDocumentInformation(IfcEntityInstanceData* e) : IfcExternalInformation((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcDocumentInformation_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::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, ::Ifc4x3_rc3::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of_instance::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< ::Ifc4x3_rc3::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_rc3::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Identification));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Location));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CreationTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LastRevisionTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LastRevisionTime));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ElectronicFormat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ElectronicFormat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ValidFrom) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ValidFrom));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ValidUntil) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ValidUntil));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc4x3_rc3::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc4x3_rc3::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } +Ifc4x3_rc3::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, ::Ifc4x3_rc3::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcActorSelect >::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< ::Ifc4x3_rc3::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_rc3::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Identification));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Location));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CreationTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LastRevisionTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LastRevisionTime));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ElectronicFormat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ElectronicFormat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ValidFrom) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ValidFrom));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ValidUntil) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ValidUntil));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc4x3_rc3::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc4x3_rc3::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } // Function implementations for IfcDocumentInformationRelationship ::Ifc4x3_rc3::IfcDocumentInformation* Ifc4x3_rc3::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcDocumentInformation>(true); } @@ -16420,14 +16420,14 @@ Ifc4x3_rc3::IfcExternalReference::IfcExternalReference(boost::optional< std::str // Function implementations for IfcExternalReferenceRelationship ::Ifc4x3_rc3::IfcExternalReference* Ifc4x3_rc3::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcExternalReference>(true); } void Ifc4x3_rc3::IfcExternalReferenceRelationship::setRelatingReference(::Ifc4x3_rc3::IfcExternalReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -aggregate_of_instance::ptr Ifc4x3_rc3::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } -void Ifc4x3_rc3::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr Ifc4x3_rc3::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr v = *data_->getArgument(3); return v; } +void Ifc4x3_rc3::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcExternalReferenceRelationship::declaration() const { return *IFC4X3_RC3_IfcExternalReferenceRelationship_type; } const IfcParse::entity& Ifc4x3_rc3::IfcExternalReferenceRelationship::Class() { return *IFC4X3_RC3_IfcExternalReferenceRelationship_type; } Ifc4x3_rc3::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcExternalReferenceRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcExternalReference* v3_RelatingReference, aggregate_of_instance::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcExternalReferenceRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingReference));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } +Ifc4x3_rc3::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcExternalReferenceRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingReference));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } // Function implementations for IfcExternalSpatialElement boost::optional< ::Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::Value > Ifc4x3_rc3::IfcExternalSpatialElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::FromString(*data_->getArgument(8)); } @@ -16672,8 +16672,8 @@ Ifc4x3_rc3::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcEntity Ifc4x3_rc3::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcFeatureElementSubtraction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcFillAreaStyle -aggregate_of_instance::ptr Ifc4x3_rc3::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcFillAreaStyle::setFillStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_rc3::IfcFillStyleSelect >::ptr Ifc4x3_rc3::IfcFillAreaStyle::FillStyles() const { aggregate_of< ::Ifc4x3_rc3::IfcFillStyleSelect >::ptr v = *data_->getArgument(1); return v; } +void Ifc4x3_rc3::IfcFillAreaStyle::setFillStyles(aggregate_of< ::Ifc4x3_rc3::IfcFillStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x3_rc3::IfcFillAreaStyle::ModelOrDraughting() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } void Ifc4x3_rc3::IfcFillAreaStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } @@ -16681,7 +16681,7 @@ void Ifc4x3_rc3::IfcFillAreaStyle::setModelOrDraughting(boost::optional< bool > const IfcParse::entity& Ifc4x3_rc3::IfcFillAreaStyle::declaration() const { return *IFC4X3_RC3_IfcFillAreaStyle_type; } const IfcParse::entity& Ifc4x3_rc3::IfcFillAreaStyle::Class() { return *IFC4X3_RC3_IfcFillAreaStyle_type; } Ifc4x3_rc3::IfcFillAreaStyle::IfcFillAreaStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcFillAreaStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of_instance::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles));data_->setArgument(1,attr);} if (v3_ModelOrDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ModelOrDraughting));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x3_rc3::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_rc3::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles));data_->setArgument(1,attr);} if (v3_ModelOrDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ModelOrDraughting));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcFillAreaStyleHatching ::Ifc4x3_rc3::IfcCurveStyle* Ifc4x3_rc3::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcCurveStyle>(true); } @@ -17001,7 +17001,7 @@ Ifc4x3_rc3::IfcGeographicElementType::IfcGeographicElementType(std::string v1_Gl const IfcParse::entity& Ifc4x3_rc3::IfcGeometricCurveSet::declaration() const { return *IFC4X3_RC3_IfcGeometricCurveSet_type; } const IfcParse::entity& Ifc4x3_rc3::IfcGeometricCurveSet::Class() { return *IFC4X3_RC3_IfcGeometricCurveSet_type; } Ifc4x3_rc3::IfcGeometricCurveSet::IfcGeometricCurveSet(IfcEntityInstanceData* e) : IfcGeometricSet((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcGeometricCurveSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of_instance::ptr v1_Elements) : IfcGeometricSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcGeometricCurveSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } +Ifc4x3_rc3::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4x3_rc3::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcGeometricCurveSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } // Function implementations for IfcGeometricRepresentationContext int Ifc4x3_rc3::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = *data_->getArgument(2); return v; } @@ -17046,14 +17046,14 @@ Ifc4x3_rc3::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubC Ifc4x3_rc3::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, ::Ifc4x3_rc3::IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, ::Ifc4x3_rc3::IfcGeometricProjectionEnum::Value v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcGeometricRepresentationSubContext_type); if (v1_ContextIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_ContextIdentifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_ContextType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ContextType));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ParentContext));data_->setArgument(6,attr);} if (v8_TargetScale) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_TargetScale));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_TargetView,::Ifc4x3_rc3::IfcGeometricProjectionEnum::ToString(v9_TargetView))));data_->setArgument(8,attr);} if (v10_UserDefinedTargetView) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_UserDefinedTargetView));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcGeometricSet -aggregate_of_instance::ptr Ifc4x3_rc3::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc3::IfcGeometricSet::setElements(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc3::IfcGeometricSetSelect >::ptr Ifc4x3_rc3::IfcGeometricSet::Elements() const { aggregate_of< ::Ifc4x3_rc3::IfcGeometricSetSelect >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x3_rc3::IfcGeometricSet::setElements(aggregate_of< ::Ifc4x3_rc3::IfcGeometricSetSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcGeometricSet::declaration() const { return *IFC4X3_RC3_IfcGeometricSet_type; } const IfcParse::entity& Ifc4x3_rc3::IfcGeometricSet::Class() { return *IFC4X3_RC3_IfcGeometricSet_type; } Ifc4x3_rc3::IfcGeometricSet::IfcGeometricSet(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcGeometricSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcGeometricSet::IfcGeometricSet(aggregate_of_instance::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcGeometricSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } +Ifc4x3_rc3::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x3_rc3::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcGeometricSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } // Function implementations for IfcGeomodel @@ -17295,8 +17295,8 @@ Ifc4x3_rc3::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4x3_rc3::IfcTessellate // Function implementations for IfcIndexedPolyCurve ::Ifc4x3_rc3::IfcCartesianPointList* Ifc4x3_rc3::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcCartesianPointList>(true); } void Ifc4x3_rc3::IfcIndexedPolyCurve::setPoints(::Ifc4x3_rc3::IfcCartesianPointList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc3::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcSegmentIndexSelect >::ptr > Ifc4x3_rc3::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc3::IfcSegmentIndexSelect >::ptr v = *data_->getArgument(1); return v; } +void Ifc4x3_rc3::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcSegmentIndexSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x3_rc3::IfcIndexedPolyCurve::SelfIntersect() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } void Ifc4x3_rc3::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } @@ -17304,7 +17304,7 @@ void Ifc4x3_rc3::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v const IfcParse::entity& Ifc4x3_rc3::IfcIndexedPolyCurve::declaration() const { return *IFC4X3_RC3_IfcIndexedPolyCurve_type; } const IfcParse::entity& Ifc4x3_rc3::IfcIndexedPolyCurve::Class() { return *IFC4X3_RC3_IfcIndexedPolyCurve_type; } Ifc4x3_rc3::IfcIndexedPolyCurve::IfcIndexedPolyCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcIndexedPolyCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x3_rc3::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of_instance::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcIndexedPolyCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Points));data_->setArgument(0,attr);} if (v2_Segments) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Segments));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_SelfIntersect) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_SelfIntersect));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x3_rc3::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x3_rc3::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcIndexedPolyCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Points));data_->setArgument(0,attr);} if (v2_Segments) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Segments));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_SelfIntersect) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_SelfIntersect));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcIndexedPolygonalFace std::vector< int > /*[3:?]*/ Ifc4x3_rc3::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = *data_->getArgument(0); return v; } @@ -17410,14 +17410,14 @@ Ifc4x3_rc3::IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, // Function implementations for IfcIrregularTimeSeriesValue std::string Ifc4x3_rc3::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc3::IfcIrregularTimeSeriesValue::setTimeStamp(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of_instance::ptr Ifc4x3_rc3::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcIrregularTimeSeriesValue::setListValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr Ifc4x3_rc3::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v = *data_->getArgument(1); return v; } +void Ifc4x3_rc3::IfcIrregularTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcIrregularTimeSeriesValue::declaration() const { return *IFC4X3_RC3_IfcIrregularTimeSeriesValue_type; } const IfcParse::entity& Ifc4x3_rc3::IfcIrregularTimeSeriesValue::Class() { return *IFC4X3_RC3_IfcIrregularTimeSeriesValue_type; } Ifc4x3_rc3::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC3_IfcIrregularTimeSeriesValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of_instance::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcIrregularTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TimeStamp));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ListValues));data_->setArgument(1,attr);} } +Ifc4x3_rc3::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcIrregularTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TimeStamp));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ListValues));data_->setArgument(1,attr);} } // Function implementations for IfcJunctionBox boost::optional< ::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Value > Ifc4x3_rc3::IfcJunctionBox::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::FromString(*data_->getArgument(8)); } @@ -17854,8 +17854,8 @@ Ifc4x3_rc3::IfcMaterial::IfcMaterial(IfcEntityInstanceData* e) : IfcMaterialDefi Ifc4x3_rc3::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_Category) : IfcMaterialDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Category) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Category));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcMaterialClassificationRelationship -aggregate_of_instance::ptr Ifc4x3_rc3::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc3::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc3::IfcClassificationSelect >::ptr Ifc4x3_rc3::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of< ::Ifc4x3_rc3::IfcClassificationSelect >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x3_rc3::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of< ::Ifc4x3_rc3::IfcClassificationSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4x3_rc3::IfcMaterial* Ifc4x3_rc3::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcMaterial>(true); } void Ifc4x3_rc3::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc4x3_rc3::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -17863,7 +17863,7 @@ void Ifc4x3_rc3::IfcMaterialClassificationRelationship::setClassifiedMaterial(:: const IfcParse::entity& Ifc4x3_rc3::IfcMaterialClassificationRelationship::declaration() const { return *IFC4X3_RC3_IfcMaterialClassificationRelationship_type; } const IfcParse::entity& Ifc4x3_rc3::IfcMaterialClassificationRelationship::Class() { return *IFC4X3_RC3_IfcMaterialClassificationRelationship_type; } Ifc4x3_rc3::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC3_IfcMaterialClassificationRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of_instance::ptr v1_MaterialClassifications, ::Ifc4x3_rc3::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcMaterialClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialClassifications));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ClassifiedMaterial));data_->setArgument(1,attr);} } +Ifc4x3_rc3::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4x3_rc3::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x3_rc3::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcMaterialClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialClassifications));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ClassifiedMaterial));data_->setArgument(1,attr);} } // Function implementations for IfcMaterialConstituent boost::optional< std::string > Ifc4x3_rc3::IfcMaterialConstituent::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -19119,8 +19119,8 @@ std::string Ifc4x3_rc3::IfcPresentationLayerAssignment::Name() const { std::str void Ifc4x3_rc3::IfcPresentationLayerAssignment::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcPresentationLayerAssignment::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc3::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } -aggregate_of_instance::ptr Ifc4x3_rc3::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_rc3::IfcLayeredItem >::ptr Ifc4x3_rc3::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of< ::Ifc4x3_rc3::IfcLayeredItem >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x3_rc3::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of< ::Ifc4x3_rc3::IfcLayeredItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcPresentationLayerAssignment::Identifier() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4x3_rc3::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } @@ -19128,7 +19128,7 @@ void Ifc4x3_rc3::IfcPresentationLayerAssignment::setIdentifier(boost::optional< const IfcParse::entity& Ifc4x3_rc3::IfcPresentationLayerAssignment::declaration() const { return *IFC4X3_RC3_IfcPresentationLayerAssignment_type; } const IfcParse::entity& Ifc4x3_rc3::IfcPresentationLayerAssignment::Class() { return *IFC4X3_RC3_IfcPresentationLayerAssignment_type; } Ifc4x3_rc3::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC3_IfcPresentationLayerAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPresentationLayerAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } +Ifc4x3_rc3::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc3::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPresentationLayerAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcPresentationLayerWithStyle boost::logic::tribool Ifc4x3_rc3::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = *data_->getArgument(4); return v; } @@ -19144,7 +19144,7 @@ void Ifc4x3_rc3::IfcPresentationLayerWithStyle::setLayerStyles(aggregate_of< ::I const IfcParse::entity& Ifc4x3_rc3::IfcPresentationLayerWithStyle::declaration() const { return *IFC4X3_RC3_IfcPresentationLayerWithStyle_type; } const IfcParse::entity& Ifc4x3_rc3::IfcPresentationLayerWithStyle::Class() { return *IFC4X3_RC3_IfcPresentationLayerWithStyle_type; } Ifc4x3_rc3::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcEntityInstanceData* e) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcPresentationLayerWithStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_rc3::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPresentationLayerWithStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_LayerOn));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LayerFrozen));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LayerBlocked));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LayerStyles)->generalize());data_->setArgument(7,attr);} } +Ifc4x3_rc3::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc3::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_rc3::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPresentationLayerWithStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_LayerOn));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LayerFrozen));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LayerBlocked));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LayerStyles)->generalize());data_->setArgument(7,attr);} } // Function implementations for IfcPresentationStyle boost::optional< std::string > Ifc4x3_rc3::IfcPresentationStyle::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -19376,8 +19376,8 @@ Ifc4x3_rc3::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship Ifc4x3_rc3::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcProperty* v3_DependingProperty, ::Ifc4x3_rc3::IfcProperty* v4_DependantProperty, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPropertyDependencyRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_DependingProperty));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_DependantProperty));data_->setArgument(3,attr);} if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcPropertyEnumeratedValue -boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc3::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > Ifc4x3_rc3::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x3_rc3::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc3::IfcPropertyEnumeration* Ifc4x3_rc3::IfcPropertyEnumeratedValue::EnumerationReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcPropertyEnumeration>(true); } void Ifc4x3_rc3::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x3_rc3::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19385,13 +19385,13 @@ void Ifc4x3_rc3::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x3_rc const IfcParse::entity& Ifc4x3_rc3::IfcPropertyEnumeratedValue::declaration() const { return *IFC4X3_RC3_IfcPropertyEnumeratedValue_type; } const IfcParse::entity& Ifc4x3_rc3::IfcPropertyEnumeratedValue::Class() { return *IFC4X3_RC3_IfcPropertyEnumeratedValue_type; } Ifc4x3_rc3::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcPropertyEnumeratedValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of_instance::ptr > v3_EnumerationValues, ::Ifc4x3_rc3::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPropertyEnumeratedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EnumerationValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EnumerationValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EnumerationReference));data_->setArgument(3,attr);} } +Ifc4x3_rc3::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x3_rc3::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPropertyEnumeratedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EnumerationValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EnumerationValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EnumerationReference));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyEnumeration std::string Ifc4x3_rc3::IfcPropertyEnumeration::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc3::IfcPropertyEnumeration::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of_instance::ptr Ifc4x3_rc3::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcPropertyEnumeration::setEnumerationValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr Ifc4x3_rc3::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v = *data_->getArgument(1); return v; } +void Ifc4x3_rc3::IfcPropertyEnumeration::setEnumerationValues(aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } ::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcPropertyEnumeration::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcUnit>(true); } void Ifc4x3_rc3::IfcPropertyEnumeration::setUnit(::Ifc4x3_rc3::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -19399,11 +19399,11 @@ void Ifc4x3_rc3::IfcPropertyEnumeration::setUnit(::Ifc4x3_rc3::IfcUnit* v) { {If const IfcParse::entity& Ifc4x3_rc3::IfcPropertyEnumeration::declaration() const { return *IFC4X3_RC3_IfcPropertyEnumeration_type; } const IfcParse::entity& Ifc4x3_rc3::IfcPropertyEnumeration::Class() { return *IFC4X3_RC3_IfcPropertyEnumeration_type; } Ifc4x3_rc3::IfcPropertyEnumeration::IfcPropertyEnumeration(IfcEntityInstanceData* e) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcPropertyEnumeration_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of_instance::ptr v2_EnumerationValues, ::Ifc4x3_rc3::IfcUnit* v3_Unit) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPropertyEnumeration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EnumerationValues));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);} } +Ifc4x3_rc3::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x3_rc3::IfcUnit* v3_Unit) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPropertyEnumeration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EnumerationValues));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);} } // Function implementations for IfcPropertyListValue -boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc3::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcPropertyListValue::setListValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > Ifc4x3_rc3::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x3_rc3::IfcPropertyListValue::setListValues(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcPropertyListValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcUnit>(true); } void Ifc4x3_rc3::IfcPropertyListValue::setUnit(::Ifc4x3_rc3::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19411,7 +19411,7 @@ void Ifc4x3_rc3::IfcPropertyListValue::setUnit(::Ifc4x3_rc3::IfcUnit* v) { {IfcW const IfcParse::entity& Ifc4x3_rc3::IfcPropertyListValue::declaration() const { return *IFC4X3_RC3_IfcPropertyListValue_type; } const IfcParse::entity& Ifc4x3_rc3::IfcPropertyListValue::Class() { return *IFC4X3_RC3_IfcPropertyListValue_type; } Ifc4x3_rc3::IfcPropertyListValue::IfcPropertyListValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcPropertyListValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of_instance::ptr > v3_ListValues, ::Ifc4x3_rc3::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPropertyListValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ListValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ListValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } +Ifc4x3_rc3::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v3_ListValues, ::Ifc4x3_rc3::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPropertyListValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ListValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ListValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyReferenceValue boost::optional< std::string > Ifc4x3_rc3::IfcPropertyReferenceValue::UsageName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } @@ -19474,10 +19474,10 @@ Ifc4x3_rc3::IfcPropertySingleValue::IfcPropertySingleValue(IfcEntityInstanceData Ifc4x3_rc3::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcValue* v3_NominalValue, ::Ifc4x3_rc3::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPropertySingleValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_NominalValue));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyTableValue -boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc3::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc3::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } -void Ifc4x3_rc3::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > Ifc4x3_rc3::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x3_rc3::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > Ifc4x3_rc3::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v = *data_->getArgument(3); return v; } +void Ifc4x3_rc3::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcPropertyTableValue::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x3_rc3::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcPropertyTableValue::DefiningUnit() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcUnit>(true); } @@ -19491,7 +19491,7 @@ void Ifc4x3_rc3::IfcPropertyTableValue::setCurveInterpolation(boost::optional< : const IfcParse::entity& Ifc4x3_rc3::IfcPropertyTableValue::declaration() const { return *IFC4X3_RC3_IfcPropertyTableValue_type; } const IfcParse::entity& Ifc4x3_rc3::IfcPropertyTableValue::Class() { return *IFC4X3_RC3_IfcPropertyTableValue_type; } Ifc4x3_rc3::IfcPropertyTableValue::IfcPropertyTableValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcPropertyTableValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of_instance::ptr > v3_DefiningValues, boost::optional< aggregate_of_instance::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_rc3::IfcUnit* v6_DefiningUnit, ::Ifc4x3_rc3::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_rc3::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPropertyTableValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_DefiningValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_DefiningValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DefinedValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DefinedValues));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_DefiningUnit));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_DefinedUnit));data_->setArgument(6,attr);} if (v8_CurveInterpolation) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_CurveInterpolation,::Ifc4x3_rc3::IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } +Ifc4x3_rc3::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_rc3::IfcUnit* v6_DefiningUnit, ::Ifc4x3_rc3::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_rc3::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPropertyTableValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_DefiningValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_DefiningValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DefinedValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DefinedValues));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_DefiningUnit));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_DefinedUnit));data_->setArgument(6,attr);} if (v8_CurveInterpolation) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_CurveInterpolation,::Ifc4x3_rc3::IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcPropertyTemplate @@ -19974,14 +19974,14 @@ boost::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc3: void Ifc4x3_rc3::IfcReinforcingBarType::setBarSurface(boost::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::ToString(*v)));}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcReinforcingBarType::BendingShapeCode() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } void Ifc4x3_rc3::IfcReinforcingBarType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc3::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(15); return v; } -void Ifc4x3_rc3::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcBendingParameterSelect >::ptr > Ifc4x3_rc3::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc3::IfcBendingParameterSelect >::ptr v = *data_->getArgument(15); return v; } +void Ifc4x3_rc3::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcReinforcingBarType::declaration() const { return *IFC4X3_RC3_IfcReinforcingBarType_type; } const IfcParse::entity& Ifc4x3_rc3::IfcReinforcingBarType::Class() { return *IFC4X3_RC3_IfcReinforcingBarType_type; } Ifc4x3_rc3::IfcReinforcingBarType::IfcReinforcingBarType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcReinforcingBarType_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of_instance::ptr > v16_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcReinforcingBarType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_BarLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_BarLength));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_BarSurface) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_BarSurface,::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_BendingShapeCode));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_BendingParameters));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } } +Ifc4x3_rc3::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcReinforcingBarType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_BarLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_BarLength));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_BarSurface) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_BarSurface,::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_BendingShapeCode));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_BendingParameters));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } } // Function implementations for IfcReinforcingElement boost::optional< std::string > Ifc4x3_rc3::IfcReinforcingElement::SteelGrade() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } @@ -20048,14 +20048,14 @@ boost::optional< double > Ifc4x3_rc3::IfcReinforcingMeshType::TransverseBarSpaci void Ifc4x3_rc3::IfcReinforcingMeshType::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(17,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcReinforcingMeshType::BendingShapeCode() const { if(!data_->getArgument(18) || data_->getArgument(18)->isNull()) { return boost::none; } std::string v = *data_->getArgument(18); return v; } void Ifc4x3_rc3::IfcReinforcingMeshType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(18,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc3::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(19); return v; } -void Ifc4x3_rc3::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(19,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcBendingParameterSelect >::ptr > Ifc4x3_rc3::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc3::IfcBendingParameterSelect >::ptr v = *data_->getArgument(19); return v; } +void Ifc4x3_rc3::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(19,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcReinforcingMeshType::declaration() const { return *IFC4X3_RC3_IfcReinforcingMeshType_type; } const IfcParse::entity& Ifc4x3_rc3::IfcReinforcingMeshType::Class() { return *IFC4X3_RC3_IfcReinforcingMeshType_type; } Ifc4x3_rc3::IfcReinforcingMeshType::IfcReinforcingMeshType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcReinforcingMeshType_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of_instance::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcReinforcingMeshType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshLength));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_MeshWidth));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LongitudinalBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TransverseBarNominalDiameter));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LongitudinalBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_TransverseBarCrossSectionArea));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LongitudinalBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_TransverseBarSpacing));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_BendingShapeCode));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_BendingParameters));data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } +Ifc4x3_rc3::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of< ::Ifc4x3_rc3::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcReinforcingMeshType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshLength));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_MeshWidth));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LongitudinalBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TransverseBarNominalDiameter));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LongitudinalBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_TransverseBarCrossSectionArea));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LongitudinalBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_TransverseBarSpacing));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_BendingShapeCode));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_BendingParameters));data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } // Function implementations for IfcRelAggregates ::Ifc4x3_rc3::IfcObjectDefinition* Ifc4x3_rc3::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcObjectDefinition>(true); } @@ -20156,14 +20156,14 @@ Ifc4x3_rc3::IfcRelAssignsToResource::IfcRelAssignsToResource(IfcEntityInstanceDa Ifc4x3_rc3::IfcRelAssignsToResource::IfcRelAssignsToResource(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcResourceSelect* v7_RelatingResource) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelAssignsToResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x3_rc3::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingResource));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociates -aggregate_of_instance::ptr Ifc4x3_rc3::IfcRelAssociates::RelatedObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcRelAssociates::setRelatedObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr Ifc4x3_rc3::IfcRelAssociates::RelatedObjects() const { aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v = *data_->getArgument(4); return v; } +void Ifc4x3_rc3::IfcRelAssociates::setRelatedObjects(aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssociates::declaration() const { return *IFC4X3_RC3_IfcRelAssociates_type; } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssociates::Class() { return *IFC4X3_RC3_IfcRelAssociates_type; } Ifc4x3_rc3::IfcRelAssociates::IfcRelAssociates(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcRelAssociates_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} } +Ifc4x3_rc3::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} } // Function implementations for IfcRelAssociatesApproval ::Ifc4x3_rc3::IfcApproval* Ifc4x3_rc3::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcApproval>(true); } @@ -20173,7 +20173,7 @@ void Ifc4x3_rc3::IfcRelAssociatesApproval::setRelatingApproval(::Ifc4x3_rc3::Ifc const IfcParse::entity& Ifc4x3_rc3::IfcRelAssociatesApproval::declaration() const { return *IFC4X3_RC3_IfcRelAssociatesApproval_type; } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssociatesApproval::Class() { return *IFC4X3_RC3_IfcRelAssociatesApproval_type; } Ifc4x3_rc3::IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcRelAssociatesApproval_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } +Ifc4x3_rc3::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesClassification ::Ifc4x3_rc3::IfcClassificationSelect* Ifc4x3_rc3::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcClassificationSelect>(true); } @@ -20183,7 +20183,7 @@ void Ifc4x3_rc3::IfcRelAssociatesClassification::setRelatingClassification(::Ifc const IfcParse::entity& Ifc4x3_rc3::IfcRelAssociatesClassification::declaration() const { return *IFC4X3_RC3_IfcRelAssociatesClassification_type; } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssociatesClassification::Class() { return *IFC4X3_RC3_IfcRelAssociatesClassification_type; } Ifc4x3_rc3::IfcRelAssociatesClassification::IfcRelAssociatesClassification(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcRelAssociatesClassification_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelAssociatesClassification_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingClassification));data_->setArgument(5,attr);} } +Ifc4x3_rc3::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelAssociatesClassification_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingClassification));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesConstraint boost::optional< std::string > Ifc4x3_rc3::IfcRelAssociatesConstraint::Intent() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } @@ -20195,7 +20195,7 @@ void Ifc4x3_rc3::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc4x3_rc3: const IfcParse::entity& Ifc4x3_rc3::IfcRelAssociatesConstraint::declaration() const { return *IFC4X3_RC3_IfcRelAssociatesConstraint_type; } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssociatesConstraint::Class() { return *IFC4X3_RC3_IfcRelAssociatesConstraint_type; } Ifc4x3_rc3::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcRelAssociatesConstraint_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_rc3::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} if (v6_Intent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Intent));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } +Ifc4x3_rc3::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_rc3::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} if (v6_Intent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Intent));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociatesDocument ::Ifc4x3_rc3::IfcDocumentSelect* Ifc4x3_rc3::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcDocumentSelect>(true); } @@ -20205,7 +20205,7 @@ void Ifc4x3_rc3::IfcRelAssociatesDocument::setRelatingDocument(::Ifc4x3_rc3::Ifc const IfcParse::entity& Ifc4x3_rc3::IfcRelAssociatesDocument::declaration() const { return *IFC4X3_RC3_IfcRelAssociatesDocument_type; } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssociatesDocument::Class() { return *IFC4X3_RC3_IfcRelAssociatesDocument_type; } Ifc4x3_rc3::IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcRelAssociatesDocument_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } +Ifc4x3_rc3::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesLibrary ::Ifc4x3_rc3::IfcLibrarySelect* Ifc4x3_rc3::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcLibrarySelect>(true); } @@ -20215,7 +20215,7 @@ void Ifc4x3_rc3::IfcRelAssociatesLibrary::setRelatingLibrary(::Ifc4x3_rc3::IfcLi const IfcParse::entity& Ifc4x3_rc3::IfcRelAssociatesLibrary::declaration() const { return *IFC4X3_RC3_IfcRelAssociatesLibrary_type; } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssociatesLibrary::Class() { return *IFC4X3_RC3_IfcRelAssociatesLibrary_type; } Ifc4x3_rc3::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcRelAssociatesLibrary_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } +Ifc4x3_rc3::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesMaterial ::Ifc4x3_rc3::IfcMaterialSelect* Ifc4x3_rc3::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcMaterialSelect>(true); } @@ -20225,7 +20225,7 @@ void Ifc4x3_rc3::IfcRelAssociatesMaterial::setRelatingMaterial(::Ifc4x3_rc3::Ifc const IfcParse::entity& Ifc4x3_rc3::IfcRelAssociatesMaterial::declaration() const { return *IFC4X3_RC3_IfcRelAssociatesMaterial_type; } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssociatesMaterial::Class() { return *IFC4X3_RC3_IfcRelAssociatesMaterial_type; } Ifc4x3_rc3::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcRelAssociatesMaterial_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelAssociatesMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingMaterial));data_->setArgument(5,attr);} } +Ifc4x3_rc3::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelAssociatesMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingMaterial));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesProfileDef ::Ifc4x3_rc3::IfcProfileDef* Ifc4x3_rc3::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcProfileDef>(true); } @@ -20235,7 +20235,7 @@ void Ifc4x3_rc3::IfcRelAssociatesProfileDef::setRelatingProfileDef(::Ifc4x3_rc3: const IfcParse::entity& Ifc4x3_rc3::IfcRelAssociatesProfileDef::declaration() const { return *IFC4X3_RC3_IfcRelAssociatesProfileDef_type; } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssociatesProfileDef::Class() { return *IFC4X3_RC3_IfcRelAssociatesProfileDef_type; } Ifc4x3_rc3::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcRelAssociatesProfileDef_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcProfileDef* v6_RelatingProfileDef) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelAssociatesProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingProfileDef));data_->setArgument(5,attr);} } +Ifc4x3_rc3::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcProfileDef* v6_RelatingProfileDef) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelAssociatesProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingProfileDef));data_->setArgument(5,attr);} } // Function implementations for IfcRelConnects @@ -20394,14 +20394,14 @@ Ifc4x3_rc3::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::If // Function implementations for IfcRelDeclares ::Ifc4x3_rc3::IfcContext* Ifc4x3_rc3::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcContext>(true); } void Ifc4x3_rc3::IfcRelDeclares::setRelatingContext(::Ifc4x3_rc3::IfcContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -aggregate_of_instance::ptr Ifc4x3_rc3::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr v = *data_->getArgument(5); return v; } -void Ifc4x3_rc3::IfcRelDeclares::setRelatedDefinitions(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } +aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr Ifc4x3_rc3::IfcRelDeclares::RelatedDefinitions() const { aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v = *data_->getArgument(5); return v; } +void Ifc4x3_rc3::IfcRelDeclares::setRelatedDefinitions(aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcRelDeclares::declaration() const { return *IFC4X3_RC3_IfcRelDeclares_type; } const IfcParse::entity& Ifc4x3_rc3::IfcRelDeclares::Class() { return *IFC4X3_RC3_IfcRelDeclares_type; } Ifc4x3_rc3::IfcRelDeclares::IfcRelDeclares(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcRelDeclares_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcContext* v5_RelatingContext, aggregate_of_instance::ptr v6_RelatedDefinitions) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelDeclares_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingContext));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedDefinitions));data_->setArgument(5,attr);} } +Ifc4x3_rc3::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelDeclares_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingContext));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedDefinitions));data_->setArgument(5,attr);} } // Function implementations for IfcRelDecomposes @@ -20546,8 +20546,8 @@ Ifc4x3_rc3::IfcRelProjectsElement::IfcRelProjectsElement(IfcEntityInstanceData* Ifc4x3_rc3::IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcElement* v5_RelatingElement, ::Ifc4x3_rc3::IfcFeatureElementAddition* v6_RelatedFeatureElement) : IfcRelDecomposes((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelProjectsElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedFeatureElement));data_->setArgument(5,attr);} } // Function implementations for IfcRelReferencedInSpatialStructure -aggregate_of_instance::ptr Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +aggregate_of< ::Ifc4x3_rc3::IfcSpatialReferenceSelect >::ptr Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of< ::Ifc4x3_rc3::IfcSpatialReferenceSelect >::ptr v = *data_->getArgument(4); return v; } +void Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4x3_rc3::IfcSpatialReferenceSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } ::Ifc4x3_rc3::IfcSpatialElement* Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcSpatialElement>(true); } void Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc4x3_rc3::IfcSpatialElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20555,7 +20555,7 @@ void Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc4 const IfcParse::entity& Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::declaration() const { return *IFC4X3_RC3_IfcRelReferencedInSpatialStructure_type; } const IfcParse::entity& Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::Class() { return *IFC4X3_RC3_IfcRelReferencedInSpatialStructure_type; } Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(IfcEntityInstanceData* e) : IfcRelConnects((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcRelReferencedInSpatialStructure_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedElements, ::Ifc4x3_rc3::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelReferencedInSpatialStructure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedElements));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingStructure));data_->setArgument(5,attr);} } +Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcSpatialReferenceSelect >::ptr v5_RelatedElements, ::Ifc4x3_rc3::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelReferencedInSpatialStructure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedElements));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingStructure));data_->setArgument(5,attr);} } // Function implementations for IfcRelSequence ::Ifc4x3_rc3::IfcProcess* Ifc4x3_rc3::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcProcess>(true); } @@ -20727,8 +20727,8 @@ Ifc4x3_rc3::IfcResource::IfcResource(IfcEntityInstanceData* e) : IfcObject((IfcE Ifc4x3_rc3::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc4x3_rc3::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((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_LongDescription));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcResourceApprovalRelationship -aggregate_of_instance::ptr Ifc4x3_rc3::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr Ifc4x3_rc3::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x3_rc3::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4x3_rc3::IfcApproval* Ifc4x3_rc3::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcApproval>(true); } void Ifc4x3_rc3::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x3_rc3::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -20736,19 +20736,19 @@ void Ifc4x3_rc3::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x3_r const IfcParse::entity& Ifc4x3_rc3::IfcResourceApprovalRelationship::declaration() const { return *IFC4X3_RC3_IfcResourceApprovalRelationship_type; } const IfcParse::entity& Ifc4x3_rc3::IfcResourceApprovalRelationship::Class() { return *IFC4X3_RC3_IfcResourceApprovalRelationship_type; } Ifc4x3_rc3::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcResourceApprovalRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_RelatedResourceObjects, ::Ifc4x3_rc3::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcResourceApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatedResourceObjects));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatingApproval));data_->setArgument(3,attr);} } +Ifc4x3_rc3::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x3_rc3::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcResourceApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatedResourceObjects));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatingApproval));data_->setArgument(3,attr);} } // Function implementations for IfcResourceConstraintRelationship ::Ifc4x3_rc3::IfcConstraint* Ifc4x3_rc3::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcConstraint>(true); } void Ifc4x3_rc3::IfcResourceConstraintRelationship::setRelatingConstraint(::Ifc4x3_rc3::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -aggregate_of_instance::ptr Ifc4x3_rc3::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } -void Ifc4x3_rc3::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr Ifc4x3_rc3::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr v = *data_->getArgument(3); return v; } +void Ifc4x3_rc3::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcResourceConstraintRelationship::declaration() const { return *IFC4X3_RC3_IfcResourceConstraintRelationship_type; } const IfcParse::entity& Ifc4x3_rc3::IfcResourceConstraintRelationship::Class() { return *IFC4X3_RC3_IfcResourceConstraintRelationship_type; } Ifc4x3_rc3::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcResourceConstraintRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcConstraint* v3_RelatingConstraint, aggregate_of_instance::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcResourceConstraintRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingConstraint));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } +Ifc4x3_rc3::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcResourceConstraintRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingConstraint));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } // Function implementations for IfcResourceLevelRelationship boost::optional< std::string > Ifc4x3_rc3::IfcResourceLevelRelationship::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -21158,14 +21158,14 @@ Ifc4x3_rc3::IfcShapeRepresentation::IfcShapeRepresentation(IfcEntityInstanceData Ifc4x3_rc3::IfcShapeRepresentation::IfcShapeRepresentation(::Ifc4x3_rc3::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_rc3::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcShapeRepresentation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ContextOfItems));data_->setArgument(0,attr);} if (v2_RepresentationIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_RepresentationIdentifier));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_RepresentationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_RepresentationType));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Items)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcShellBasedSurfaceModel -aggregate_of_instance::ptr Ifc4x3_rc3::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc3::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc3::IfcShell >::ptr Ifc4x3_rc3::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of< ::Ifc4x3_rc3::IfcShell >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x3_rc3::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of< ::Ifc4x3_rc3::IfcShell >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcShellBasedSurfaceModel::declaration() const { return *IFC4X3_RC3_IfcShellBasedSurfaceModel_type; } const IfcParse::entity& Ifc4x3_rc3::IfcShellBasedSurfaceModel::Class() { return *IFC4X3_RC3_IfcShellBasedSurfaceModel_type; } Ifc4x3_rc3::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcShellBasedSurfaceModel_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of_instance::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcShellBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SbsmBoundary));data_->setArgument(0,attr);} } +Ifc4x3_rc3::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4x3_rc3::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcShellBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SbsmBoundary));data_->setArgument(0,attr);} } // Function implementations for IfcSign boost::optional< ::Ifc4x3_rc3::IfcSignTypeEnum::Value > Ifc4x3_rc3::IfcSign::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSignTypeEnum::FromString(*data_->getArgument(8)); } @@ -22126,14 +22126,14 @@ Ifc4x3_rc3::IfcSurfaceReinforcementArea::IfcSurfaceReinforcementArea(boost::opti // Function implementations for IfcSurfaceStyle ::Ifc4x3_rc3::IfcSurfaceSide::Value Ifc4x3_rc3::IfcSurfaceStyle::Side() const { return ::Ifc4x3_rc3::IfcSurfaceSide::FromString(*data_->getArgument(1)); } void Ifc4x3_rc3::IfcSurfaceStyle::setSide(::Ifc4x3_rc3::IfcSurfaceSide::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcSurfaceSide::ToString(v)));data_->setArgument(1,attr);} } -aggregate_of_instance::ptr Ifc4x3_rc3::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcSurfaceStyle::setStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_rc3::IfcSurfaceStyleElementSelect >::ptr Ifc4x3_rc3::IfcSurfaceStyle::Styles() const { aggregate_of< ::Ifc4x3_rc3::IfcSurfaceStyleElementSelect >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x3_rc3::IfcSurfaceStyle::setStyles(aggregate_of< ::Ifc4x3_rc3::IfcSurfaceStyleElementSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcSurfaceStyle::declaration() const { return *IFC4X3_RC3_IfcSurfaceStyle_type; } const IfcParse::entity& Ifc4x3_rc3::IfcSurfaceStyle::Class() { return *IFC4X3_RC3_IfcSurfaceStyle_type; } Ifc4x3_rc3::IfcSurfaceStyle::IfcSurfaceStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcSurfaceStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcSurfaceSide::Value v2_Side, aggregate_of_instance::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc4x3_rc3::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles));data_->setArgument(2,attr);} } +Ifc4x3_rc3::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x3_rc3::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc4x3_rc3::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles));data_->setArgument(2,attr);} } // Function implementations for IfcSurfaceStyleLighting ::Ifc4x3_rc3::IfcColourRgb* Ifc4x3_rc3::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcColourRgb>(true); } @@ -22388,8 +22388,8 @@ Ifc4x3_rc3::IfcTableColumn::IfcTableColumn(IfcEntityInstanceData* e) : IfcUtil:: Ifc4x3_rc3::IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, ::Ifc4x3_rc3::IfcUnit* v4_Unit, ::Ifc4x3_rc3::IfcReference* v5_ReferencePath) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTableColumn_type); if (v1_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Identifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Name));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_ReferencePath));data_->setArgument(4,attr);} } // Function implementations for IfcTableRow -boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc3::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc3::IfcTableRow::setRowCells(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > Ifc4x3_rc3::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x3_rc3::IfcTableRow::setRowCells(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< bool > Ifc4x3_rc3::IfcTableRow::IsHeading() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } bool v = *data_->getArgument(1); return v; } void Ifc4x3_rc3::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } @@ -22397,7 +22397,7 @@ void Ifc4x3_rc3::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrit const IfcParse::entity& Ifc4x3_rc3::IfcTableRow::declaration() const { return *IFC4X3_RC3_IfcTableRow_type; } const IfcParse::entity& Ifc4x3_rc3::IfcTableRow::Class() { return *IFC4X3_RC3_IfcTableRow_type; } Ifc4x3_rc3::IfcTableRow::IfcTableRow(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC3_IfcTableRow_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcTableRow::IfcTableRow(boost::optional< aggregate_of_instance::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTableRow_type); if (v1_RowCells) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RowCells));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_IsHeading) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_IsHeading));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } +Ifc4x3_rc3::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTableRow_type); if (v1_RowCells) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RowCells));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_IsHeading) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_IsHeading));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcTank boost::optional< ::Ifc4x3_rc3::IfcTankTypeEnum::Value > Ifc4x3_rc3::IfcTank::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcTankTypeEnum::FromString(*data_->getArgument(8)); } @@ -22825,14 +22825,14 @@ Ifc4x3_rc3::IfcTimeSeries::IfcTimeSeries(IfcEntityInstanceData* e) : IfcUtil::If Ifc4x3_rc3::IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc3::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc3::IfcUnit* v8_Unit) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTimeSeries_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_StartTime));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EndTime));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_TimeSeriesDataType,::Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType))));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v6_DataOrigin,::Ifc4x3_rc3::IfcDataOriginEnum::ToString(v6_DataOrigin))));data_->setArgument(5,attr);} if (v7_UserDefinedDataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_UserDefinedDataOrigin));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Unit));data_->setArgument(7,attr);} } // Function implementations for IfcTimeSeriesValue -aggregate_of_instance::ptr Ifc4x3_rc3::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc3::IfcTimeSeriesValue::setListValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr Ifc4x3_rc3::IfcTimeSeriesValue::ListValues() const { aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x3_rc3::IfcTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcTimeSeriesValue::declaration() const { return *IFC4X3_RC3_IfcTimeSeriesValue_type; } const IfcParse::entity& Ifc4x3_rc3::IfcTimeSeriesValue::Class() { return *IFC4X3_RC3_IfcTimeSeriesValue_type; } Ifc4x3_rc3::IfcTimeSeriesValue::IfcTimeSeriesValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC3_IfcTimeSeriesValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of_instance::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ListValues));data_->setArgument(0,attr);} } +Ifc4x3_rc3::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ListValues));data_->setArgument(0,attr);} } // Function implementations for IfcTopologicalRepresentationItem @@ -22967,10 +22967,10 @@ Ifc4x3_rc3::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(::I // Function implementations for IfcTrimmedCurve ::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcCurve>(true); } void Ifc4x3_rc3::IfcTrimmedCurve::setBasisCurve(::Ifc4x3_rc3::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of_instance::ptr Ifc4x3_rc3::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcTrimmedCurve::setTrim1(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -aggregate_of_instance::ptr Ifc4x3_rc3::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcTrimmedCurve::setTrim2(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_rc3::IfcTrimmingSelect >::ptr Ifc4x3_rc3::IfcTrimmedCurve::Trim1() const { aggregate_of< ::Ifc4x3_rc3::IfcTrimmingSelect >::ptr v = *data_->getArgument(1); return v; } +void Ifc4x3_rc3::IfcTrimmedCurve::setTrim1(aggregate_of< ::Ifc4x3_rc3::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_rc3::IfcTrimmingSelect >::ptr Ifc4x3_rc3::IfcTrimmedCurve::Trim2() const { aggregate_of< ::Ifc4x3_rc3::IfcTrimmingSelect >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x3_rc3::IfcTrimmedCurve::setTrim2(aggregate_of< ::Ifc4x3_rc3::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } bool Ifc4x3_rc3::IfcTrimmedCurve::SenseAgreement() const { bool v = *data_->getArgument(3); return v; } void Ifc4x3_rc3::IfcTrimmedCurve::setSenseAgreement(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x3_rc3::IfcTrimmingPreference::Value Ifc4x3_rc3::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4x3_rc3::IfcTrimmingPreference::FromString(*data_->getArgument(4)); } @@ -22980,7 +22980,7 @@ void Ifc4x3_rc3::IfcTrimmedCurve::setMasterRepresentation(::Ifc4x3_rc3::IfcTrimm const IfcParse::entity& Ifc4x3_rc3::IfcTrimmedCurve::declaration() const { return *IFC4X3_RC3_IfcTrimmedCurve_type; } const IfcParse::entity& Ifc4x3_rc3::IfcTrimmedCurve::Class() { return *IFC4X3_RC3_IfcTrimmedCurve_type; } Ifc4x3_rc3::IfcTrimmedCurve::IfcTrimmedCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcTrimmedCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3_rc3::IfcCurve* v1_BasisCurve, aggregate_of_instance::ptr v2_Trim1, aggregate_of_instance::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc3::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTrimmedCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Trim1));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Trim2));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SenseAgreement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_MasterRepresentation,::Ifc4x3_rc3::IfcTrimmingPreference::ToString(v5_MasterRepresentation))));data_->setArgument(4,attr);} } +Ifc4x3_rc3::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3_rc3::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_rc3::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x3_rc3::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc3::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTrimmedCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Trim1));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Trim2));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SenseAgreement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_MasterRepresentation,::Ifc4x3_rc3::IfcTrimmingPreference::ToString(v5_MasterRepresentation))));data_->setArgument(4,attr);} } // Function implementations for IfcTubeBundle boost::optional< ::Ifc4x3_rc3::IfcTubeBundleTypeEnum::Value > Ifc4x3_rc3::IfcTubeBundle::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcTubeBundleTypeEnum::FromString(*data_->getArgument(8)); } @@ -23081,14 +23081,14 @@ Ifc4x3_rc3::IfcUShapeProfileDef::IfcUShapeProfileDef(IfcEntityInstanceData* e) : Ifc4x3_rc3::IfcUShapeProfileDef::IfcUShapeProfileDef(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::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((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcUShapeProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4x3_rc3::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_FlangeWidth));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_WebThickness));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_FlangeThickness));data_->setArgument(6,attr);} if (v8_FilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_FilletRadius));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_EdgeRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_EdgeRadius));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_FlangeSlope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_FlangeSlope));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcUnitAssignment -aggregate_of_instance::ptr Ifc4x3_rc3::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc3::IfcUnitAssignment::setUnits(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc3::IfcUnit >::ptr Ifc4x3_rc3::IfcUnitAssignment::Units() const { aggregate_of< ::Ifc4x3_rc3::IfcUnit >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x3_rc3::IfcUnitAssignment::setUnits(aggregate_of< ::Ifc4x3_rc3::IfcUnit >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcUnitAssignment::declaration() const { return *IFC4X3_RC3_IfcUnitAssignment_type; } const IfcParse::entity& Ifc4x3_rc3::IfcUnitAssignment::Class() { return *IFC4X3_RC3_IfcUnitAssignment_type; } Ifc4x3_rc3::IfcUnitAssignment::IfcUnitAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC3_IfcUnitAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcUnitAssignment::IfcUnitAssignment(aggregate_of_instance::ptr v1_Units) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcUnitAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Units));data_->setArgument(0,attr);} } +Ifc4x3_rc3::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4x3_rc3::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcUnitAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Units));data_->setArgument(0,attr);} } // Function implementations for IfcUnitaryControlElement boost::optional< ::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Value > Ifc4x3_rc3::IfcUnitaryControlElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::FromString(*data_->getArgument(8)); } diff --git a/src/ifcparse/Ifc4x3_rc3.h b/src/ifcparse/Ifc4x3_rc3.h index 0ba741a6e1..7e751ad9c4 100644 --- a/src/ifcparse/Ifc4x3_rc3.h +++ b/src/ifcparse/Ifc4x3_rc3.h @@ -11024,12 +11024,12 @@ public: std::string TimeStamp() const; void setTimeStamp(std::string v); /// A list of time-series values. At least one value is required. - aggregate_of_instance::ptr ListValues() const; - void setListValues(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr ListValues() const; + void setListValues(aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcIrregularTimeSeriesValue (IfcEntityInstanceData* e); - IfcIrregularTimeSeriesValue (std::string v1_TimeStamp, aggregate_of_instance::ptr v2_ListValues); + IfcIrregularTimeSeriesValue (std::string v1_TimeStamp, aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v2_ListValues); typedef aggregate_of< 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. @@ -11207,15 +11207,15 @@ public: class IFC_PARSE_API IfcMaterialClassificationRelationship : public IfcUtil::IfcBaseEntity { public: /// The material classifications identifying the type of material. - aggregate_of_instance::ptr MaterialClassifications() const; - void setMaterialClassifications(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc3::IfcClassificationSelect >::ptr MaterialClassifications() const; + void setMaterialClassifications(aggregate_of< ::Ifc4x3_rc3::IfcClassificationSelect >::ptr v); /// Material being classified. ::Ifc4x3_rc3::IfcMaterial* ClassifiedMaterial() const; void setClassifiedMaterial(::Ifc4x3_rc3::IfcMaterial* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcMaterialClassificationRelationship (IfcEntityInstanceData* e); - IfcMaterialClassificationRelationship (aggregate_of_instance::ptr v1_MaterialClassifications, ::Ifc4x3_rc3::IfcMaterial* v2_ClassifiedMaterial); + IfcMaterialClassificationRelationship (aggregate_of< ::Ifc4x3_rc3::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x3_rc3::IfcMaterial* v2_ClassifiedMaterial); typedef aggregate_of< IfcMaterialClassificationRelationship > list; }; /// IfcMaterialDefinition is a general supertype for all @@ -12006,15 +12006,15 @@ public: boost::optional< std::string > Description() const; void setDescription(boost::optional< std::string > v); /// The set of layered items, which are assigned to this layer. - aggregate_of_instance::ptr AssignedItems() const; - void setAssignedItems(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc3::IfcLayeredItem >::ptr AssignedItems() const; + void setAssignedItems(aggregate_of< ::Ifc4x3_rc3::IfcLayeredItem >::ptr v); /// An (internal) identifier assigned to the layer. boost::optional< std::string > Identifier() const; void setIdentifier(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPresentationLayerAssignment (IfcEntityInstanceData* e); - IfcPresentationLayerAssignment (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier); + IfcPresentationLayerAssignment (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc3::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier); typedef aggregate_of< IfcPresentationLayerAssignment > list; }; /// An IfcPresentationLayerAssignmentWithStyle extends the presentation layer assignment with capabilities to define visibility control, access control and common style information. @@ -12051,7 +12051,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPresentationLayerWithStyle (IfcEntityInstanceData* e); - IfcPresentationLayerWithStyle (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_rc3::IfcPresentationStyle >::ptr v8_LayerStyles); + IfcPresentationLayerWithStyle (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc3::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_rc3::IfcPresentationStyle >::ptr v8_LayerStyles); typedef aggregate_of< 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. @@ -12399,15 +12399,15 @@ public: std::string Name() const; void setName(std::string v); /// List of values that form the enumeration. - aggregate_of_instance::ptr EnumerationValues() const; - void setEnumerationValues(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr EnumerationValues() const; + void setEnumerationValues(aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v); /// 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. ::Ifc4x3_rc3::IfcUnit* Unit() const; void setUnit(::Ifc4x3_rc3::IfcUnit* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyEnumeration (IfcEntityInstanceData* e); - IfcPropertyEnumeration (std::string v1_Name, aggregate_of_instance::ptr v2_EnumerationValues, ::Ifc4x3_rc3::IfcUnit* v3_Unit); + IfcPropertyEnumeration (std::string v1_Name, aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x3_rc3::IfcUnit* v3_Unit); typedef aggregate_of< 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. @@ -13318,12 +13318,12 @@ public: ::Ifc4x3_rc3::IfcSurfaceSide::Value Side() const; void setSide(::Ifc4x3_rc3::IfcSurfaceSide::Value v); /// A collection of different surface styles. - aggregate_of_instance::ptr Styles() const; - void setStyles(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc3::IfcSurfaceStyleElementSelect >::ptr Styles() const; + void setStyles(aggregate_of< ::Ifc4x3_rc3::IfcSurfaceStyleElementSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSurfaceStyle (IfcEntityInstanceData* e); - IfcSurfaceStyle (boost::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcSurfaceSide::Value v2_Side, aggregate_of_instance::ptr v3_Styles); + IfcSurfaceStyle (boost::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x3_rc3::IfcSurfaceStyleElementSelect >::ptr v3_Styles); typedef aggregate_of< IfcSurfaceStyle > list; }; /// IfcSurfaceStyleLighting is a container class for properties for calculation of physically exact illuminance related to a particular surface style. @@ -13632,15 +13632,15 @@ public: class IFC_PARSE_API IfcTableRow : public IfcUtil::IfcBaseEntity { public: /// The data value of the table cell.. - boost::optional< aggregate_of_instance::ptr > RowCells() const; - void setRowCells(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > RowCells() const; + void setRowCells(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::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. boost::optional< bool > IsHeading() const; void setIsHeading(boost::optional< bool > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTableRow (IfcEntityInstanceData* e); - IfcTableRow (boost::optional< aggregate_of_instance::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading); + IfcTableRow (boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading); typedef aggregate_of< IfcTableRow > list; }; /// IfcTaskTime captures the time-related information about a task including the different types (actual or scheduled) of starting and ending times. @@ -14189,12 +14189,12 @@ public: class IFC_PARSE_API IfcTimeSeriesValue : public IfcUtil::IfcBaseEntity { public: /// A list of time-series values. At least one value is required. - aggregate_of_instance::ptr ListValues() const; - void setListValues(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr ListValues() const; + void setListValues(aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTimeSeriesValue (IfcEntityInstanceData* e); - IfcTimeSeriesValue (aggregate_of_instance::ptr v1_ListValues); + IfcTimeSeriesValue (aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v1_ListValues); typedef aggregate_of< IfcTimeSeriesValue > list; }; /// Definition from ISO/CD 10303-42:1992: The topological representation item is the supertype for all the topological representation items in the geometry resource. @@ -14260,12 +14260,12 @@ public: class IFC_PARSE_API IfcUnitAssignment : public IfcUtil::IfcBaseEntity { public: /// Units to be included within a unit assignment. - aggregate_of_instance::ptr Units() const; - void setUnits(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc3::IfcUnit >::ptr Units() const; + void setUnits(aggregate_of< ::Ifc4x3_rc3::IfcUnit >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcUnitAssignment (IfcEntityInstanceData* e); - IfcUnitAssignment (aggregate_of_instance::ptr v1_Units); + IfcUnitAssignment (aggregate_of< ::Ifc4x3_rc3::IfcUnit >::ptr v1_Units); typedef aggregate_of< IfcUnitAssignment > list; }; /// Definition from ISO/CD 10303-42:1992: A vertex is the topological construct corresponding to a point. It has dimensionality 0 and extent 0. The domain of a vertex, if present, is a point in m dimensional real space RM; this is represented by the vertex point subtype. @@ -15287,8 +15287,8 @@ public: ::Ifc4x3_rc3::IfcActorSelect* DocumentOwner() const; void setDocumentOwner(::Ifc4x3_rc3::IfcActorSelect* v); /// The persons and/or organizations who have created this document or contributed to it. - boost::optional< aggregate_of_instance::ptr > Editors() const; - void setEditors(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcActorSelect >::ptr > Editors() const; + void setEditors(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcActorSelect >::ptr > v); /// 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. @@ -15329,7 +15329,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcDocumentInformation (IfcEntityInstanceData* e); - 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, ::Ifc4x3_rc3::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of_instance::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< ::Ifc4x3_rc3::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_rc3::IfcDocumentStatusEnum::Value > 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, ::Ifc4x3_rc3::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcActorSelect >::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< ::Ifc4x3_rc3::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_rc3::IfcDocumentStatusEnum::Value > v17_Status); typedef aggregate_of< IfcDocumentInformation > list; }; /// An IfcDocumentInformationRelationship is a relationship class that enables a document to have the ability to reference other documents. @@ -15570,12 +15570,12 @@ public: ::Ifc4x3_rc3::IfcExternalReference* RelatingReference() const; void setRelatingReference(::Ifc4x3_rc3::IfcExternalReference* v); /// Objects within the list of IfcResourceObjectSelect that can be tagged by an external reference to a dictionary, library, catalogue, classification or documentation. - aggregate_of_instance::ptr RelatedResourceObjects() const; - void setRelatedResourceObjects(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr RelatedResourceObjects() const; + void setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcExternalReferenceRelationship (IfcEntityInstanceData* e); - IfcExternalReferenceRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcExternalReference* v3_RelatingReference, aggregate_of_instance::ptr v4_RelatedResourceObjects); + IfcExternalReferenceRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects); typedef aggregate_of< IfcExternalReferenceRelationship > list; }; /// Definition from ISO/CD 10303-42:1992: A face is a topological @@ -15786,14 +15786,14 @@ public: class IFC_PARSE_API IfcFillAreaStyle : public IfcPresentationStyle { public: /// The set of fill area styles to use in presenting visible curve segments, annotation fill areas or surfaces. - aggregate_of_instance::ptr FillStyles() const; - void setFillStyles(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc3::IfcFillStyleSelect >::ptr FillStyles() const; + void setFillStyles(aggregate_of< ::Ifc4x3_rc3::IfcFillStyleSelect >::ptr v); boost::optional< bool > ModelOrDraughting() const; void setModelOrDraughting(boost::optional< bool > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcFillAreaStyle (IfcEntityInstanceData* e); - IfcFillAreaStyle (boost::optional< std::string > v1_Name, aggregate_of_instance::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting); + IfcFillAreaStyle (boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_rc3::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting); typedef aggregate_of< IfcFillAreaStyle > list; }; /// Definition from ISO/CD 10303-42:1992: A geometric @@ -15947,12 +15947,12 @@ public: class IFC_PARSE_API 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. - aggregate_of_instance::ptr Elements() const; - void setElements(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc3::IfcGeometricSetSelect >::ptr Elements() const; + void setElements(aggregate_of< ::Ifc4x3_rc3::IfcGeometricSetSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcGeometricSet (IfcEntityInstanceData* e); - IfcGeometricSet (aggregate_of_instance::ptr v1_Elements); + IfcGeometricSet (aggregate_of< ::Ifc4x3_rc3::IfcGeometricSetSelect >::ptr v1_Elements); typedef aggregate_of< IfcGeometricSet > list; }; /// IfcGridPlacement provides a specialization of IfcObjectPlacement in which @@ -17965,15 +17965,15 @@ public: class IFC_PARSE_API IfcResourceApprovalRelationship : public IfcResourceLevelRelationship { public: /// Resource objects that are approved. - aggregate_of_instance::ptr RelatedResourceObjects() const; - void setRelatedResourceObjects(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr RelatedResourceObjects() const; + void setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr v); /// The approval for the resource objects selected. ::Ifc4x3_rc3::IfcApproval* RelatingApproval() const; void setRelatingApproval(::Ifc4x3_rc3::IfcApproval* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcResourceApprovalRelationship (IfcEntityInstanceData* e); - IfcResourceApprovalRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_RelatedResourceObjects, ::Ifc4x3_rc3::IfcApproval* v4_RelatingApproval); + IfcResourceApprovalRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x3_rc3::IfcApproval* v4_RelatingApproval); typedef aggregate_of< IfcResourceApprovalRelationship > list; }; /// An IfcResourceConstraintRelationship is a relationship @@ -18002,12 +18002,12 @@ public: ::Ifc4x3_rc3::IfcConstraint* RelatingConstraint() const; void setRelatingConstraint(::Ifc4x3_rc3::IfcConstraint* v); /// The properties to which a constraint is to be related. - aggregate_of_instance::ptr RelatedResourceObjects() const; - void setRelatedResourceObjects(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr RelatedResourceObjects() const; + void setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcResourceConstraintRelationship (IfcEntityInstanceData* e); - IfcResourceConstraintRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcConstraint* v3_RelatingConstraint, aggregate_of_instance::ptr v4_RelatedResourceObjects); + IfcResourceConstraintRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects); typedef aggregate_of< IfcResourceConstraintRelationship > list; }; /// IfcResourceTime captures the time-related information about a construction resource. @@ -18264,12 +18264,12 @@ public: /// The shells shall not overlap or intersect except at common faces, edges or vertices. class IFC_PARSE_API IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { public: - aggregate_of_instance::ptr SbsmBoundary() const; - void setSbsmBoundary(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc3::IfcShell >::ptr SbsmBoundary() const; + void setSbsmBoundary(aggregate_of< ::Ifc4x3_rc3::IfcShell >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcShellBasedSurfaceModel (IfcEntityInstanceData* e); - IfcShellBasedSurfaceModel (aggregate_of_instance::ptr v1_SbsmBoundary); + IfcShellBasedSurfaceModel (aggregate_of< ::Ifc4x3_rc3::IfcShell >::ptr v1_SbsmBoundary); typedef aggregate_of< IfcShellBasedSurfaceModel > 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. @@ -21288,7 +21288,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcGeometricCurveSet (IfcEntityInstanceData* e); - IfcGeometricCurveSet (aggregate_of_instance::ptr v1_Elements); + IfcGeometricCurveSet (aggregate_of< ::Ifc4x3_rc3::IfcGeometricSetSelect >::ptr v1_Elements); typedef aggregate_of< IfcGeometricCurveSet > list; }; /// IfcIShapeProfileDef @@ -22434,15 +22434,15 @@ 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. - boost::optional< aggregate_of_instance::ptr > EnumerationValues() const; - void setEnumerationValues(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > EnumerationValues() const; + void setEnumerationValues(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v); /// Enumeration from which a enumeration value has been selected. The referenced enumeration also establishes the unit of the enumeration value. ::Ifc4x3_rc3::IfcPropertyEnumeration* EnumerationReference() const; void setEnumerationReference(::Ifc4x3_rc3::IfcPropertyEnumeration* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyEnumeratedValue (IfcEntityInstanceData* e); - IfcPropertyEnumeratedValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of_instance::ptr > v3_EnumerationValues, ::Ifc4x3_rc3::IfcPropertyEnumeration* v4_EnumerationReference); + IfcPropertyEnumeratedValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x3_rc3::IfcPropertyEnumeration* v4_EnumerationReference); typedef aggregate_of< IfcPropertyEnumeratedValue > list; }; /// An IfcPropertyListValue @@ -22515,15 +22515,15 @@ public: /// List of property values. /// /// IFC2x4 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. - boost::optional< aggregate_of_instance::ptr > ListValues() const; - void setListValues(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > ListValues() const; + void setListValues(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v); /// 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. ::Ifc4x3_rc3::IfcUnit* Unit() const; void setUnit(::Ifc4x3_rc3::IfcUnit* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyListValue (IfcEntityInstanceData* e); - IfcPropertyListValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of_instance::ptr > v3_ListValues, ::Ifc4x3_rc3::IfcUnit* v4_Unit); + IfcPropertyListValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v3_ListValues, ::Ifc4x3_rc3::IfcUnit* v4_Unit); typedef aggregate_of< IfcPropertyListValue > list; }; /// IfcPropertyReferenceValue allows a property value to @@ -22863,13 +22863,13 @@ 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. - boost::optional< aggregate_of_instance::ptr > DefiningValues() const; - void setDefiningValues(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > DefiningValues() const; + void setDefiningValues(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::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. - boost::optional< aggregate_of_instance::ptr > DefinedValues() const; - void setDefinedValues(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > DefinedValues() const; + void setDefinedValues(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v); /// 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. boost::optional< std::string > Expression() const; void setExpression(boost::optional< std::string > v); @@ -22887,7 +22887,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyTableValue (IfcEntityInstanceData* e); - IfcPropertyTableValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of_instance::ptr > v3_DefiningValues, boost::optional< aggregate_of_instance::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_rc3::IfcUnit* v6_DefiningUnit, ::Ifc4x3_rc3::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_rc3::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation); + IfcPropertyTableValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_rc3::IfcUnit* v6_DefiningUnit, ::Ifc4x3_rc3::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_rc3::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation); typedef aggregate_of< IfcPropertyTableValue > list; }; /// The IfcPropertyTemplate is an abstract supertype @@ -23413,12 +23413,12 @@ 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. - aggregate_of_instance::ptr RelatedObjects() const; - void setRelatedObjects(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr RelatedObjects() const; + void setRelatedObjects(aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociates (IfcEntityInstanceData* e); - IfcRelAssociates (std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects); + IfcRelAssociates (std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v5_RelatedObjects); typedef aggregate_of< IfcRelAssociates > list; }; /// The entity IfcRelAssociatesApproval is used to apply approval information defined by IfcApproval, in IfcApprovalResource schema, to subtypes of IfcRoot. @@ -23432,7 +23432,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesApproval (IfcEntityInstanceData* e); - IfcRelAssociatesApproval (std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcApproval* v6_RelatingApproval); + IfcRelAssociatesApproval (std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcApproval* v6_RelatingApproval); typedef aggregate_of< IfcRelAssociatesApproval > list; }; /// The objectified relationship @@ -23473,7 +23473,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesClassification (IfcEntityInstanceData* e); - IfcRelAssociatesClassification (std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcClassificationSelect* v6_RelatingClassification); + IfcRelAssociatesClassification (std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcClassificationSelect* v6_RelatingClassification); typedef aggregate_of< IfcRelAssociatesClassification > list; }; /// The entity IfcRelAssociatesConstraint is used to apply constraint information defined by IfcConstraint, in the IfcConstraintResource schema, to subtypes of IfcRoot. @@ -23490,7 +23490,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesConstraint (IfcEntityInstanceData* e); - IfcRelAssociatesConstraint (std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_rc3::IfcConstraint* v7_RelatingConstraint); + IfcRelAssociatesConstraint (std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_rc3::IfcConstraint* v7_RelatingConstraint); typedef aggregate_of< 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). @@ -23508,7 +23508,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesDocument (IfcEntityInstanceData* e); - IfcRelAssociatesDocument (std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcDocumentSelect* v6_RelatingDocument); + IfcRelAssociatesDocument (std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcDocumentSelect* v6_RelatingDocument); typedef aggregate_of< IfcRelAssociatesDocument > list; }; /// The objectified relationship (IfcRelAssociatesLibrary) handles the assignment of a library item (items of the select IfcLibrarySelect) to subtypes of IfcObjectDefinition or IfcPropertyDefinition. @@ -23526,7 +23526,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesLibrary (IfcEntityInstanceData* e); - IfcRelAssociatesLibrary (std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcLibrarySelect* v6_RelatingLibrary); + IfcRelAssociatesLibrary (std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcLibrarySelect* v6_RelatingLibrary); typedef aggregate_of< IfcRelAssociatesLibrary > list; }; /// Definition from IAI: Objectified relationship between a @@ -23631,7 +23631,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesMaterial (IfcEntityInstanceData* e); - IfcRelAssociatesMaterial (std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcMaterialSelect* v6_RelatingMaterial); + IfcRelAssociatesMaterial (std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcMaterialSelect* v6_RelatingMaterial); typedef aggregate_of< IfcRelAssociatesMaterial > list; }; @@ -23642,7 +23642,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesProfileDef (IfcEntityInstanceData* e); - IfcRelAssociatesProfileDef (std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcProfileDef* v6_RelatingProfileDef); + IfcRelAssociatesProfileDef (std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcProfileDef* v6_RelatingProfileDef); typedef aggregate_of< IfcRelAssociatesProfileDef > 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. @@ -24115,12 +24115,12 @@ public: ::Ifc4x3_rc3::IfcContext* RelatingContext() const; void setRelatingContext(::Ifc4x3_rc3::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. - aggregate_of_instance::ptr RelatedDefinitions() const; - void setRelatedDefinitions(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr RelatedDefinitions() const; + void setRelatedDefinitions(aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelDeclares (IfcEntityInstanceData* e); - IfcRelDeclares (std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcContext* v5_RelatingContext, aggregate_of_instance::ptr v6_RelatedDefinitions); + IfcRelDeclares (std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v6_RelatedDefinitions); typedef aggregate_of< IfcRelDeclares > list; }; /// The decomposition relationship, @@ -24633,8 +24633,8 @@ class IFC_PARSE_API IfcRelReferencedInSpatialStructure : public IfcRelConnects public: /// Set of products, which are referenced within this level of the spatial structure hierarchy. /// NOTE  Referenced elements are contained elsewhere within the spatial structure, they are referenced additionally by this spatial structure element, e.g., because they span several stories. - aggregate_of_instance::ptr RelatedElements() const; - void setRelatedElements(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc3::IfcSpatialReferenceSelect >::ptr RelatedElements() const; + void setRelatedElements(aggregate_of< ::Ifc4x3_rc3::IfcSpatialReferenceSelect >::ptr v); /// Spatial structure element, within which the element is referenced. Any element can be contained within zero, one or many elements of the project spatial and zoning structure. /// /// IFC2x Edition 4 CHANGE  The attribute relatingStructure as been promoted to the new supertype IfcSpatialElement with upward compatibility for file based exchange. @@ -24643,7 +24643,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelReferencedInSpatialStructure (IfcEntityInstanceData* e); - IfcRelReferencedInSpatialStructure (std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedElements, ::Ifc4x3_rc3::IfcSpatialElement* v6_RelatingStructure); + IfcRelReferencedInSpatialStructure (std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcSpatialReferenceSelect >::ptr v5_RelatedElements, ::Ifc4x3_rc3::IfcSpatialElement* v6_RelatingStructure); typedef aggregate_of< IfcRelReferencedInSpatialStructure > list; }; /// IfcRelSequence is a @@ -31217,14 +31217,14 @@ class IFC_PARSE_API IfcIndexedPolyCurve : public IfcBoundedCurve { public: ::Ifc4x3_rc3::IfcCartesianPointList* Points() const; void setPoints(::Ifc4x3_rc3::IfcCartesianPointList* v); - boost::optional< aggregate_of_instance::ptr > Segments() const; - void setSegments(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcSegmentIndexSelect >::ptr > Segments() const; + void setSegments(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcSegmentIndexSelect >::ptr > v); boost::optional< bool > SelfIntersect() const; void setSelfIntersect(boost::optional< bool > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcIndexedPolyCurve (IfcEntityInstanceData* e); - IfcIndexedPolyCurve (::Ifc4x3_rc3::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of_instance::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect); + IfcIndexedPolyCurve (::Ifc4x3_rc3::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect); typedef aggregate_of< IfcIndexedPolyCurve > list; }; /// The flow treatment device type IfcInterceptorType defines commonly shared information for occurrences of interceptors. The set of shared information may include: @@ -33348,12 +33348,12 @@ public: void setTransverseBarSpacing(boost::optional< double > v); boost::optional< std::string > BendingShapeCode() const; void setBendingShapeCode(boost::optional< std::string > v); - boost::optional< aggregate_of_instance::ptr > BendingParameters() const; - void setBendingParameters(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcBendingParameterSelect >::ptr > BendingParameters() const; + void setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcBendingParameterSelect >::ptr > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcReinforcingMeshType (IfcEntityInstanceData* e); - IfcReinforcingMeshType (std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of_instance::ptr > v20_BendingParameters); + IfcReinforcingMeshType (std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of< ::Ifc4x3_rc3::IfcBendingParameterSelect >::ptr > v20_BendingParameters); typedef aggregate_of< IfcReinforcingMeshType > list; }; /// The aggregation relationship @@ -35656,11 +35656,11 @@ public: ::Ifc4x3_rc3::IfcCurve* BasisCurve() const; void setBasisCurve(::Ifc4x3_rc3::IfcCurve* v); /// The first trimming point which may be specified as a Cartesian point, as a real parameter or both. - aggregate_of_instance::ptr Trim1() const; - void setTrim1(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc3::IfcTrimmingSelect >::ptr Trim1() const; + void setTrim1(aggregate_of< ::Ifc4x3_rc3::IfcTrimmingSelect >::ptr v); /// The second trimming point which may be specified as a Cartesian point, as a real parameter or both. - aggregate_of_instance::ptr Trim2() const; - void setTrim2(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc3::IfcTrimmingSelect >::ptr Trim2() const; + void setTrim2(aggregate_of< ::Ifc4x3_rc3::IfcTrimmingSelect >::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); @@ -35670,7 +35670,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTrimmedCurve (IfcEntityInstanceData* e); - IfcTrimmedCurve (::Ifc4x3_rc3::IfcCurve* v1_BasisCurve, aggregate_of_instance::ptr v2_Trim1, aggregate_of_instance::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc3::IfcTrimmingPreference::Value v5_MasterRepresentation); + IfcTrimmedCurve (::Ifc4x3_rc3::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_rc3::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x3_rc3::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc3::IfcTrimmingPreference::Value v5_MasterRepresentation); typedef aggregate_of< IfcTrimmedCurve > list; }; /// The energy conversion device type IfcTubeBundleType defines commonly shared information for occurrences of tube bundles. The set of shared information may include: @@ -44506,12 +44506,12 @@ public: void setBarSurface(boost::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > v); boost::optional< std::string > BendingShapeCode() const; void setBendingShapeCode(boost::optional< std::string > v); - boost::optional< aggregate_of_instance::ptr > BendingParameters() const; - void setBendingParameters(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcBendingParameterSelect >::ptr > BendingParameters() const; + void setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcBendingParameterSelect >::ptr > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcReinforcingBarType (IfcEntityInstanceData* e); - IfcReinforcingBarType (std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of_instance::ptr > v16_BendingParameters); + IfcReinforcingBarType (std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcBendingParameterSelect >::ptr > v16_BendingParameters); typedef aggregate_of< IfcReinforcingBarType > list; }; /// Definition from ISO 6707-1:1989: Construction enclosing the building from above. diff --git a/src/ifcparse/Ifc4x3_rc4-definitions.h b/src/ifcparse/Ifc4x3_rc4-definitions.h index eaf23341c5..ad6e1c1eaf 100644 --- a/src/ifcparse/Ifc4x3_rc4-definitions.h +++ b/src/ifcparse/Ifc4x3_rc4-definitions.h @@ -4017,3 +4017,53 @@ #define SCHEMA_HAS_IfcZone #define SCHEMA_IfcZone_HAS_LongName #define SCHEMA_IfcZone_LongName_IS_OPTIONAL +#define SCHEMA_HAS_IfcRepresentationContextSameWCS +#define SCHEMA_HAS_IfcSingleProjectInstance +#define SCHEMA_HAS_IfcAssociatedSurface +#define SCHEMA_HAS_IfcBaseAxis +#define SCHEMA_HAS_IfcBooleanChoose +#define SCHEMA_HAS_IfcBuild2Axes +#define SCHEMA_HAS_IfcBuildAxes +#define SCHEMA_HAS_IfcConsecutiveSegments +#define SCHEMA_HAS_IfcConstraintsParamBSpline +#define SCHEMA_HAS_IfcConvertDirectionInto2D +#define SCHEMA_HAS_IfcCorrectDimensions +#define SCHEMA_HAS_IfcCorrectFillAreaStyle +#define SCHEMA_HAS_IfcCorrectLocalPlacement +#define SCHEMA_HAS_IfcCorrectObjectAssignment +#define SCHEMA_HAS_IfcCorrectUnitAssignment +#define SCHEMA_HAS_IfcCrossProduct +#define SCHEMA_HAS_IfcCurveDim +#define SCHEMA_HAS_IfcCurveWeightsPositive +#define SCHEMA_HAS_IfcDeriveDimensionalExponents +#define SCHEMA_HAS_IfcDimensionsForSiUnit +#define SCHEMA_HAS_IfcDotProduct +#define SCHEMA_HAS_IfcFirstProjAxis +#define SCHEMA_HAS_IfcGetBasisSurface +#define SCHEMA_HAS_IfcGradient +#define SCHEMA_HAS_IfcListToArray +#define SCHEMA_HAS_IfcLoopHeadToTail +#define SCHEMA_HAS_IfcMakeArrayOfArray +#define SCHEMA_HAS_IfcMlsTotalThickness +#define SCHEMA_HAS_IfcNormalise +#define SCHEMA_HAS_IfcOrthogonalComplement +#define SCHEMA_HAS_IfcPathHeadToTail +#define SCHEMA_HAS_IfcPointListDim +#define SCHEMA_HAS_IfcSameAxis2Placement +#define SCHEMA_HAS_IfcSameCartesianPoint +#define SCHEMA_HAS_IfcSameDirection +#define SCHEMA_HAS_IfcSameValidPrecision +#define SCHEMA_HAS_IfcSameValue +#define SCHEMA_HAS_IfcScalarTimesVector +#define SCHEMA_HAS_IfcSecondProjAxis +#define SCHEMA_HAS_IfcShapeRepresentationTypes +#define SCHEMA_HAS_IfcSurfaceWeightsPositive +#define SCHEMA_HAS_IfcTaperedSweptAreaProfiles +#define SCHEMA_HAS_IfcTopologyRepresentationTypes +#define SCHEMA_HAS_IfcUniqueDefinitionNames +#define SCHEMA_HAS_IfcUniquePropertyName +#define SCHEMA_HAS_IfcUniquePropertySetNames +#define SCHEMA_HAS_IfcUniquePropertyTemplateNames +#define SCHEMA_HAS_IfcUniqueQuantityNames +#define SCHEMA_HAS_IfcVectorDifference +#define SCHEMA_HAS_IfcVectorSum diff --git a/src/ifcparse/Ifc4x3_rc4.cpp b/src/ifcparse/Ifc4x3_rc4.cpp index 64058b2c9d..47c04e0bf4 100644 --- a/src/ifcparse/Ifc4x3_rc4.cpp +++ b/src/ifcparse/Ifc4x3_rc4.cpp @@ -15705,8 +15705,8 @@ boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::Revision() co void Ifc4x3_rc4::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcDocumentInformation::DocumentOwner() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc4::IfcActorSelect>(true); } void Ifc4x3_rc4::IfcDocumentInformation::setDocumentOwner(::Ifc4x3_rc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc4::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(9); return v; } -void Ifc4x3_rc4::IfcDocumentInformation::setEditors(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorSelect >::ptr > Ifc4x3_rc4::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc4::IfcActorSelect >::ptr v = *data_->getArgument(9); return v; } +void Ifc4x3_rc4::IfcDocumentInformation::setEditors(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::CreationTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } void Ifc4x3_rc4::IfcDocumentInformation::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::LastRevisionTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } @@ -15730,7 +15730,7 @@ void Ifc4x3_rc4::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x3_rc4 const IfcParse::entity& Ifc4x3_rc4::IfcDocumentInformation::declaration() const { return *IFC4X3_RC4_IfcDocumentInformation_type; } const IfcParse::entity& Ifc4x3_rc4::IfcDocumentInformation::Class() { return *IFC4X3_RC4_IfcDocumentInformation_type; } Ifc4x3_rc4::IfcDocumentInformation::IfcDocumentInformation(IfcEntityInstanceData* e) : IfcExternalInformation((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcDocumentInformation_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::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, ::Ifc4x3_rc4::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of_instance::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< ::Ifc4x3_rc4::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_rc4::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Identification));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Location));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CreationTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LastRevisionTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LastRevisionTime));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ElectronicFormat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ElectronicFormat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ValidFrom) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ValidFrom));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ValidUntil) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ValidUntil));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc4x3_rc4::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc4x3_rc4::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } +Ifc4x3_rc4::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, ::Ifc4x3_rc4::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorSelect >::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< ::Ifc4x3_rc4::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_rc4::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Identification));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Location));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CreationTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LastRevisionTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LastRevisionTime));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ElectronicFormat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ElectronicFormat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ValidFrom) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ValidFrom));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ValidUntil) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ValidUntil));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc4x3_rc4::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc4x3_rc4::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } // Function implementations for IfcDocumentInformationRelationship ::Ifc4x3_rc4::IfcDocumentInformation* Ifc4x3_rc4::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcDocumentInformation>(true); } @@ -16425,14 +16425,14 @@ Ifc4x3_rc4::IfcExternalReference::IfcExternalReference(boost::optional< std::str // Function implementations for IfcExternalReferenceRelationship ::Ifc4x3_rc4::IfcExternalReference* Ifc4x3_rc4::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcExternalReference>(true); } void Ifc4x3_rc4::IfcExternalReferenceRelationship::setRelatingReference(::Ifc4x3_rc4::IfcExternalReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -aggregate_of_instance::ptr Ifc4x3_rc4::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr Ifc4x3_rc4::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr v = *data_->getArgument(3); return v; } +void Ifc4x3_rc4::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcExternalReferenceRelationship::declaration() const { return *IFC4X3_RC4_IfcExternalReferenceRelationship_type; } const IfcParse::entity& Ifc4x3_rc4::IfcExternalReferenceRelationship::Class() { return *IFC4X3_RC4_IfcExternalReferenceRelationship_type; } Ifc4x3_rc4::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcExternalReferenceRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcExternalReference* v3_RelatingReference, aggregate_of_instance::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcExternalReferenceRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingReference));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } +Ifc4x3_rc4::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcExternalReferenceRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingReference));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } // Function implementations for IfcExternalSpatialElement boost::optional< ::Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::Value > Ifc4x3_rc4::IfcExternalSpatialElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::FromString(*data_->getArgument(8)); } @@ -16677,8 +16677,8 @@ Ifc4x3_rc4::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcEntity Ifc4x3_rc4::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFeatureElementSubtraction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcFillAreaStyle -aggregate_of_instance::ptr Ifc4x3_rc4::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcFillAreaStyle::setFillStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcFillStyleSelect >::ptr Ifc4x3_rc4::IfcFillAreaStyle::FillStyles() const { aggregate_of< ::Ifc4x3_rc4::IfcFillStyleSelect >::ptr v = *data_->getArgument(1); return v; } +void Ifc4x3_rc4::IfcFillAreaStyle::setFillStyles(aggregate_of< ::Ifc4x3_rc4::IfcFillStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x3_rc4::IfcFillAreaStyle::ModelOrDraughting() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } void Ifc4x3_rc4::IfcFillAreaStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } @@ -16686,7 +16686,7 @@ void Ifc4x3_rc4::IfcFillAreaStyle::setModelOrDraughting(boost::optional< bool > const IfcParse::entity& Ifc4x3_rc4::IfcFillAreaStyle::declaration() const { return *IFC4X3_RC4_IfcFillAreaStyle_type; } const IfcParse::entity& Ifc4x3_rc4::IfcFillAreaStyle::Class() { return *IFC4X3_RC4_IfcFillAreaStyle_type; } Ifc4x3_rc4::IfcFillAreaStyle::IfcFillAreaStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcFillAreaStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of_instance::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles));data_->setArgument(1,attr);} if (v3_ModelOrDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ModelOrDraughting));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x3_rc4::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_rc4::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles));data_->setArgument(1,attr);} if (v3_ModelOrDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ModelOrDraughting));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcFillAreaStyleHatching ::Ifc4x3_rc4::IfcCurveStyle* Ifc4x3_rc4::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcCurveStyle>(true); } @@ -17006,7 +17006,7 @@ Ifc4x3_rc4::IfcGeographicElementType::IfcGeographicElementType(std::string v1_Gl const IfcParse::entity& Ifc4x3_rc4::IfcGeometricCurveSet::declaration() const { return *IFC4X3_RC4_IfcGeometricCurveSet_type; } const IfcParse::entity& Ifc4x3_rc4::IfcGeometricCurveSet::Class() { return *IFC4X3_RC4_IfcGeometricCurveSet_type; } Ifc4x3_rc4::IfcGeometricCurveSet::IfcGeometricCurveSet(IfcEntityInstanceData* e) : IfcGeometricSet((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcGeometricCurveSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of_instance::ptr v1_Elements) : IfcGeometricSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcGeometricCurveSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } +Ifc4x3_rc4::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4x3_rc4::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcGeometricCurveSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } // Function implementations for IfcGeometricRepresentationContext int Ifc4x3_rc4::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = *data_->getArgument(2); return v; } @@ -17051,14 +17051,14 @@ Ifc4x3_rc4::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubC Ifc4x3_rc4::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, ::Ifc4x3_rc4::IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, ::Ifc4x3_rc4::IfcGeometricProjectionEnum::Value v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcGeometricRepresentationSubContext_type); if (v1_ContextIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_ContextIdentifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_ContextType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ContextType));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ParentContext));data_->setArgument(6,attr);} if (v8_TargetScale) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_TargetScale));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_TargetView,::Ifc4x3_rc4::IfcGeometricProjectionEnum::ToString(v9_TargetView))));data_->setArgument(8,attr);} if (v10_UserDefinedTargetView) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_UserDefinedTargetView));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcGeometricSet -aggregate_of_instance::ptr Ifc4x3_rc4::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc4::IfcGeometricSet::setElements(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcGeometricSetSelect >::ptr Ifc4x3_rc4::IfcGeometricSet::Elements() const { aggregate_of< ::Ifc4x3_rc4::IfcGeometricSetSelect >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x3_rc4::IfcGeometricSet::setElements(aggregate_of< ::Ifc4x3_rc4::IfcGeometricSetSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcGeometricSet::declaration() const { return *IFC4X3_RC4_IfcGeometricSet_type; } const IfcParse::entity& Ifc4x3_rc4::IfcGeometricSet::Class() { return *IFC4X3_RC4_IfcGeometricSet_type; } Ifc4x3_rc4::IfcGeometricSet::IfcGeometricSet(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcGeometricSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcGeometricSet::IfcGeometricSet(aggregate_of_instance::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcGeometricSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } +Ifc4x3_rc4::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x3_rc4::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcGeometricSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } // Function implementations for IfcGeomodel @@ -17290,8 +17290,8 @@ Ifc4x3_rc4::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4x3_rc4::IfcTessellate // Function implementations for IfcIndexedPolyCurve ::Ifc4x3_rc4::IfcCartesianPointList* Ifc4x3_rc4::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcCartesianPointList>(true); } void Ifc4x3_rc4::IfcIndexedPolyCurve::setPoints(::Ifc4x3_rc4::IfcCartesianPointList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc4::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcSegmentIndexSelect >::ptr > Ifc4x3_rc4::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc4::IfcSegmentIndexSelect >::ptr v = *data_->getArgument(1); return v; } +void Ifc4x3_rc4::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcSegmentIndexSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x3_rc4::IfcIndexedPolyCurve::SelfIntersect() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } void Ifc4x3_rc4::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } @@ -17299,7 +17299,7 @@ void Ifc4x3_rc4::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v const IfcParse::entity& Ifc4x3_rc4::IfcIndexedPolyCurve::declaration() const { return *IFC4X3_RC4_IfcIndexedPolyCurve_type; } const IfcParse::entity& Ifc4x3_rc4::IfcIndexedPolyCurve::Class() { return *IFC4X3_RC4_IfcIndexedPolyCurve_type; } Ifc4x3_rc4::IfcIndexedPolyCurve::IfcIndexedPolyCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcIndexedPolyCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x3_rc4::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of_instance::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcIndexedPolyCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Points));data_->setArgument(0,attr);} if (v2_Segments) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Segments));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_SelfIntersect) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_SelfIntersect));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x3_rc4::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x3_rc4::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcIndexedPolyCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Points));data_->setArgument(0,attr);} if (v2_Segments) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Segments));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_SelfIntersect) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_SelfIntersect));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcIndexedPolygonalFace std::vector< int > /*[3:?]*/ Ifc4x3_rc4::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = *data_->getArgument(0); return v; } @@ -17405,14 +17405,14 @@ Ifc4x3_rc4::IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, // Function implementations for IfcIrregularTimeSeriesValue std::string Ifc4x3_rc4::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcIrregularTimeSeriesValue::setTimeStamp(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of_instance::ptr Ifc4x3_rc4::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcIrregularTimeSeriesValue::setListValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr Ifc4x3_rc4::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v = *data_->getArgument(1); return v; } +void Ifc4x3_rc4::IfcIrregularTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcIrregularTimeSeriesValue::declaration() const { return *IFC4X3_RC4_IfcIrregularTimeSeriesValue_type; } const IfcParse::entity& Ifc4x3_rc4::IfcIrregularTimeSeriesValue::Class() { return *IFC4X3_RC4_IfcIrregularTimeSeriesValue_type; } Ifc4x3_rc4::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC4_IfcIrregularTimeSeriesValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of_instance::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcIrregularTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TimeStamp));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ListValues));data_->setArgument(1,attr);} } +Ifc4x3_rc4::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcIrregularTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TimeStamp));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ListValues));data_->setArgument(1,attr);} } // Function implementations for IfcJunctionBox boost::optional< ::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Value > Ifc4x3_rc4::IfcJunctionBox::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::FromString(*data_->getArgument(8)); } @@ -17849,8 +17849,8 @@ Ifc4x3_rc4::IfcMaterial::IfcMaterial(IfcEntityInstanceData* e) : IfcMaterialDefi Ifc4x3_rc4::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_Category) : IfcMaterialDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Category) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Category));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcMaterialClassificationRelationship -aggregate_of_instance::ptr Ifc4x3_rc4::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc4::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcClassificationSelect >::ptr Ifc4x3_rc4::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of< ::Ifc4x3_rc4::IfcClassificationSelect >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x3_rc4::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of< ::Ifc4x3_rc4::IfcClassificationSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4x3_rc4::IfcMaterial* Ifc4x3_rc4::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcMaterial>(true); } void Ifc4x3_rc4::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc4x3_rc4::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -17858,7 +17858,7 @@ void Ifc4x3_rc4::IfcMaterialClassificationRelationship::setClassifiedMaterial(:: const IfcParse::entity& Ifc4x3_rc4::IfcMaterialClassificationRelationship::declaration() const { return *IFC4X3_RC4_IfcMaterialClassificationRelationship_type; } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialClassificationRelationship::Class() { return *IFC4X3_RC4_IfcMaterialClassificationRelationship_type; } Ifc4x3_rc4::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC4_IfcMaterialClassificationRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of_instance::ptr v1_MaterialClassifications, ::Ifc4x3_rc4::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMaterialClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialClassifications));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ClassifiedMaterial));data_->setArgument(1,attr);} } +Ifc4x3_rc4::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4x3_rc4::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x3_rc4::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMaterialClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialClassifications));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ClassifiedMaterial));data_->setArgument(1,attr);} } // Function implementations for IfcMaterialConstituent boost::optional< std::string > Ifc4x3_rc4::IfcMaterialConstituent::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -19114,8 +19114,8 @@ std::string Ifc4x3_rc4::IfcPresentationLayerAssignment::Name() const { std::str void Ifc4x3_rc4::IfcPresentationLayerAssignment::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcPresentationLayerAssignment::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } -aggregate_of_instance::ptr Ifc4x3_rc4::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcLayeredItem >::ptr Ifc4x3_rc4::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of< ::Ifc4x3_rc4::IfcLayeredItem >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of< ::Ifc4x3_rc4::IfcLayeredItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcPresentationLayerAssignment::Identifier() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } @@ -19123,7 +19123,7 @@ void Ifc4x3_rc4::IfcPresentationLayerAssignment::setIdentifier(boost::optional< const IfcParse::entity& Ifc4x3_rc4::IfcPresentationLayerAssignment::declaration() const { return *IFC4X3_RC4_IfcPresentationLayerAssignment_type; } const IfcParse::entity& Ifc4x3_rc4::IfcPresentationLayerAssignment::Class() { return *IFC4X3_RC4_IfcPresentationLayerAssignment_type; } Ifc4x3_rc4::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC4_IfcPresentationLayerAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPresentationLayerAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } +Ifc4x3_rc4::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc4::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPresentationLayerAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcPresentationLayerWithStyle boost::logic::tribool Ifc4x3_rc4::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = *data_->getArgument(4); return v; } @@ -19139,7 +19139,7 @@ void Ifc4x3_rc4::IfcPresentationLayerWithStyle::setLayerStyles(aggregate_of< ::I const IfcParse::entity& Ifc4x3_rc4::IfcPresentationLayerWithStyle::declaration() const { return *IFC4X3_RC4_IfcPresentationLayerWithStyle_type; } const IfcParse::entity& Ifc4x3_rc4::IfcPresentationLayerWithStyle::Class() { return *IFC4X3_RC4_IfcPresentationLayerWithStyle_type; } Ifc4x3_rc4::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcEntityInstanceData* e) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcPresentationLayerWithStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_rc4::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPresentationLayerWithStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_LayerOn));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LayerFrozen));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LayerBlocked));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LayerStyles)->generalize());data_->setArgument(7,attr);} } +Ifc4x3_rc4::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc4::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_rc4::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPresentationLayerWithStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_LayerOn));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LayerFrozen));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LayerBlocked));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LayerStyles)->generalize());data_->setArgument(7,attr);} } // Function implementations for IfcPresentationStyle boost::optional< std::string > Ifc4x3_rc4::IfcPresentationStyle::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -19371,8 +19371,8 @@ Ifc4x3_rc4::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship Ifc4x3_rc4::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcProperty* v3_DependingProperty, ::Ifc4x3_rc4::IfcProperty* v4_DependantProperty, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPropertyDependencyRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_DependingProperty));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_DependantProperty));data_->setArgument(3,attr);} if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcPropertyEnumeratedValue -boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc4::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > Ifc4x3_rc4::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc4::IfcPropertyEnumeration* Ifc4x3_rc4::IfcPropertyEnumeratedValue::EnumerationReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcPropertyEnumeration>(true); } void Ifc4x3_rc4::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x3_rc4::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19380,13 +19380,13 @@ void Ifc4x3_rc4::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x3_rc const IfcParse::entity& Ifc4x3_rc4::IfcPropertyEnumeratedValue::declaration() const { return *IFC4X3_RC4_IfcPropertyEnumeratedValue_type; } const IfcParse::entity& Ifc4x3_rc4::IfcPropertyEnumeratedValue::Class() { return *IFC4X3_RC4_IfcPropertyEnumeratedValue_type; } Ifc4x3_rc4::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcPropertyEnumeratedValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of_instance::ptr > v3_EnumerationValues, ::Ifc4x3_rc4::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPropertyEnumeratedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EnumerationValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EnumerationValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EnumerationReference));data_->setArgument(3,attr);} } +Ifc4x3_rc4::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x3_rc4::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPropertyEnumeratedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EnumerationValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EnumerationValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EnumerationReference));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyEnumeration std::string Ifc4x3_rc4::IfcPropertyEnumeration::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcPropertyEnumeration::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of_instance::ptr Ifc4x3_rc4::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcPropertyEnumeration::setEnumerationValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr Ifc4x3_rc4::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v = *data_->getArgument(1); return v; } +void Ifc4x3_rc4::IfcPropertyEnumeration::setEnumerationValues(aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } ::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcPropertyEnumeration::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcUnit>(true); } void Ifc4x3_rc4::IfcPropertyEnumeration::setUnit(::Ifc4x3_rc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -19394,11 +19394,11 @@ void Ifc4x3_rc4::IfcPropertyEnumeration::setUnit(::Ifc4x3_rc4::IfcUnit* v) { {If const IfcParse::entity& Ifc4x3_rc4::IfcPropertyEnumeration::declaration() const { return *IFC4X3_RC4_IfcPropertyEnumeration_type; } const IfcParse::entity& Ifc4x3_rc4::IfcPropertyEnumeration::Class() { return *IFC4X3_RC4_IfcPropertyEnumeration_type; } Ifc4x3_rc4::IfcPropertyEnumeration::IfcPropertyEnumeration(IfcEntityInstanceData* e) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcPropertyEnumeration_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of_instance::ptr v2_EnumerationValues, ::Ifc4x3_rc4::IfcUnit* v3_Unit) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPropertyEnumeration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EnumerationValues));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);} } +Ifc4x3_rc4::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x3_rc4::IfcUnit* v3_Unit) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPropertyEnumeration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EnumerationValues));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);} } // Function implementations for IfcPropertyListValue -boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc4::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcPropertyListValue::setListValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > Ifc4x3_rc4::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcPropertyListValue::setListValues(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcPropertyListValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcUnit>(true); } void Ifc4x3_rc4::IfcPropertyListValue::setUnit(::Ifc4x3_rc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19406,7 +19406,7 @@ void Ifc4x3_rc4::IfcPropertyListValue::setUnit(::Ifc4x3_rc4::IfcUnit* v) { {IfcW const IfcParse::entity& Ifc4x3_rc4::IfcPropertyListValue::declaration() const { return *IFC4X3_RC4_IfcPropertyListValue_type; } const IfcParse::entity& Ifc4x3_rc4::IfcPropertyListValue::Class() { return *IFC4X3_RC4_IfcPropertyListValue_type; } Ifc4x3_rc4::IfcPropertyListValue::IfcPropertyListValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcPropertyListValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of_instance::ptr > v3_ListValues, ::Ifc4x3_rc4::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPropertyListValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ListValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ListValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } +Ifc4x3_rc4::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v3_ListValues, ::Ifc4x3_rc4::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPropertyListValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ListValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ListValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyReferenceValue boost::optional< std::string > Ifc4x3_rc4::IfcPropertyReferenceValue::UsageName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } @@ -19469,10 +19469,10 @@ Ifc4x3_rc4::IfcPropertySingleValue::IfcPropertySingleValue(IfcEntityInstanceData Ifc4x3_rc4::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcValue* v3_NominalValue, ::Ifc4x3_rc4::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPropertySingleValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_NominalValue));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyTableValue -boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc4::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc4::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > Ifc4x3_rc4::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > Ifc4x3_rc4::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v = *data_->getArgument(3); return v; } +void Ifc4x3_rc4::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcPropertyTableValue::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x3_rc4::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcPropertyTableValue::DefiningUnit() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcUnit>(true); } @@ -19486,7 +19486,7 @@ void Ifc4x3_rc4::IfcPropertyTableValue::setCurveInterpolation(boost::optional< : const IfcParse::entity& Ifc4x3_rc4::IfcPropertyTableValue::declaration() const { return *IFC4X3_RC4_IfcPropertyTableValue_type; } const IfcParse::entity& Ifc4x3_rc4::IfcPropertyTableValue::Class() { return *IFC4X3_RC4_IfcPropertyTableValue_type; } Ifc4x3_rc4::IfcPropertyTableValue::IfcPropertyTableValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcPropertyTableValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of_instance::ptr > v3_DefiningValues, boost::optional< aggregate_of_instance::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_rc4::IfcUnit* v6_DefiningUnit, ::Ifc4x3_rc4::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_rc4::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPropertyTableValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_DefiningValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_DefiningValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DefinedValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DefinedValues));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_DefiningUnit));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_DefinedUnit));data_->setArgument(6,attr);} if (v8_CurveInterpolation) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_CurveInterpolation,::Ifc4x3_rc4::IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } +Ifc4x3_rc4::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_rc4::IfcUnit* v6_DefiningUnit, ::Ifc4x3_rc4::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_rc4::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPropertyTableValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_DefiningValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_DefiningValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DefinedValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DefinedValues));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_DefiningUnit));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_DefinedUnit));data_->setArgument(6,attr);} if (v8_CurveInterpolation) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_CurveInterpolation,::Ifc4x3_rc4::IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcPropertyTemplate @@ -19969,14 +19969,14 @@ boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc4: void Ifc4x3_rc4::IfcReinforcingBarType::setBarSurface(boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::ToString(*v)));}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcReinforcingBarType::BendingShapeCode() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } void Ifc4x3_rc4::IfcReinforcingBarType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc4::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(15); return v; } -void Ifc4x3_rc4::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcBendingParameterSelect >::ptr > Ifc4x3_rc4::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc4::IfcBendingParameterSelect >::ptr v = *data_->getArgument(15); return v; } +void Ifc4x3_rc4::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcReinforcingBarType::declaration() const { return *IFC4X3_RC4_IfcReinforcingBarType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcReinforcingBarType::Class() { return *IFC4X3_RC4_IfcReinforcingBarType_type; } Ifc4x3_rc4::IfcReinforcingBarType::IfcReinforcingBarType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcReinforcingBarType_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of_instance::ptr > v16_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcReinforcingBarType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_BarLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_BarLength));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_BarSurface) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_BarSurface,::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_BendingShapeCode));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_BendingParameters));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } } +Ifc4x3_rc4::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcReinforcingBarType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_BarLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_BarLength));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_BarSurface) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_BarSurface,::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_BendingShapeCode));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_BendingParameters));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } } // Function implementations for IfcReinforcingElement boost::optional< std::string > Ifc4x3_rc4::IfcReinforcingElement::SteelGrade() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } @@ -20043,14 +20043,14 @@ boost::optional< double > Ifc4x3_rc4::IfcReinforcingMeshType::TransverseBarSpaci void Ifc4x3_rc4::IfcReinforcingMeshType::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(17,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcReinforcingMeshType::BendingShapeCode() const { if(!data_->getArgument(18) || data_->getArgument(18)->isNull()) { return boost::none; } std::string v = *data_->getArgument(18); return v; } void Ifc4x3_rc4::IfcReinforcingMeshType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(18,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc4::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(19); return v; } -void Ifc4x3_rc4::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(19,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcBendingParameterSelect >::ptr > Ifc4x3_rc4::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc4::IfcBendingParameterSelect >::ptr v = *data_->getArgument(19); return v; } +void Ifc4x3_rc4::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(19,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcReinforcingMeshType::declaration() const { return *IFC4X3_RC4_IfcReinforcingMeshType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcReinforcingMeshType::Class() { return *IFC4X3_RC4_IfcReinforcingMeshType_type; } Ifc4x3_rc4::IfcReinforcingMeshType::IfcReinforcingMeshType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcReinforcingMeshType_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of_instance::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcReinforcingMeshType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshLength));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_MeshWidth));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LongitudinalBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TransverseBarNominalDiameter));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LongitudinalBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_TransverseBarCrossSectionArea));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LongitudinalBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_TransverseBarSpacing));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_BendingShapeCode));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_BendingParameters));data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } +Ifc4x3_rc4::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of< ::Ifc4x3_rc4::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcReinforcingMeshType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshLength));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_MeshWidth));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LongitudinalBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TransverseBarNominalDiameter));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LongitudinalBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_TransverseBarCrossSectionArea));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LongitudinalBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_TransverseBarSpacing));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_BendingShapeCode));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_BendingParameters));data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } // Function implementations for IfcRelAdheresToElement ::Ifc4x3_rc4::IfcElement* Ifc4x3_rc4::IfcRelAdheresToElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcElement>(true); } @@ -20163,14 +20163,14 @@ Ifc4x3_rc4::IfcRelAssignsToResource::IfcRelAssignsToResource(IfcEntityInstanceDa Ifc4x3_rc4::IfcRelAssignsToResource::IfcRelAssignsToResource(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcResourceSelect* v7_RelatingResource) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssignsToResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x3_rc4::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingResource));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociates -aggregate_of_instance::ptr Ifc4x3_rc4::IfcRelAssociates::RelatedObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcRelAssociates::setRelatedObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr Ifc4x3_rc4::IfcRelAssociates::RelatedObjects() const { aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v = *data_->getArgument(4); return v; } +void Ifc4x3_rc4::IfcRelAssociates::setRelatedObjects(aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociates::declaration() const { return *IFC4X3_RC4_IfcRelAssociates_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociates::Class() { return *IFC4X3_RC4_IfcRelAssociates_type; } Ifc4x3_rc4::IfcRelAssociates::IfcRelAssociates(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelAssociates_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} } +Ifc4x3_rc4::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} } // Function implementations for IfcRelAssociatesApproval ::Ifc4x3_rc4::IfcApproval* Ifc4x3_rc4::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcApproval>(true); } @@ -20180,7 +20180,7 @@ void Ifc4x3_rc4::IfcRelAssociatesApproval::setRelatingApproval(::Ifc4x3_rc4::Ifc const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesApproval::declaration() const { return *IFC4X3_RC4_IfcRelAssociatesApproval_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesApproval::Class() { return *IFC4X3_RC4_IfcRelAssociatesApproval_type; } Ifc4x3_rc4::IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelAssociatesApproval_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } +Ifc4x3_rc4::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesClassification ::Ifc4x3_rc4::IfcClassificationSelect* Ifc4x3_rc4::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcClassificationSelect>(true); } @@ -20190,7 +20190,7 @@ void Ifc4x3_rc4::IfcRelAssociatesClassification::setRelatingClassification(::Ifc const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesClassification::declaration() const { return *IFC4X3_RC4_IfcRelAssociatesClassification_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesClassification::Class() { return *IFC4X3_RC4_IfcRelAssociatesClassification_type; } Ifc4x3_rc4::IfcRelAssociatesClassification::IfcRelAssociatesClassification(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelAssociatesClassification_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssociatesClassification_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingClassification));data_->setArgument(5,attr);} } +Ifc4x3_rc4::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssociatesClassification_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingClassification));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesConstraint boost::optional< std::string > Ifc4x3_rc4::IfcRelAssociatesConstraint::Intent() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } @@ -20202,7 +20202,7 @@ void Ifc4x3_rc4::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc4x3_rc4: const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesConstraint::declaration() const { return *IFC4X3_RC4_IfcRelAssociatesConstraint_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesConstraint::Class() { return *IFC4X3_RC4_IfcRelAssociatesConstraint_type; } Ifc4x3_rc4::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelAssociatesConstraint_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_rc4::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} if (v6_Intent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Intent));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } +Ifc4x3_rc4::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_rc4::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} if (v6_Intent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Intent));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociatesDocument ::Ifc4x3_rc4::IfcDocumentSelect* Ifc4x3_rc4::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcDocumentSelect>(true); } @@ -20212,7 +20212,7 @@ void Ifc4x3_rc4::IfcRelAssociatesDocument::setRelatingDocument(::Ifc4x3_rc4::Ifc const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesDocument::declaration() const { return *IFC4X3_RC4_IfcRelAssociatesDocument_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesDocument::Class() { return *IFC4X3_RC4_IfcRelAssociatesDocument_type; } Ifc4x3_rc4::IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelAssociatesDocument_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } +Ifc4x3_rc4::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesLibrary ::Ifc4x3_rc4::IfcLibrarySelect* Ifc4x3_rc4::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcLibrarySelect>(true); } @@ -20222,7 +20222,7 @@ void Ifc4x3_rc4::IfcRelAssociatesLibrary::setRelatingLibrary(::Ifc4x3_rc4::IfcLi const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesLibrary::declaration() const { return *IFC4X3_RC4_IfcRelAssociatesLibrary_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesLibrary::Class() { return *IFC4X3_RC4_IfcRelAssociatesLibrary_type; } Ifc4x3_rc4::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelAssociatesLibrary_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } +Ifc4x3_rc4::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesMaterial ::Ifc4x3_rc4::IfcMaterialSelect* Ifc4x3_rc4::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcMaterialSelect>(true); } @@ -20232,7 +20232,7 @@ void Ifc4x3_rc4::IfcRelAssociatesMaterial::setRelatingMaterial(::Ifc4x3_rc4::Ifc const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesMaterial::declaration() const { return *IFC4X3_RC4_IfcRelAssociatesMaterial_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesMaterial::Class() { return *IFC4X3_RC4_IfcRelAssociatesMaterial_type; } Ifc4x3_rc4::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelAssociatesMaterial_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssociatesMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingMaterial));data_->setArgument(5,attr);} } +Ifc4x3_rc4::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssociatesMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingMaterial));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesProfileDef ::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcProfileDef>(true); } @@ -20242,7 +20242,7 @@ void Ifc4x3_rc4::IfcRelAssociatesProfileDef::setRelatingProfileDef(::Ifc4x3_rc4: const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesProfileDef::declaration() const { return *IFC4X3_RC4_IfcRelAssociatesProfileDef_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesProfileDef::Class() { return *IFC4X3_RC4_IfcRelAssociatesProfileDef_type; } Ifc4x3_rc4::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelAssociatesProfileDef_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcProfileDef* v6_RelatingProfileDef) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssociatesProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingProfileDef));data_->setArgument(5,attr);} } +Ifc4x3_rc4::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcProfileDef* v6_RelatingProfileDef) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssociatesProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingProfileDef));data_->setArgument(5,attr);} } // Function implementations for IfcRelConnects @@ -20401,14 +20401,14 @@ Ifc4x3_rc4::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::If // Function implementations for IfcRelDeclares ::Ifc4x3_rc4::IfcContext* Ifc4x3_rc4::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcContext>(true); } void Ifc4x3_rc4::IfcRelDeclares::setRelatingContext(::Ifc4x3_rc4::IfcContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -aggregate_of_instance::ptr Ifc4x3_rc4::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr v = *data_->getArgument(5); return v; } -void Ifc4x3_rc4::IfcRelDeclares::setRelatedDefinitions(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr Ifc4x3_rc4::IfcRelDeclares::RelatedDefinitions() const { aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v = *data_->getArgument(5); return v; } +void Ifc4x3_rc4::IfcRelDeclares::setRelatedDefinitions(aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRelDeclares::declaration() const { return *IFC4X3_RC4_IfcRelDeclares_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelDeclares::Class() { return *IFC4X3_RC4_IfcRelDeclares_type; } Ifc4x3_rc4::IfcRelDeclares::IfcRelDeclares(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelDeclares_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcContext* v5_RelatingContext, aggregate_of_instance::ptr v6_RelatedDefinitions) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelDeclares_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingContext));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedDefinitions));data_->setArgument(5,attr);} } +Ifc4x3_rc4::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelDeclares_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingContext));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedDefinitions));data_->setArgument(5,attr);} } // Function implementations for IfcRelDecomposes @@ -20555,8 +20555,8 @@ Ifc4x3_rc4::IfcRelProjectsElement::IfcRelProjectsElement(IfcEntityInstanceData* Ifc4x3_rc4::IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcElement* v5_RelatingElement, ::Ifc4x3_rc4::IfcFeatureElementAddition* v6_RelatedFeatureElement) : IfcRelDecomposes((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelProjectsElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedFeatureElement));data_->setArgument(5,attr);} } // Function implementations for IfcRelReferencedInSpatialStructure -aggregate_of_instance::ptr Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcSpatialReferenceSelect >::ptr Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of< ::Ifc4x3_rc4::IfcSpatialReferenceSelect >::ptr v = *data_->getArgument(4); return v; } +void Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4x3_rc4::IfcSpatialReferenceSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } ::Ifc4x3_rc4::IfcSpatialElement* Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcSpatialElement>(true); } void Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc4x3_rc4::IfcSpatialElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20564,7 +20564,7 @@ void Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc4 const IfcParse::entity& Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::declaration() const { return *IFC4X3_RC4_IfcRelReferencedInSpatialStructure_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::Class() { return *IFC4X3_RC4_IfcRelReferencedInSpatialStructure_type; } Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(IfcEntityInstanceData* e) : IfcRelConnects((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelReferencedInSpatialStructure_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedElements, ::Ifc4x3_rc4::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelReferencedInSpatialStructure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedElements));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingStructure));data_->setArgument(5,attr);} } +Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcSpatialReferenceSelect >::ptr v5_RelatedElements, ::Ifc4x3_rc4::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelReferencedInSpatialStructure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedElements));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingStructure));data_->setArgument(5,attr);} } // Function implementations for IfcRelSequence ::Ifc4x3_rc4::IfcProcess* Ifc4x3_rc4::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcProcess>(true); } @@ -20736,8 +20736,8 @@ Ifc4x3_rc4::IfcResource::IfcResource(IfcEntityInstanceData* e) : IfcObject((IfcE Ifc4x3_rc4::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc4x3_rc4::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((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_LongDescription));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcResourceApprovalRelationship -aggregate_of_instance::ptr Ifc4x3_rc4::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr Ifc4x3_rc4::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4x3_rc4::IfcApproval* Ifc4x3_rc4::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcApproval>(true); } void Ifc4x3_rc4::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x3_rc4::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -20745,19 +20745,19 @@ void Ifc4x3_rc4::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x3_r const IfcParse::entity& Ifc4x3_rc4::IfcResourceApprovalRelationship::declaration() const { return *IFC4X3_RC4_IfcResourceApprovalRelationship_type; } const IfcParse::entity& Ifc4x3_rc4::IfcResourceApprovalRelationship::Class() { return *IFC4X3_RC4_IfcResourceApprovalRelationship_type; } Ifc4x3_rc4::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcResourceApprovalRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_RelatedResourceObjects, ::Ifc4x3_rc4::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcResourceApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatedResourceObjects));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatingApproval));data_->setArgument(3,attr);} } +Ifc4x3_rc4::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x3_rc4::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcResourceApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatedResourceObjects));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatingApproval));data_->setArgument(3,attr);} } // Function implementations for IfcResourceConstraintRelationship ::Ifc4x3_rc4::IfcConstraint* Ifc4x3_rc4::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcConstraint>(true); } void Ifc4x3_rc4::IfcResourceConstraintRelationship::setRelatingConstraint(::Ifc4x3_rc4::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -aggregate_of_instance::ptr Ifc4x3_rc4::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr Ifc4x3_rc4::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr v = *data_->getArgument(3); return v; } +void Ifc4x3_rc4::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcResourceConstraintRelationship::declaration() const { return *IFC4X3_RC4_IfcResourceConstraintRelationship_type; } const IfcParse::entity& Ifc4x3_rc4::IfcResourceConstraintRelationship::Class() { return *IFC4X3_RC4_IfcResourceConstraintRelationship_type; } Ifc4x3_rc4::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcResourceConstraintRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcConstraint* v3_RelatingConstraint, aggregate_of_instance::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcResourceConstraintRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingConstraint));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } +Ifc4x3_rc4::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcResourceConstraintRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingConstraint));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } // Function implementations for IfcResourceLevelRelationship boost::optional< std::string > Ifc4x3_rc4::IfcResourceLevelRelationship::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -21191,14 +21191,14 @@ Ifc4x3_rc4::IfcShapeRepresentation::IfcShapeRepresentation(IfcEntityInstanceData Ifc4x3_rc4::IfcShapeRepresentation::IfcShapeRepresentation(::Ifc4x3_rc4::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_rc4::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcShapeRepresentation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ContextOfItems));data_->setArgument(0,attr);} if (v2_RepresentationIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_RepresentationIdentifier));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_RepresentationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_RepresentationType));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Items)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcShellBasedSurfaceModel -aggregate_of_instance::ptr Ifc4x3_rc4::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc4::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcShell >::ptr Ifc4x3_rc4::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of< ::Ifc4x3_rc4::IfcShell >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x3_rc4::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of< ::Ifc4x3_rc4::IfcShell >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcShellBasedSurfaceModel::declaration() const { return *IFC4X3_RC4_IfcShellBasedSurfaceModel_type; } const IfcParse::entity& Ifc4x3_rc4::IfcShellBasedSurfaceModel::Class() { return *IFC4X3_RC4_IfcShellBasedSurfaceModel_type; } Ifc4x3_rc4::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcShellBasedSurfaceModel_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of_instance::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcShellBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SbsmBoundary));data_->setArgument(0,attr);} } +Ifc4x3_rc4::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4x3_rc4::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcShellBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SbsmBoundary));data_->setArgument(0,attr);} } // Function implementations for IfcSign boost::optional< ::Ifc4x3_rc4::IfcSignTypeEnum::Value > Ifc4x3_rc4::IfcSign::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSignTypeEnum::FromString(*data_->getArgument(8)); } @@ -22162,14 +22162,14 @@ Ifc4x3_rc4::IfcSurfaceReinforcementArea::IfcSurfaceReinforcementArea(boost::opti // Function implementations for IfcSurfaceStyle ::Ifc4x3_rc4::IfcSurfaceSide::Value Ifc4x3_rc4::IfcSurfaceStyle::Side() const { return ::Ifc4x3_rc4::IfcSurfaceSide::FromString(*data_->getArgument(1)); } void Ifc4x3_rc4::IfcSurfaceStyle::setSide(::Ifc4x3_rc4::IfcSurfaceSide::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcSurfaceSide::ToString(v)));data_->setArgument(1,attr);} } -aggregate_of_instance::ptr Ifc4x3_rc4::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcSurfaceStyle::setStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcSurfaceStyleElementSelect >::ptr Ifc4x3_rc4::IfcSurfaceStyle::Styles() const { aggregate_of< ::Ifc4x3_rc4::IfcSurfaceStyleElementSelect >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcSurfaceStyle::setStyles(aggregate_of< ::Ifc4x3_rc4::IfcSurfaceStyleElementSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceStyle::declaration() const { return *IFC4X3_RC4_IfcSurfaceStyle_type; } const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceStyle::Class() { return *IFC4X3_RC4_IfcSurfaceStyle_type; } Ifc4x3_rc4::IfcSurfaceStyle::IfcSurfaceStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcSurfaceStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcSurfaceSide::Value v2_Side, aggregate_of_instance::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc4x3_rc4::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles));data_->setArgument(2,attr);} } +Ifc4x3_rc4::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x3_rc4::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc4x3_rc4::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles));data_->setArgument(2,attr);} } // Function implementations for IfcSurfaceStyleLighting ::Ifc4x3_rc4::IfcColourRgb* Ifc4x3_rc4::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcColourRgb>(true); } @@ -22424,8 +22424,8 @@ Ifc4x3_rc4::IfcTableColumn::IfcTableColumn(IfcEntityInstanceData* e) : IfcUtil:: Ifc4x3_rc4::IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, ::Ifc4x3_rc4::IfcUnit* v4_Unit, ::Ifc4x3_rc4::IfcReference* v5_ReferencePath) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTableColumn_type); if (v1_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Identifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Name));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_ReferencePath));data_->setArgument(4,attr);} } // Function implementations for IfcTableRow -boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc4::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc4::IfcTableRow::setRowCells(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > Ifc4x3_rc4::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x3_rc4::IfcTableRow::setRowCells(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< bool > Ifc4x3_rc4::IfcTableRow::IsHeading() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } bool v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } @@ -22433,7 +22433,7 @@ void Ifc4x3_rc4::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrit const IfcParse::entity& Ifc4x3_rc4::IfcTableRow::declaration() const { return *IFC4X3_RC4_IfcTableRow_type; } const IfcParse::entity& Ifc4x3_rc4::IfcTableRow::Class() { return *IFC4X3_RC4_IfcTableRow_type; } Ifc4x3_rc4::IfcTableRow::IfcTableRow(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC4_IfcTableRow_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcTableRow::IfcTableRow(boost::optional< aggregate_of_instance::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTableRow_type); if (v1_RowCells) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RowCells));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_IsHeading) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_IsHeading));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } +Ifc4x3_rc4::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTableRow_type); if (v1_RowCells) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RowCells));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_IsHeading) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_IsHeading));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcTank boost::optional< ::Ifc4x3_rc4::IfcTankTypeEnum::Value > Ifc4x3_rc4::IfcTank::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcTankTypeEnum::FromString(*data_->getArgument(8)); } @@ -22861,14 +22861,14 @@ Ifc4x3_rc4::IfcTimeSeries::IfcTimeSeries(IfcEntityInstanceData* e) : IfcUtil::If Ifc4x3_rc4::IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc4::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc4::IfcUnit* v8_Unit) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTimeSeries_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_StartTime));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EndTime));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_TimeSeriesDataType,::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType))));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v6_DataOrigin,::Ifc4x3_rc4::IfcDataOriginEnum::ToString(v6_DataOrigin))));data_->setArgument(5,attr);} if (v7_UserDefinedDataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_UserDefinedDataOrigin));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Unit));data_->setArgument(7,attr);} } // Function implementations for IfcTimeSeriesValue -aggregate_of_instance::ptr Ifc4x3_rc4::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc4::IfcTimeSeriesValue::setListValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr Ifc4x3_rc4::IfcTimeSeriesValue::ListValues() const { aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x3_rc4::IfcTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcTimeSeriesValue::declaration() const { return *IFC4X3_RC4_IfcTimeSeriesValue_type; } const IfcParse::entity& Ifc4x3_rc4::IfcTimeSeriesValue::Class() { return *IFC4X3_RC4_IfcTimeSeriesValue_type; } Ifc4x3_rc4::IfcTimeSeriesValue::IfcTimeSeriesValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC4_IfcTimeSeriesValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of_instance::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ListValues));data_->setArgument(0,attr);} } +Ifc4x3_rc4::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ListValues));data_->setArgument(0,attr);} } // Function implementations for IfcTopologicalRepresentationItem @@ -23003,10 +23003,10 @@ Ifc4x3_rc4::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(::I // Function implementations for IfcTrimmedCurve ::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcCurve>(true); } void Ifc4x3_rc4::IfcTrimmedCurve::setBasisCurve(::Ifc4x3_rc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of_instance::ptr Ifc4x3_rc4::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcTrimmedCurve::setTrim1(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -aggregate_of_instance::ptr Ifc4x3_rc4::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcTrimmedCurve::setTrim2(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcTrimmingSelect >::ptr Ifc4x3_rc4::IfcTrimmedCurve::Trim1() const { aggregate_of< ::Ifc4x3_rc4::IfcTrimmingSelect >::ptr v = *data_->getArgument(1); return v; } +void Ifc4x3_rc4::IfcTrimmedCurve::setTrim1(aggregate_of< ::Ifc4x3_rc4::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcTrimmingSelect >::ptr Ifc4x3_rc4::IfcTrimmedCurve::Trim2() const { aggregate_of< ::Ifc4x3_rc4::IfcTrimmingSelect >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcTrimmedCurve::setTrim2(aggregate_of< ::Ifc4x3_rc4::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } bool Ifc4x3_rc4::IfcTrimmedCurve::SenseAgreement() const { bool v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcTrimmedCurve::setSenseAgreement(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x3_rc4::IfcTrimmingPreference::Value Ifc4x3_rc4::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4x3_rc4::IfcTrimmingPreference::FromString(*data_->getArgument(4)); } @@ -23016,7 +23016,7 @@ void Ifc4x3_rc4::IfcTrimmedCurve::setMasterRepresentation(::Ifc4x3_rc4::IfcTrimm const IfcParse::entity& Ifc4x3_rc4::IfcTrimmedCurve::declaration() const { return *IFC4X3_RC4_IfcTrimmedCurve_type; } const IfcParse::entity& Ifc4x3_rc4::IfcTrimmedCurve::Class() { return *IFC4X3_RC4_IfcTrimmedCurve_type; } Ifc4x3_rc4::IfcTrimmedCurve::IfcTrimmedCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcTrimmedCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3_rc4::IfcCurve* v1_BasisCurve, aggregate_of_instance::ptr v2_Trim1, aggregate_of_instance::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc4::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTrimmedCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Trim1));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Trim2));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SenseAgreement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_MasterRepresentation,::Ifc4x3_rc4::IfcTrimmingPreference::ToString(v5_MasterRepresentation))));data_->setArgument(4,attr);} } +Ifc4x3_rc4::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3_rc4::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_rc4::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x3_rc4::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc4::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTrimmedCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Trim1));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Trim2));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SenseAgreement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_MasterRepresentation,::Ifc4x3_rc4::IfcTrimmingPreference::ToString(v5_MasterRepresentation))));data_->setArgument(4,attr);} } // Function implementations for IfcTubeBundle boost::optional< ::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Value > Ifc4x3_rc4::IfcTubeBundle::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcTubeBundleTypeEnum::FromString(*data_->getArgument(8)); } @@ -23117,14 +23117,14 @@ Ifc4x3_rc4::IfcUShapeProfileDef::IfcUShapeProfileDef(IfcEntityInstanceData* e) : Ifc4x3_rc4::IfcUShapeProfileDef::IfcUShapeProfileDef(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::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((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcUShapeProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4x3_rc4::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_FlangeWidth));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_WebThickness));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_FlangeThickness));data_->setArgument(6,attr);} if (v8_FilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_FilletRadius));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_EdgeRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_EdgeRadius));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_FlangeSlope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_FlangeSlope));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcUnitAssignment -aggregate_of_instance::ptr Ifc4x3_rc4::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc4::IfcUnitAssignment::setUnits(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcUnit >::ptr Ifc4x3_rc4::IfcUnitAssignment::Units() const { aggregate_of< ::Ifc4x3_rc4::IfcUnit >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x3_rc4::IfcUnitAssignment::setUnits(aggregate_of< ::Ifc4x3_rc4::IfcUnit >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcUnitAssignment::declaration() const { return *IFC4X3_RC4_IfcUnitAssignment_type; } const IfcParse::entity& Ifc4x3_rc4::IfcUnitAssignment::Class() { return *IFC4X3_RC4_IfcUnitAssignment_type; } Ifc4x3_rc4::IfcUnitAssignment::IfcUnitAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC4_IfcUnitAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcUnitAssignment::IfcUnitAssignment(aggregate_of_instance::ptr v1_Units) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcUnitAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Units));data_->setArgument(0,attr);} } +Ifc4x3_rc4::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4x3_rc4::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcUnitAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Units));data_->setArgument(0,attr);} } // Function implementations for IfcUnitaryControlElement boost::optional< ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Value > Ifc4x3_rc4::IfcUnitaryControlElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::FromString(*data_->getArgument(8)); } diff --git a/src/ifcparse/Ifc4x3_rc4.h b/src/ifcparse/Ifc4x3_rc4.h index e27ef42f96..eb3eca5b1b 100644 --- a/src/ifcparse/Ifc4x3_rc4.h +++ b/src/ifcparse/Ifc4x3_rc4.h @@ -11024,12 +11024,12 @@ public: std::string TimeStamp() const; void setTimeStamp(std::string v); /// A list of time-series values. At least one value is required. - aggregate_of_instance::ptr ListValues() const; - void setListValues(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr ListValues() const; + void setListValues(aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcIrregularTimeSeriesValue (IfcEntityInstanceData* e); - IfcIrregularTimeSeriesValue (std::string v1_TimeStamp, aggregate_of_instance::ptr v2_ListValues); + IfcIrregularTimeSeriesValue (std::string v1_TimeStamp, aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v2_ListValues); typedef aggregate_of< 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. @@ -11207,15 +11207,15 @@ public: class IFC_PARSE_API IfcMaterialClassificationRelationship : public IfcUtil::IfcBaseEntity { public: /// The material classifications identifying the type of material. - aggregate_of_instance::ptr MaterialClassifications() const; - void setMaterialClassifications(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcClassificationSelect >::ptr MaterialClassifications() const; + void setMaterialClassifications(aggregate_of< ::Ifc4x3_rc4::IfcClassificationSelect >::ptr v); /// Material being classified. ::Ifc4x3_rc4::IfcMaterial* ClassifiedMaterial() const; void setClassifiedMaterial(::Ifc4x3_rc4::IfcMaterial* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcMaterialClassificationRelationship (IfcEntityInstanceData* e); - IfcMaterialClassificationRelationship (aggregate_of_instance::ptr v1_MaterialClassifications, ::Ifc4x3_rc4::IfcMaterial* v2_ClassifiedMaterial); + IfcMaterialClassificationRelationship (aggregate_of< ::Ifc4x3_rc4::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x3_rc4::IfcMaterial* v2_ClassifiedMaterial); typedef aggregate_of< IfcMaterialClassificationRelationship > list; }; /// IfcMaterialDefinition is a general supertype for all @@ -12006,15 +12006,15 @@ public: boost::optional< std::string > Description() const; void setDescription(boost::optional< std::string > v); /// The set of layered items, which are assigned to this layer. - aggregate_of_instance::ptr AssignedItems() const; - void setAssignedItems(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcLayeredItem >::ptr AssignedItems() const; + void setAssignedItems(aggregate_of< ::Ifc4x3_rc4::IfcLayeredItem >::ptr v); /// An (internal) identifier assigned to the layer. boost::optional< std::string > Identifier() const; void setIdentifier(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPresentationLayerAssignment (IfcEntityInstanceData* e); - IfcPresentationLayerAssignment (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier); + IfcPresentationLayerAssignment (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc4::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier); typedef aggregate_of< IfcPresentationLayerAssignment > list; }; /// An IfcPresentationLayerAssignmentWithStyle extends the presentation layer assignment with capabilities to define visibility control, access control and common style information. @@ -12051,7 +12051,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPresentationLayerWithStyle (IfcEntityInstanceData* e); - IfcPresentationLayerWithStyle (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_rc4::IfcPresentationStyle >::ptr v8_LayerStyles); + IfcPresentationLayerWithStyle (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc4::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_rc4::IfcPresentationStyle >::ptr v8_LayerStyles); typedef aggregate_of< 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. @@ -12399,15 +12399,15 @@ public: std::string Name() const; void setName(std::string v); /// List of values that form the enumeration. - aggregate_of_instance::ptr EnumerationValues() const; - void setEnumerationValues(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr EnumerationValues() const; + void setEnumerationValues(aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v); /// 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. ::Ifc4x3_rc4::IfcUnit* Unit() const; void setUnit(::Ifc4x3_rc4::IfcUnit* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyEnumeration (IfcEntityInstanceData* e); - IfcPropertyEnumeration (std::string v1_Name, aggregate_of_instance::ptr v2_EnumerationValues, ::Ifc4x3_rc4::IfcUnit* v3_Unit); + IfcPropertyEnumeration (std::string v1_Name, aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x3_rc4::IfcUnit* v3_Unit); typedef aggregate_of< 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. @@ -13318,12 +13318,12 @@ public: ::Ifc4x3_rc4::IfcSurfaceSide::Value Side() const; void setSide(::Ifc4x3_rc4::IfcSurfaceSide::Value v); /// A collection of different surface styles. - aggregate_of_instance::ptr Styles() const; - void setStyles(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcSurfaceStyleElementSelect >::ptr Styles() const; + void setStyles(aggregate_of< ::Ifc4x3_rc4::IfcSurfaceStyleElementSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSurfaceStyle (IfcEntityInstanceData* e); - IfcSurfaceStyle (boost::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcSurfaceSide::Value v2_Side, aggregate_of_instance::ptr v3_Styles); + IfcSurfaceStyle (boost::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x3_rc4::IfcSurfaceStyleElementSelect >::ptr v3_Styles); typedef aggregate_of< IfcSurfaceStyle > list; }; /// IfcSurfaceStyleLighting is a container class for properties for calculation of physically exact illuminance related to a particular surface style. @@ -13632,15 +13632,15 @@ public: class IFC_PARSE_API IfcTableRow : public IfcUtil::IfcBaseEntity { public: /// The data value of the table cell.. - boost::optional< aggregate_of_instance::ptr > RowCells() const; - void setRowCells(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > RowCells() const; + void setRowCells(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::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. boost::optional< bool > IsHeading() const; void setIsHeading(boost::optional< bool > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTableRow (IfcEntityInstanceData* e); - IfcTableRow (boost::optional< aggregate_of_instance::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading); + IfcTableRow (boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading); typedef aggregate_of< IfcTableRow > list; }; /// IfcTaskTime captures the time-related information about a task including the different types (actual or scheduled) of starting and ending times. @@ -14189,12 +14189,12 @@ public: class IFC_PARSE_API IfcTimeSeriesValue : public IfcUtil::IfcBaseEntity { public: /// A list of time-series values. At least one value is required. - aggregate_of_instance::ptr ListValues() const; - void setListValues(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr ListValues() const; + void setListValues(aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTimeSeriesValue (IfcEntityInstanceData* e); - IfcTimeSeriesValue (aggregate_of_instance::ptr v1_ListValues); + IfcTimeSeriesValue (aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v1_ListValues); typedef aggregate_of< IfcTimeSeriesValue > list; }; /// Definition from ISO/CD 10303-42:1992: The topological representation item is the supertype for all the topological representation items in the geometry resource. @@ -14260,12 +14260,12 @@ public: class IFC_PARSE_API IfcUnitAssignment : public IfcUtil::IfcBaseEntity { public: /// Units to be included within a unit assignment. - aggregate_of_instance::ptr Units() const; - void setUnits(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcUnit >::ptr Units() const; + void setUnits(aggregate_of< ::Ifc4x3_rc4::IfcUnit >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcUnitAssignment (IfcEntityInstanceData* e); - IfcUnitAssignment (aggregate_of_instance::ptr v1_Units); + IfcUnitAssignment (aggregate_of< ::Ifc4x3_rc4::IfcUnit >::ptr v1_Units); typedef aggregate_of< IfcUnitAssignment > list; }; /// Definition from ISO/CD 10303-42:1992: A vertex is the topological construct corresponding to a point. It has dimensionality 0 and extent 0. The domain of a vertex, if present, is a point in m dimensional real space RM; this is represented by the vertex point subtype. @@ -15287,8 +15287,8 @@ public: ::Ifc4x3_rc4::IfcActorSelect* DocumentOwner() const; void setDocumentOwner(::Ifc4x3_rc4::IfcActorSelect* v); /// The persons and/or organizations who have created this document or contributed to it. - boost::optional< aggregate_of_instance::ptr > Editors() const; - void setEditors(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorSelect >::ptr > Editors() const; + void setEditors(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorSelect >::ptr > v); /// 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. @@ -15329,7 +15329,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcDocumentInformation (IfcEntityInstanceData* e); - 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, ::Ifc4x3_rc4::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of_instance::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< ::Ifc4x3_rc4::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_rc4::IfcDocumentStatusEnum::Value > 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, ::Ifc4x3_rc4::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorSelect >::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< ::Ifc4x3_rc4::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_rc4::IfcDocumentStatusEnum::Value > v17_Status); typedef aggregate_of< IfcDocumentInformation > list; }; /// An IfcDocumentInformationRelationship is a relationship class that enables a document to have the ability to reference other documents. @@ -15570,12 +15570,12 @@ public: ::Ifc4x3_rc4::IfcExternalReference* RelatingReference() const; void setRelatingReference(::Ifc4x3_rc4::IfcExternalReference* v); /// Objects within the list of IfcResourceObjectSelect that can be tagged by an external reference to a dictionary, library, catalogue, classification or documentation. - aggregate_of_instance::ptr RelatedResourceObjects() const; - void setRelatedResourceObjects(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr RelatedResourceObjects() const; + void setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcExternalReferenceRelationship (IfcEntityInstanceData* e); - IfcExternalReferenceRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcExternalReference* v3_RelatingReference, aggregate_of_instance::ptr v4_RelatedResourceObjects); + IfcExternalReferenceRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects); typedef aggregate_of< IfcExternalReferenceRelationship > list; }; /// Definition from ISO/CD 10303-42:1992: A face is a topological @@ -15786,14 +15786,14 @@ public: class IFC_PARSE_API IfcFillAreaStyle : public IfcPresentationStyle { public: /// The set of fill area styles to use in presenting visible curve segments, annotation fill areas or surfaces. - aggregate_of_instance::ptr FillStyles() const; - void setFillStyles(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcFillStyleSelect >::ptr FillStyles() const; + void setFillStyles(aggregate_of< ::Ifc4x3_rc4::IfcFillStyleSelect >::ptr v); boost::optional< bool > ModelOrDraughting() const; void setModelOrDraughting(boost::optional< bool > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcFillAreaStyle (IfcEntityInstanceData* e); - IfcFillAreaStyle (boost::optional< std::string > v1_Name, aggregate_of_instance::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting); + IfcFillAreaStyle (boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_rc4::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting); typedef aggregate_of< IfcFillAreaStyle > list; }; /// Definition from ISO/CD 10303-42:1992: A geometric @@ -15947,12 +15947,12 @@ public: class IFC_PARSE_API 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. - aggregate_of_instance::ptr Elements() const; - void setElements(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcGeometricSetSelect >::ptr Elements() const; + void setElements(aggregate_of< ::Ifc4x3_rc4::IfcGeometricSetSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcGeometricSet (IfcEntityInstanceData* e); - IfcGeometricSet (aggregate_of_instance::ptr v1_Elements); + IfcGeometricSet (aggregate_of< ::Ifc4x3_rc4::IfcGeometricSetSelect >::ptr v1_Elements); typedef aggregate_of< IfcGeometricSet > list; }; /// IfcGridPlacement provides a specialization of IfcObjectPlacement in which @@ -17965,15 +17965,15 @@ public: class IFC_PARSE_API IfcResourceApprovalRelationship : public IfcResourceLevelRelationship { public: /// Resource objects that are approved. - aggregate_of_instance::ptr RelatedResourceObjects() const; - void setRelatedResourceObjects(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr RelatedResourceObjects() const; + void setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr v); /// The approval for the resource objects selected. ::Ifc4x3_rc4::IfcApproval* RelatingApproval() const; void setRelatingApproval(::Ifc4x3_rc4::IfcApproval* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcResourceApprovalRelationship (IfcEntityInstanceData* e); - IfcResourceApprovalRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_RelatedResourceObjects, ::Ifc4x3_rc4::IfcApproval* v4_RelatingApproval); + IfcResourceApprovalRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x3_rc4::IfcApproval* v4_RelatingApproval); typedef aggregate_of< IfcResourceApprovalRelationship > list; }; /// An IfcResourceConstraintRelationship is a relationship @@ -18002,12 +18002,12 @@ public: ::Ifc4x3_rc4::IfcConstraint* RelatingConstraint() const; void setRelatingConstraint(::Ifc4x3_rc4::IfcConstraint* v); /// The properties to which a constraint is to be related. - aggregate_of_instance::ptr RelatedResourceObjects() const; - void setRelatedResourceObjects(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr RelatedResourceObjects() const; + void setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcResourceConstraintRelationship (IfcEntityInstanceData* e); - IfcResourceConstraintRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcConstraint* v3_RelatingConstraint, aggregate_of_instance::ptr v4_RelatedResourceObjects); + IfcResourceConstraintRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects); typedef aggregate_of< IfcResourceConstraintRelationship > list; }; /// IfcResourceTime captures the time-related information about a construction resource. @@ -18264,12 +18264,12 @@ public: /// The shells shall not overlap or intersect except at common faces, edges or vertices. class IFC_PARSE_API IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { public: - aggregate_of_instance::ptr SbsmBoundary() const; - void setSbsmBoundary(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcShell >::ptr SbsmBoundary() const; + void setSbsmBoundary(aggregate_of< ::Ifc4x3_rc4::IfcShell >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcShellBasedSurfaceModel (IfcEntityInstanceData* e); - IfcShellBasedSurfaceModel (aggregate_of_instance::ptr v1_SbsmBoundary); + IfcShellBasedSurfaceModel (aggregate_of< ::Ifc4x3_rc4::IfcShell >::ptr v1_SbsmBoundary); typedef aggregate_of< IfcShellBasedSurfaceModel > 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. @@ -21273,7 +21273,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcGeometricCurveSet (IfcEntityInstanceData* e); - IfcGeometricCurveSet (aggregate_of_instance::ptr v1_Elements); + IfcGeometricCurveSet (aggregate_of< ::Ifc4x3_rc4::IfcGeometricSetSelect >::ptr v1_Elements); typedef aggregate_of< IfcGeometricCurveSet > list; }; /// IfcIShapeProfileDef @@ -22408,15 +22408,15 @@ 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. - boost::optional< aggregate_of_instance::ptr > EnumerationValues() const; - void setEnumerationValues(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > EnumerationValues() const; + void setEnumerationValues(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v); /// Enumeration from which a enumeration value has been selected. The referenced enumeration also establishes the unit of the enumeration value. ::Ifc4x3_rc4::IfcPropertyEnumeration* EnumerationReference() const; void setEnumerationReference(::Ifc4x3_rc4::IfcPropertyEnumeration* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyEnumeratedValue (IfcEntityInstanceData* e); - IfcPropertyEnumeratedValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of_instance::ptr > v3_EnumerationValues, ::Ifc4x3_rc4::IfcPropertyEnumeration* v4_EnumerationReference); + IfcPropertyEnumeratedValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x3_rc4::IfcPropertyEnumeration* v4_EnumerationReference); typedef aggregate_of< IfcPropertyEnumeratedValue > list; }; /// An IfcPropertyListValue @@ -22489,15 +22489,15 @@ public: /// List of property values. /// /// IFC2x4 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. - boost::optional< aggregate_of_instance::ptr > ListValues() const; - void setListValues(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > ListValues() const; + void setListValues(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v); /// 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. ::Ifc4x3_rc4::IfcUnit* Unit() const; void setUnit(::Ifc4x3_rc4::IfcUnit* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyListValue (IfcEntityInstanceData* e); - IfcPropertyListValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of_instance::ptr > v3_ListValues, ::Ifc4x3_rc4::IfcUnit* v4_Unit); + IfcPropertyListValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v3_ListValues, ::Ifc4x3_rc4::IfcUnit* v4_Unit); typedef aggregate_of< IfcPropertyListValue > list; }; /// IfcPropertyReferenceValue allows a property value to @@ -22837,13 +22837,13 @@ 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. - boost::optional< aggregate_of_instance::ptr > DefiningValues() const; - void setDefiningValues(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > DefiningValues() const; + void setDefiningValues(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::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. - boost::optional< aggregate_of_instance::ptr > DefinedValues() const; - void setDefinedValues(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > DefinedValues() const; + void setDefinedValues(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v); /// 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. boost::optional< std::string > Expression() const; void setExpression(boost::optional< std::string > v); @@ -22861,7 +22861,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyTableValue (IfcEntityInstanceData* e); - IfcPropertyTableValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of_instance::ptr > v3_DefiningValues, boost::optional< aggregate_of_instance::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_rc4::IfcUnit* v6_DefiningUnit, ::Ifc4x3_rc4::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_rc4::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation); + IfcPropertyTableValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_rc4::IfcUnit* v6_DefiningUnit, ::Ifc4x3_rc4::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_rc4::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation); typedef aggregate_of< IfcPropertyTableValue > list; }; /// The IfcPropertyTemplate is an abstract supertype @@ -23387,12 +23387,12 @@ 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. - aggregate_of_instance::ptr RelatedObjects() const; - void setRelatedObjects(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr RelatedObjects() const; + void setRelatedObjects(aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociates (IfcEntityInstanceData* e); - IfcRelAssociates (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects); + IfcRelAssociates (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v5_RelatedObjects); typedef aggregate_of< IfcRelAssociates > list; }; /// The entity IfcRelAssociatesApproval is used to apply approval information defined by IfcApproval, in IfcApprovalResource schema, to subtypes of IfcRoot. @@ -23406,7 +23406,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesApproval (IfcEntityInstanceData* e); - IfcRelAssociatesApproval (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcApproval* v6_RelatingApproval); + IfcRelAssociatesApproval (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcApproval* v6_RelatingApproval); typedef aggregate_of< IfcRelAssociatesApproval > list; }; /// The objectified relationship @@ -23447,7 +23447,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesClassification (IfcEntityInstanceData* e); - IfcRelAssociatesClassification (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcClassificationSelect* v6_RelatingClassification); + IfcRelAssociatesClassification (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcClassificationSelect* v6_RelatingClassification); typedef aggregate_of< IfcRelAssociatesClassification > list; }; /// The entity IfcRelAssociatesConstraint is used to apply constraint information defined by IfcConstraint, in the IfcConstraintResource schema, to subtypes of IfcRoot. @@ -23464,7 +23464,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesConstraint (IfcEntityInstanceData* e); - IfcRelAssociatesConstraint (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_rc4::IfcConstraint* v7_RelatingConstraint); + IfcRelAssociatesConstraint (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_rc4::IfcConstraint* v7_RelatingConstraint); typedef aggregate_of< 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). @@ -23482,7 +23482,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesDocument (IfcEntityInstanceData* e); - IfcRelAssociatesDocument (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcDocumentSelect* v6_RelatingDocument); + IfcRelAssociatesDocument (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcDocumentSelect* v6_RelatingDocument); typedef aggregate_of< IfcRelAssociatesDocument > list; }; /// The objectified relationship (IfcRelAssociatesLibrary) handles the assignment of a library item (items of the select IfcLibrarySelect) to subtypes of IfcObjectDefinition or IfcPropertyDefinition. @@ -23500,7 +23500,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesLibrary (IfcEntityInstanceData* e); - IfcRelAssociatesLibrary (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcLibrarySelect* v6_RelatingLibrary); + IfcRelAssociatesLibrary (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcLibrarySelect* v6_RelatingLibrary); typedef aggregate_of< IfcRelAssociatesLibrary > list; }; /// Definition from IAI: Objectified relationship between a @@ -23605,7 +23605,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesMaterial (IfcEntityInstanceData* e); - IfcRelAssociatesMaterial (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcMaterialSelect* v6_RelatingMaterial); + IfcRelAssociatesMaterial (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcMaterialSelect* v6_RelatingMaterial); typedef aggregate_of< IfcRelAssociatesMaterial > list; }; @@ -23616,7 +23616,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesProfileDef (IfcEntityInstanceData* e); - IfcRelAssociatesProfileDef (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcProfileDef* v6_RelatingProfileDef); + IfcRelAssociatesProfileDef (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcProfileDef* v6_RelatingProfileDef); typedef aggregate_of< IfcRelAssociatesProfileDef > 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. @@ -24089,12 +24089,12 @@ public: ::Ifc4x3_rc4::IfcContext* RelatingContext() const; void setRelatingContext(::Ifc4x3_rc4::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. - aggregate_of_instance::ptr RelatedDefinitions() const; - void setRelatedDefinitions(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr RelatedDefinitions() const; + void setRelatedDefinitions(aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelDeclares (IfcEntityInstanceData* e); - IfcRelDeclares (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcContext* v5_RelatingContext, aggregate_of_instance::ptr v6_RelatedDefinitions); + IfcRelDeclares (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v6_RelatedDefinitions); typedef aggregate_of< IfcRelDeclares > list; }; /// The decomposition relationship, @@ -24609,8 +24609,8 @@ class IFC_PARSE_API IfcRelReferencedInSpatialStructure : public IfcRelConnects public: /// Set of products, which are referenced within this level of the spatial structure hierarchy. /// NOTE  Referenced elements are contained elsewhere within the spatial structure, they are referenced additionally by this spatial structure element, e.g., because they span several stories. - aggregate_of_instance::ptr RelatedElements() const; - void setRelatedElements(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcSpatialReferenceSelect >::ptr RelatedElements() const; + void setRelatedElements(aggregate_of< ::Ifc4x3_rc4::IfcSpatialReferenceSelect >::ptr v); /// Spatial structure element, within which the element is referenced. Any element can be contained within zero, one or many elements of the project spatial and zoning structure. /// /// IFC2x Edition 4 CHANGE  The attribute relatingStructure as been promoted to the new supertype IfcSpatialElement with upward compatibility for file based exchange. @@ -24619,7 +24619,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelReferencedInSpatialStructure (IfcEntityInstanceData* e); - IfcRelReferencedInSpatialStructure (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedElements, ::Ifc4x3_rc4::IfcSpatialElement* v6_RelatingStructure); + IfcRelReferencedInSpatialStructure (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcSpatialReferenceSelect >::ptr v5_RelatedElements, ::Ifc4x3_rc4::IfcSpatialElement* v6_RelatingStructure); typedef aggregate_of< IfcRelReferencedInSpatialStructure > list; }; /// IfcRelSequence is a @@ -31194,14 +31194,14 @@ class IFC_PARSE_API IfcIndexedPolyCurve : public IfcBoundedCurve { public: ::Ifc4x3_rc4::IfcCartesianPointList* Points() const; void setPoints(::Ifc4x3_rc4::IfcCartesianPointList* v); - boost::optional< aggregate_of_instance::ptr > Segments() const; - void setSegments(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcSegmentIndexSelect >::ptr > Segments() const; + void setSegments(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcSegmentIndexSelect >::ptr > v); boost::optional< bool > SelfIntersect() const; void setSelfIntersect(boost::optional< bool > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcIndexedPolyCurve (IfcEntityInstanceData* e); - IfcIndexedPolyCurve (::Ifc4x3_rc4::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of_instance::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect); + IfcIndexedPolyCurve (::Ifc4x3_rc4::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect); typedef aggregate_of< IfcIndexedPolyCurve > list; }; /// The flow treatment device type IfcInterceptorType defines commonly shared information for occurrences of interceptors. The set of shared information may include: @@ -33325,12 +33325,12 @@ public: void setTransverseBarSpacing(boost::optional< double > v); boost::optional< std::string > BendingShapeCode() const; void setBendingShapeCode(boost::optional< std::string > v); - boost::optional< aggregate_of_instance::ptr > BendingParameters() const; - void setBendingParameters(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcBendingParameterSelect >::ptr > BendingParameters() const; + void setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcBendingParameterSelect >::ptr > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcReinforcingMeshType (IfcEntityInstanceData* e); - IfcReinforcingMeshType (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of_instance::ptr > v20_BendingParameters); + IfcReinforcingMeshType (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of< ::Ifc4x3_rc4::IfcBendingParameterSelect >::ptr > v20_BendingParameters); typedef aggregate_of< IfcReinforcingMeshType > list; }; @@ -35674,11 +35674,11 @@ public: ::Ifc4x3_rc4::IfcCurve* BasisCurve() const; void setBasisCurve(::Ifc4x3_rc4::IfcCurve* v); /// The first trimming point which may be specified as a Cartesian point, as a real parameter or both. - aggregate_of_instance::ptr Trim1() const; - void setTrim1(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcTrimmingSelect >::ptr Trim1() const; + void setTrim1(aggregate_of< ::Ifc4x3_rc4::IfcTrimmingSelect >::ptr v); /// The second trimming point which may be specified as a Cartesian point, as a real parameter or both. - aggregate_of_instance::ptr Trim2() const; - void setTrim2(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcTrimmingSelect >::ptr Trim2() const; + void setTrim2(aggregate_of< ::Ifc4x3_rc4::IfcTrimmingSelect >::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); @@ -35688,7 +35688,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTrimmedCurve (IfcEntityInstanceData* e); - IfcTrimmedCurve (::Ifc4x3_rc4::IfcCurve* v1_BasisCurve, aggregate_of_instance::ptr v2_Trim1, aggregate_of_instance::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc4::IfcTrimmingPreference::Value v5_MasterRepresentation); + IfcTrimmedCurve (::Ifc4x3_rc4::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_rc4::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x3_rc4::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc4::IfcTrimmingPreference::Value v5_MasterRepresentation); typedef aggregate_of< IfcTrimmedCurve > list; }; /// The energy conversion device type IfcTubeBundleType defines commonly shared information for occurrences of tube bundles. The set of shared information may include: @@ -44507,12 +44507,12 @@ public: void setBarSurface(boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > v); boost::optional< std::string > BendingShapeCode() const; void setBendingShapeCode(boost::optional< std::string > v); - boost::optional< aggregate_of_instance::ptr > BendingParameters() const; - void setBendingParameters(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcBendingParameterSelect >::ptr > BendingParameters() const; + void setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcBendingParameterSelect >::ptr > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcReinforcingBarType (IfcEntityInstanceData* e); - IfcReinforcingBarType (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of_instance::ptr > v16_BendingParameters); + IfcReinforcingBarType (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcBendingParameterSelect >::ptr > v16_BendingParameters); typedef aggregate_of< IfcReinforcingBarType > list; }; /// Definition from ISO 6707-1:1989: Construction enclosing the building from above. diff --git a/src/ifcparse/Ifc4x3_tc1-definitions.h b/src/ifcparse/Ifc4x3_tc1-definitions.h index ed7337c12f..50439c9171 100644 --- a/src/ifcparse/Ifc4x3_tc1-definitions.h +++ b/src/ifcparse/Ifc4x3_tc1-definitions.h @@ -4026,3 +4026,53 @@ #define SCHEMA_HAS_IfcZone #define SCHEMA_IfcZone_HAS_LongName #define SCHEMA_IfcZone_LongName_IS_OPTIONAL +#define SCHEMA_HAS_IfcRepresentationContextSameWCS +#define SCHEMA_HAS_IfcSingleProjectInstance +#define SCHEMA_HAS_IfcAssociatedSurface +#define SCHEMA_HAS_IfcBaseAxis +#define SCHEMA_HAS_IfcBooleanChoose +#define SCHEMA_HAS_IfcBuild2Axes +#define SCHEMA_HAS_IfcBuildAxes +#define SCHEMA_HAS_IfcConsecutiveSegments +#define SCHEMA_HAS_IfcConstraintsParamBSpline +#define SCHEMA_HAS_IfcConvertDirectionInto2D +#define SCHEMA_HAS_IfcCorrectDimensions +#define SCHEMA_HAS_IfcCorrectFillAreaStyle +#define SCHEMA_HAS_IfcCorrectLocalPlacement +#define SCHEMA_HAS_IfcCorrectUnitAssignment +#define SCHEMA_HAS_IfcCrossProduct +#define SCHEMA_HAS_IfcCurveDim +#define SCHEMA_HAS_IfcCurveWeightsPositive +#define SCHEMA_HAS_IfcDeriveDimensionalExponents +#define SCHEMA_HAS_IfcDimensionsForSIUnit +#define SCHEMA_HAS_IfcDotProduct +#define SCHEMA_HAS_IfcFirstProjAxis +#define SCHEMA_HAS_IfcGetBasisSurface +#define SCHEMA_HAS_IfcListToArray +#define SCHEMA_HAS_IfcLoopHeadToTail +#define SCHEMA_HAS_IfcMakeArrayOfArray +#define SCHEMA_HAS_IfcMlsTotalThickness +#define SCHEMA_HAS_IfcNormalise +#define SCHEMA_HAS_IfcOrthogonalComplement +#define SCHEMA_HAS_IfcPathHeadToTail +#define SCHEMA_HAS_IfcPointDim +#define SCHEMA_HAS_IfcPointListDim +#define SCHEMA_HAS_IfcSameAxis2Placement +#define SCHEMA_HAS_IfcSameCartesianPoint +#define SCHEMA_HAS_IfcSameDirection +#define SCHEMA_HAS_IfcSameValidPrecision +#define SCHEMA_HAS_IfcSameValue +#define SCHEMA_HAS_IfcScalarTimesVector +#define SCHEMA_HAS_IfcSecondProjAxis +#define SCHEMA_HAS_IfcSegmentDim +#define SCHEMA_HAS_IfcShapeRepresentationTypes +#define SCHEMA_HAS_IfcSurfaceWeightsPositive +#define SCHEMA_HAS_IfcTaperedSweptAreaProfiles +#define SCHEMA_HAS_IfcTopologyRepresentationTypes +#define SCHEMA_HAS_IfcUniqueDefinitionNames +#define SCHEMA_HAS_IfcUniquePropertyName +#define SCHEMA_HAS_IfcUniquePropertySetNames +#define SCHEMA_HAS_IfcUniquePropertyTemplateNames +#define SCHEMA_HAS_IfcUniqueQuantityNames +#define SCHEMA_HAS_IfcVectorDifference +#define SCHEMA_HAS_IfcVectorSum diff --git a/src/ifcparse/Ifc4x3_tc1.cpp b/src/ifcparse/Ifc4x3_tc1.cpp index 5e5128b5ed..933e058c0c 100644 --- a/src/ifcparse/Ifc4x3_tc1.cpp +++ b/src/ifcparse/Ifc4x3_tc1.cpp @@ -15560,8 +15560,8 @@ boost::optional< std::string > Ifc4x3_tc1::IfcDocumentInformation::Revision() co void Ifc4x3_tc1::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3_tc1::IfcActorSelect* Ifc4x3_tc1::IfcDocumentInformation::DocumentOwner() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_tc1::IfcActorSelect>(true); } void Ifc4x3_tc1::IfcDocumentInformation::setDocumentOwner(::Ifc4x3_tc1::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x3_tc1::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(9); return v; } -void Ifc4x3_tc1::IfcDocumentInformation::setEditors(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcActorSelect >::ptr > Ifc4x3_tc1::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_tc1::IfcActorSelect >::ptr v = *data_->getArgument(9); return v; } +void Ifc4x3_tc1::IfcDocumentInformation::setEditors(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcActorSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_tc1::IfcDocumentInformation::CreationTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } void Ifc4x3_tc1::IfcDocumentInformation::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4x3_tc1::IfcDocumentInformation::LastRevisionTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } @@ -15585,7 +15585,7 @@ void Ifc4x3_tc1::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x3_tc1 const IfcParse::entity& Ifc4x3_tc1::IfcDocumentInformation::declaration() const { return *IFC4X3_TC1_IfcDocumentInformation_type; } const IfcParse::entity& Ifc4x3_tc1::IfcDocumentInformation::Class() { return *IFC4X3_TC1_IfcDocumentInformation_type; } Ifc4x3_tc1::IfcDocumentInformation::IfcDocumentInformation(IfcEntityInstanceData* e) : IfcExternalInformation((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcDocumentInformation_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::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, ::Ifc4x3_tc1::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of_instance::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< ::Ifc4x3_tc1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_tc1::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Identification));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Location));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CreationTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LastRevisionTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LastRevisionTime));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ElectronicFormat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ElectronicFormat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ValidFrom) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ValidFrom));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ValidUntil) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ValidUntil));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc4x3_tc1::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc4x3_tc1::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } +Ifc4x3_tc1::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, ::Ifc4x3_tc1::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcActorSelect >::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< ::Ifc4x3_tc1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_tc1::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Identification));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Location));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CreationTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LastRevisionTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LastRevisionTime));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ElectronicFormat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ElectronicFormat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ValidFrom) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ValidFrom));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ValidUntil) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ValidUntil));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc4x3_tc1::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc4x3_tc1::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } // Function implementations for IfcDocumentInformationRelationship ::Ifc4x3_tc1::IfcDocumentInformation* Ifc4x3_tc1::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_tc1::IfcDocumentInformation>(true); } @@ -16256,14 +16256,14 @@ Ifc4x3_tc1::IfcExternalReference::IfcExternalReference(boost::optional< std::str // Function implementations for IfcExternalReferenceRelationship ::Ifc4x3_tc1::IfcExternalReference* Ifc4x3_tc1::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_tc1::IfcExternalReference>(true); } void Ifc4x3_tc1::IfcExternalReferenceRelationship::setRelatingReference(::Ifc4x3_tc1::IfcExternalReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -aggregate_of_instance::ptr Ifc4x3_tc1::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } -void Ifc4x3_tc1::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr Ifc4x3_tc1::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr v = *data_->getArgument(3); return v; } +void Ifc4x3_tc1::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_tc1::IfcExternalReferenceRelationship::declaration() const { return *IFC4X3_TC1_IfcExternalReferenceRelationship_type; } const IfcParse::entity& Ifc4x3_tc1::IfcExternalReferenceRelationship::Class() { return *IFC4X3_TC1_IfcExternalReferenceRelationship_type; } Ifc4x3_tc1::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcExternalReferenceRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcExternalReference* v3_RelatingReference, aggregate_of_instance::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcExternalReferenceRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingReference));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } +Ifc4x3_tc1::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcExternalReferenceRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingReference));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } // Function implementations for IfcExternalSpatialElement boost::optional< ::Ifc4x3_tc1::IfcExternalSpatialElementTypeEnum::Value > Ifc4x3_tc1::IfcExternalSpatialElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcExternalSpatialElementTypeEnum::FromString(*data_->getArgument(8)); } @@ -16516,8 +16516,8 @@ Ifc4x3_tc1::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcEntity Ifc4x3_tc1::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcFeatureElementSubtraction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcFillAreaStyle -aggregate_of_instance::ptr Ifc4x3_tc1::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_tc1::IfcFillAreaStyle::setFillStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_tc1::IfcFillStyleSelect >::ptr Ifc4x3_tc1::IfcFillAreaStyle::FillStyles() const { aggregate_of< ::Ifc4x3_tc1::IfcFillStyleSelect >::ptr v = *data_->getArgument(1); return v; } +void Ifc4x3_tc1::IfcFillAreaStyle::setFillStyles(aggregate_of< ::Ifc4x3_tc1::IfcFillStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x3_tc1::IfcFillAreaStyle::ModelOrDraughting() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } void Ifc4x3_tc1::IfcFillAreaStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } @@ -16525,7 +16525,7 @@ void Ifc4x3_tc1::IfcFillAreaStyle::setModelOrDraughting(boost::optional< bool > const IfcParse::entity& Ifc4x3_tc1::IfcFillAreaStyle::declaration() const { return *IFC4X3_TC1_IfcFillAreaStyle_type; } const IfcParse::entity& Ifc4x3_tc1::IfcFillAreaStyle::Class() { return *IFC4X3_TC1_IfcFillAreaStyle_type; } Ifc4x3_tc1::IfcFillAreaStyle::IfcFillAreaStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcFillAreaStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of_instance::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles));data_->setArgument(1,attr);} if (v3_ModelOrDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ModelOrDraughting));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x3_tc1::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_tc1::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles));data_->setArgument(1,attr);} if (v3_ModelOrDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ModelOrDraughting));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcFillAreaStyleHatching ::Ifc4x3_tc1::IfcCurveStyle* Ifc4x3_tc1::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_tc1::IfcCurveStyle>(true); } @@ -16845,7 +16845,7 @@ Ifc4x3_tc1::IfcGeographicElementType::IfcGeographicElementType(std::string v1_Gl const IfcParse::entity& Ifc4x3_tc1::IfcGeometricCurveSet::declaration() const { return *IFC4X3_TC1_IfcGeometricCurveSet_type; } const IfcParse::entity& Ifc4x3_tc1::IfcGeometricCurveSet::Class() { return *IFC4X3_TC1_IfcGeometricCurveSet_type; } Ifc4x3_tc1::IfcGeometricCurveSet::IfcGeometricCurveSet(IfcEntityInstanceData* e) : IfcGeometricSet((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcGeometricCurveSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of_instance::ptr v1_Elements) : IfcGeometricSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcGeometricCurveSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } +Ifc4x3_tc1::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4x3_tc1::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcGeometricCurveSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } // Function implementations for IfcGeometricRepresentationContext int Ifc4x3_tc1::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = *data_->getArgument(2); return v; } @@ -16890,14 +16890,14 @@ Ifc4x3_tc1::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubC Ifc4x3_tc1::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, ::Ifc4x3_tc1::IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, ::Ifc4x3_tc1::IfcGeometricProjectionEnum::Value v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcGeometricRepresentationSubContext_type); if (v1_ContextIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_ContextIdentifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_ContextType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ContextType));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ParentContext));data_->setArgument(6,attr);} if (v8_TargetScale) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_TargetScale));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_TargetView,::Ifc4x3_tc1::IfcGeometricProjectionEnum::ToString(v9_TargetView))));data_->setArgument(8,attr);} if (v10_UserDefinedTargetView) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_UserDefinedTargetView));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcGeometricSet -aggregate_of_instance::ptr Ifc4x3_tc1::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_tc1::IfcGeometricSet::setElements(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_tc1::IfcGeometricSetSelect >::ptr Ifc4x3_tc1::IfcGeometricSet::Elements() const { aggregate_of< ::Ifc4x3_tc1::IfcGeometricSetSelect >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x3_tc1::IfcGeometricSet::setElements(aggregate_of< ::Ifc4x3_tc1::IfcGeometricSetSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_tc1::IfcGeometricSet::declaration() const { return *IFC4X3_TC1_IfcGeometricSet_type; } const IfcParse::entity& Ifc4x3_tc1::IfcGeometricSet::Class() { return *IFC4X3_TC1_IfcGeometricSet_type; } Ifc4x3_tc1::IfcGeometricSet::IfcGeometricSet(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcGeometricSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcGeometricSet::IfcGeometricSet(aggregate_of_instance::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcGeometricSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } +Ifc4x3_tc1::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x3_tc1::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcGeometricSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } // Function implementations for IfcGeomodel @@ -17132,8 +17132,8 @@ Ifc4x3_tc1::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4x3_tc1::IfcTessellate // Function implementations for IfcIndexedPolyCurve ::Ifc4x3_tc1::IfcCartesianPointList* Ifc4x3_tc1::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_tc1::IfcCartesianPointList>(true); } void Ifc4x3_tc1::IfcIndexedPolyCurve::setPoints(::Ifc4x3_tc1::IfcCartesianPointList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x3_tc1::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_tc1::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcSegmentIndexSelect >::ptr > Ifc4x3_tc1::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_tc1::IfcSegmentIndexSelect >::ptr v = *data_->getArgument(1); return v; } +void Ifc4x3_tc1::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcSegmentIndexSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x3_tc1::IfcIndexedPolyCurve::SelfIntersect() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } void Ifc4x3_tc1::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } @@ -17141,7 +17141,7 @@ void Ifc4x3_tc1::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v const IfcParse::entity& Ifc4x3_tc1::IfcIndexedPolyCurve::declaration() const { return *IFC4X3_TC1_IfcIndexedPolyCurve_type; } const IfcParse::entity& Ifc4x3_tc1::IfcIndexedPolyCurve::Class() { return *IFC4X3_TC1_IfcIndexedPolyCurve_type; } Ifc4x3_tc1::IfcIndexedPolyCurve::IfcIndexedPolyCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcIndexedPolyCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x3_tc1::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of_instance::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcIndexedPolyCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Points));data_->setArgument(0,attr);} if (v2_Segments) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Segments));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_SelfIntersect) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_SelfIntersect));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x3_tc1::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x3_tc1::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcIndexedPolyCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Points));data_->setArgument(0,attr);} if (v2_Segments) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Segments));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_SelfIntersect) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_SelfIntersect));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcIndexedPolygonalFace std::vector< int > /*[3:?]*/ Ifc4x3_tc1::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = *data_->getArgument(0); return v; } @@ -17258,14 +17258,14 @@ Ifc4x3_tc1::IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, // Function implementations for IfcIrregularTimeSeriesValue std::string Ifc4x3_tc1::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_tc1::IfcIrregularTimeSeriesValue::setTimeStamp(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of_instance::ptr Ifc4x3_tc1::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_tc1::IfcIrregularTimeSeriesValue::setListValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr Ifc4x3_tc1::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v = *data_->getArgument(1); return v; } +void Ifc4x3_tc1::IfcIrregularTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_tc1::IfcIrregularTimeSeriesValue::declaration() const { return *IFC4X3_TC1_IfcIrregularTimeSeriesValue_type; } const IfcParse::entity& Ifc4x3_tc1::IfcIrregularTimeSeriesValue::Class() { return *IFC4X3_TC1_IfcIrregularTimeSeriesValue_type; } Ifc4x3_tc1::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_TC1_IfcIrregularTimeSeriesValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of_instance::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcIrregularTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TimeStamp));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ListValues));data_->setArgument(1,attr);} } +Ifc4x3_tc1::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcIrregularTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TimeStamp));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ListValues));data_->setArgument(1,attr);} } // Function implementations for IfcJunctionBox boost::optional< ::Ifc4x3_tc1::IfcJunctionBoxTypeEnum::Value > Ifc4x3_tc1::IfcJunctionBox::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcJunctionBoxTypeEnum::FromString(*data_->getArgument(8)); } @@ -17712,8 +17712,8 @@ Ifc4x3_tc1::IfcMaterial::IfcMaterial(IfcEntityInstanceData* e) : IfcMaterialDefi Ifc4x3_tc1::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_Category) : IfcMaterialDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Category) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Category));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcMaterialClassificationRelationship -aggregate_of_instance::ptr Ifc4x3_tc1::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_tc1::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_tc1::IfcClassificationSelect >::ptr Ifc4x3_tc1::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of< ::Ifc4x3_tc1::IfcClassificationSelect >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x3_tc1::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of< ::Ifc4x3_tc1::IfcClassificationSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4x3_tc1::IfcMaterial* Ifc4x3_tc1::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_tc1::IfcMaterial>(true); } void Ifc4x3_tc1::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc4x3_tc1::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -17721,7 +17721,7 @@ void Ifc4x3_tc1::IfcMaterialClassificationRelationship::setClassifiedMaterial(:: const IfcParse::entity& Ifc4x3_tc1::IfcMaterialClassificationRelationship::declaration() const { return *IFC4X3_TC1_IfcMaterialClassificationRelationship_type; } const IfcParse::entity& Ifc4x3_tc1::IfcMaterialClassificationRelationship::Class() { return *IFC4X3_TC1_IfcMaterialClassificationRelationship_type; } Ifc4x3_tc1::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_TC1_IfcMaterialClassificationRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of_instance::ptr v1_MaterialClassifications, ::Ifc4x3_tc1::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcMaterialClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialClassifications));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ClassifiedMaterial));data_->setArgument(1,attr);} } +Ifc4x3_tc1::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4x3_tc1::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x3_tc1::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcMaterialClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialClassifications));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ClassifiedMaterial));data_->setArgument(1,attr);} } // Function implementations for IfcMaterialConstituent boost::optional< std::string > Ifc4x3_tc1::IfcMaterialConstituent::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -18948,8 +18948,8 @@ std::string Ifc4x3_tc1::IfcPresentationLayerAssignment::Name() const { std::str void Ifc4x3_tc1::IfcPresentationLayerAssignment::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_tc1::IfcPresentationLayerAssignment::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x3_tc1::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } -aggregate_of_instance::ptr Ifc4x3_tc1::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_tc1::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_tc1::IfcLayeredItem >::ptr Ifc4x3_tc1::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of< ::Ifc4x3_tc1::IfcLayeredItem >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x3_tc1::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of< ::Ifc4x3_tc1::IfcLayeredItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_tc1::IfcPresentationLayerAssignment::Identifier() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4x3_tc1::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } @@ -18957,7 +18957,7 @@ void Ifc4x3_tc1::IfcPresentationLayerAssignment::setIdentifier(boost::optional< const IfcParse::entity& Ifc4x3_tc1::IfcPresentationLayerAssignment::declaration() const { return *IFC4X3_TC1_IfcPresentationLayerAssignment_type; } const IfcParse::entity& Ifc4x3_tc1::IfcPresentationLayerAssignment::Class() { return *IFC4X3_TC1_IfcPresentationLayerAssignment_type; } Ifc4x3_tc1::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_TC1_IfcPresentationLayerAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcPresentationLayerAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } +Ifc4x3_tc1::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_tc1::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcPresentationLayerAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcPresentationLayerWithStyle boost::logic::tribool Ifc4x3_tc1::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = *data_->getArgument(4); return v; } @@ -18973,7 +18973,7 @@ void Ifc4x3_tc1::IfcPresentationLayerWithStyle::setLayerStyles(aggregate_of< ::I const IfcParse::entity& Ifc4x3_tc1::IfcPresentationLayerWithStyle::declaration() const { return *IFC4X3_TC1_IfcPresentationLayerWithStyle_type; } const IfcParse::entity& Ifc4x3_tc1::IfcPresentationLayerWithStyle::Class() { return *IFC4X3_TC1_IfcPresentationLayerWithStyle_type; } Ifc4x3_tc1::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcEntityInstanceData* e) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcPresentationLayerWithStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_tc1::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcPresentationLayerWithStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_LayerOn));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LayerFrozen));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LayerBlocked));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LayerStyles)->generalize());data_->setArgument(7,attr);} } +Ifc4x3_tc1::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_tc1::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_tc1::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcPresentationLayerWithStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_LayerOn));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LayerFrozen));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LayerBlocked));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LayerStyles)->generalize());data_->setArgument(7,attr);} } // Function implementations for IfcPresentationStyle boost::optional< std::string > Ifc4x3_tc1::IfcPresentationStyle::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -19205,8 +19205,8 @@ Ifc4x3_tc1::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship Ifc4x3_tc1::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcProperty* v3_DependingProperty, ::Ifc4x3_tc1::IfcProperty* v4_DependantProperty, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcPropertyDependencyRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_DependingProperty));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_DependantProperty));data_->setArgument(3,attr);} if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcPropertyEnumeratedValue -boost::optional< aggregate_of_instance::ptr > Ifc4x3_tc1::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_tc1::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > Ifc4x3_tc1::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x3_tc1::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_tc1::IfcPropertyEnumeration* Ifc4x3_tc1::IfcPropertyEnumeratedValue::EnumerationReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_tc1::IfcPropertyEnumeration>(true); } void Ifc4x3_tc1::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x3_tc1::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19214,13 +19214,13 @@ void Ifc4x3_tc1::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x3_tc const IfcParse::entity& Ifc4x3_tc1::IfcPropertyEnumeratedValue::declaration() const { return *IFC4X3_TC1_IfcPropertyEnumeratedValue_type; } const IfcParse::entity& Ifc4x3_tc1::IfcPropertyEnumeratedValue::Class() { return *IFC4X3_TC1_IfcPropertyEnumeratedValue_type; } Ifc4x3_tc1::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcPropertyEnumeratedValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of_instance::ptr > v3_EnumerationValues, ::Ifc4x3_tc1::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcPropertyEnumeratedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Specification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Specification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EnumerationValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EnumerationValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EnumerationReference));data_->setArgument(3,attr);} } +Ifc4x3_tc1::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x3_tc1::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcPropertyEnumeratedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Specification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Specification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EnumerationValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EnumerationValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EnumerationReference));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyEnumeration std::string Ifc4x3_tc1::IfcPropertyEnumeration::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_tc1::IfcPropertyEnumeration::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of_instance::ptr Ifc4x3_tc1::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_tc1::IfcPropertyEnumeration::setEnumerationValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr Ifc4x3_tc1::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v = *data_->getArgument(1); return v; } +void Ifc4x3_tc1::IfcPropertyEnumeration::setEnumerationValues(aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } ::Ifc4x3_tc1::IfcUnit* Ifc4x3_tc1::IfcPropertyEnumeration::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_tc1::IfcUnit>(true); } void Ifc4x3_tc1::IfcPropertyEnumeration::setUnit(::Ifc4x3_tc1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -19228,11 +19228,11 @@ void Ifc4x3_tc1::IfcPropertyEnumeration::setUnit(::Ifc4x3_tc1::IfcUnit* v) { {If const IfcParse::entity& Ifc4x3_tc1::IfcPropertyEnumeration::declaration() const { return *IFC4X3_TC1_IfcPropertyEnumeration_type; } const IfcParse::entity& Ifc4x3_tc1::IfcPropertyEnumeration::Class() { return *IFC4X3_TC1_IfcPropertyEnumeration_type; } Ifc4x3_tc1::IfcPropertyEnumeration::IfcPropertyEnumeration(IfcEntityInstanceData* e) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcPropertyEnumeration_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of_instance::ptr v2_EnumerationValues, ::Ifc4x3_tc1::IfcUnit* v3_Unit) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcPropertyEnumeration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EnumerationValues));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);} } +Ifc4x3_tc1::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x3_tc1::IfcUnit* v3_Unit) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcPropertyEnumeration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EnumerationValues));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);} } // Function implementations for IfcPropertyListValue -boost::optional< aggregate_of_instance::ptr > Ifc4x3_tc1::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_tc1::IfcPropertyListValue::setListValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > Ifc4x3_tc1::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x3_tc1::IfcPropertyListValue::setListValues(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_tc1::IfcUnit* Ifc4x3_tc1::IfcPropertyListValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_tc1::IfcUnit>(true); } void Ifc4x3_tc1::IfcPropertyListValue::setUnit(::Ifc4x3_tc1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19240,7 +19240,7 @@ void Ifc4x3_tc1::IfcPropertyListValue::setUnit(::Ifc4x3_tc1::IfcUnit* v) { {IfcW const IfcParse::entity& Ifc4x3_tc1::IfcPropertyListValue::declaration() const { return *IFC4X3_TC1_IfcPropertyListValue_type; } const IfcParse::entity& Ifc4x3_tc1::IfcPropertyListValue::Class() { return *IFC4X3_TC1_IfcPropertyListValue_type; } Ifc4x3_tc1::IfcPropertyListValue::IfcPropertyListValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcPropertyListValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of_instance::ptr > v3_ListValues, ::Ifc4x3_tc1::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcPropertyListValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Specification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Specification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ListValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ListValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } +Ifc4x3_tc1::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v3_ListValues, ::Ifc4x3_tc1::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcPropertyListValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Specification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Specification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ListValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ListValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyReferenceValue boost::optional< std::string > Ifc4x3_tc1::IfcPropertyReferenceValue::UsageName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } @@ -19303,10 +19303,10 @@ Ifc4x3_tc1::IfcPropertySingleValue::IfcPropertySingleValue(IfcEntityInstanceData Ifc4x3_tc1::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Specification, ::Ifc4x3_tc1::IfcValue* v3_NominalValue, ::Ifc4x3_tc1::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcPropertySingleValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Specification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Specification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_NominalValue));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyTableValue -boost::optional< aggregate_of_instance::ptr > Ifc4x3_tc1::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_tc1::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x3_tc1::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } -void Ifc4x3_tc1::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > Ifc4x3_tc1::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x3_tc1::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > Ifc4x3_tc1::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v = *data_->getArgument(3); return v; } +void Ifc4x3_tc1::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_tc1::IfcPropertyTableValue::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x3_tc1::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x3_tc1::IfcUnit* Ifc4x3_tc1::IfcPropertyTableValue::DefiningUnit() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_tc1::IfcUnit>(true); } @@ -19320,7 +19320,7 @@ void Ifc4x3_tc1::IfcPropertyTableValue::setCurveInterpolation(boost::optional< : const IfcParse::entity& Ifc4x3_tc1::IfcPropertyTableValue::declaration() const { return *IFC4X3_TC1_IfcPropertyTableValue_type; } const IfcParse::entity& Ifc4x3_tc1::IfcPropertyTableValue::Class() { return *IFC4X3_TC1_IfcPropertyTableValue_type; } Ifc4x3_tc1::IfcPropertyTableValue::IfcPropertyTableValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcPropertyTableValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of_instance::ptr > v3_DefiningValues, boost::optional< aggregate_of_instance::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_tc1::IfcUnit* v6_DefiningUnit, ::Ifc4x3_tc1::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_tc1::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcPropertyTableValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Specification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Specification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_DefiningValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_DefiningValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DefinedValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DefinedValues));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_DefiningUnit));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_DefinedUnit));data_->setArgument(6,attr);} if (v8_CurveInterpolation) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_CurveInterpolation,::Ifc4x3_tc1::IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } +Ifc4x3_tc1::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_tc1::IfcUnit* v6_DefiningUnit, ::Ifc4x3_tc1::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_tc1::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcPropertyTableValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Specification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Specification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_DefiningValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_DefiningValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DefinedValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DefinedValues));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_DefiningUnit));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_DefinedUnit));data_->setArgument(6,attr);} if (v8_CurveInterpolation) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_CurveInterpolation,::Ifc4x3_tc1::IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcPropertyTemplate @@ -19811,14 +19811,14 @@ boost::optional< ::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_tc1: void Ifc4x3_tc1::IfcReinforcingBarType::setBarSurface(boost::optional< ::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::ToString(*v)));}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4x3_tc1::IfcReinforcingBarType::BendingShapeCode() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } void Ifc4x3_tc1::IfcReinforcingBarType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x3_tc1::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(15); return v; } -void Ifc4x3_tc1::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcBendingParameterSelect >::ptr > Ifc4x3_tc1::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_tc1::IfcBendingParameterSelect >::ptr v = *data_->getArgument(15); return v; } +void Ifc4x3_tc1::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } const IfcParse::entity& Ifc4x3_tc1::IfcReinforcingBarType::declaration() const { return *IFC4X3_TC1_IfcReinforcingBarType_type; } const IfcParse::entity& Ifc4x3_tc1::IfcReinforcingBarType::Class() { return *IFC4X3_TC1_IfcReinforcingBarType_type; } Ifc4x3_tc1::IfcReinforcingBarType::IfcReinforcingBarType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcReinforcingBarType_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of_instance::ptr > v16_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcReinforcingBarType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_tc1::IfcReinforcingBarTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_BarLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_BarLength));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_BarSurface) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_BarSurface,::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_BendingShapeCode));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_BendingParameters));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } } +Ifc4x3_tc1::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcReinforcingBarType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_tc1::IfcReinforcingBarTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_BarLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_BarLength));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_BarSurface) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_BarSurface,::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_BendingShapeCode));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_BendingParameters));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } } // Function implementations for IfcReinforcingElement boost::optional< std::string > Ifc4x3_tc1::IfcReinforcingElement::SteelGrade() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } @@ -19885,14 +19885,14 @@ boost::optional< double > Ifc4x3_tc1::IfcReinforcingMeshType::TransverseBarSpaci void Ifc4x3_tc1::IfcReinforcingMeshType::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(17,attr);} } boost::optional< std::string > Ifc4x3_tc1::IfcReinforcingMeshType::BendingShapeCode() const { if(!data_->getArgument(18) || data_->getArgument(18)->isNull()) { return boost::none; } std::string v = *data_->getArgument(18); return v; } void Ifc4x3_tc1::IfcReinforcingMeshType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(18,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x3_tc1::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(19); return v; } -void Ifc4x3_tc1::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(19,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcBendingParameterSelect >::ptr > Ifc4x3_tc1::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_tc1::IfcBendingParameterSelect >::ptr v = *data_->getArgument(19); return v; } +void Ifc4x3_tc1::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(19,attr);} } const IfcParse::entity& Ifc4x3_tc1::IfcReinforcingMeshType::declaration() const { return *IFC4X3_TC1_IfcReinforcingMeshType_type; } const IfcParse::entity& Ifc4x3_tc1::IfcReinforcingMeshType::Class() { return *IFC4X3_TC1_IfcReinforcingMeshType_type; } Ifc4x3_tc1::IfcReinforcingMeshType::IfcReinforcingMeshType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcReinforcingMeshType_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of_instance::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcReinforcingMeshType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshLength));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_MeshWidth));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LongitudinalBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TransverseBarNominalDiameter));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LongitudinalBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_TransverseBarCrossSectionArea));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LongitudinalBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_TransverseBarSpacing));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_BendingShapeCode));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_BendingParameters));data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } +Ifc4x3_tc1::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of< ::Ifc4x3_tc1::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcReinforcingMeshType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshLength));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_MeshWidth));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LongitudinalBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TransverseBarNominalDiameter));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LongitudinalBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_TransverseBarCrossSectionArea));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LongitudinalBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_TransverseBarSpacing));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_BendingShapeCode));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_BendingParameters));data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } // Function implementations for IfcRelAdheresToElement ::Ifc4x3_tc1::IfcElement* Ifc4x3_tc1::IfcRelAdheresToElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_tc1::IfcElement>(true); } @@ -20005,14 +20005,14 @@ Ifc4x3_tc1::IfcRelAssignsToResource::IfcRelAssignsToResource(IfcEntityInstanceDa Ifc4x3_tc1::IfcRelAssignsToResource::IfcRelAssignsToResource(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_tc1::IfcResourceSelect* v7_RelatingResource) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcRelAssignsToResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_RelatedObjectsType));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingResource));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociates -aggregate_of_instance::ptr Ifc4x3_tc1::IfcRelAssociates::RelatedObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(4); return v; } -void Ifc4x3_tc1::IfcRelAssociates::setRelatedObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr Ifc4x3_tc1::IfcRelAssociates::RelatedObjects() const { aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v = *data_->getArgument(4); return v; } +void Ifc4x3_tc1::IfcRelAssociates::setRelatedObjects(aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssociates::declaration() const { return *IFC4X3_TC1_IfcRelAssociates_type; } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssociates::Class() { return *IFC4X3_TC1_IfcRelAssociates_type; } Ifc4x3_tc1::IfcRelAssociates::IfcRelAssociates(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcRelAssociates_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} } +Ifc4x3_tc1::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} } // Function implementations for IfcRelAssociatesApproval ::Ifc4x3_tc1::IfcApproval* Ifc4x3_tc1::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_tc1::IfcApproval>(true); } @@ -20022,7 +20022,7 @@ void Ifc4x3_tc1::IfcRelAssociatesApproval::setRelatingApproval(::Ifc4x3_tc1::Ifc const IfcParse::entity& Ifc4x3_tc1::IfcRelAssociatesApproval::declaration() const { return *IFC4X3_TC1_IfcRelAssociatesApproval_type; } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssociatesApproval::Class() { return *IFC4X3_TC1_IfcRelAssociatesApproval_type; } Ifc4x3_tc1::IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcRelAssociatesApproval_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } +Ifc4x3_tc1::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesClassification ::Ifc4x3_tc1::IfcClassificationSelect* Ifc4x3_tc1::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_tc1::IfcClassificationSelect>(true); } @@ -20032,7 +20032,7 @@ void Ifc4x3_tc1::IfcRelAssociatesClassification::setRelatingClassification(::Ifc const IfcParse::entity& Ifc4x3_tc1::IfcRelAssociatesClassification::declaration() const { return *IFC4X3_TC1_IfcRelAssociatesClassification_type; } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssociatesClassification::Class() { return *IFC4X3_TC1_IfcRelAssociatesClassification_type; } Ifc4x3_tc1::IfcRelAssociatesClassification::IfcRelAssociatesClassification(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcRelAssociatesClassification_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcRelAssociatesClassification_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingClassification));data_->setArgument(5,attr);} } +Ifc4x3_tc1::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcRelAssociatesClassification_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingClassification));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesConstraint boost::optional< std::string > Ifc4x3_tc1::IfcRelAssociatesConstraint::Intent() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } @@ -20044,7 +20044,7 @@ void Ifc4x3_tc1::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc4x3_tc1: const IfcParse::entity& Ifc4x3_tc1::IfcRelAssociatesConstraint::declaration() const { return *IFC4X3_TC1_IfcRelAssociatesConstraint_type; } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssociatesConstraint::Class() { return *IFC4X3_TC1_IfcRelAssociatesConstraint_type; } Ifc4x3_tc1::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcRelAssociatesConstraint_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_tc1::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} if (v6_Intent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Intent));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } +Ifc4x3_tc1::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_tc1::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} if (v6_Intent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Intent));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociatesDocument ::Ifc4x3_tc1::IfcDocumentSelect* Ifc4x3_tc1::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_tc1::IfcDocumentSelect>(true); } @@ -20054,7 +20054,7 @@ void Ifc4x3_tc1::IfcRelAssociatesDocument::setRelatingDocument(::Ifc4x3_tc1::Ifc const IfcParse::entity& Ifc4x3_tc1::IfcRelAssociatesDocument::declaration() const { return *IFC4X3_TC1_IfcRelAssociatesDocument_type; } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssociatesDocument::Class() { return *IFC4X3_TC1_IfcRelAssociatesDocument_type; } Ifc4x3_tc1::IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcRelAssociatesDocument_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } +Ifc4x3_tc1::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesLibrary ::Ifc4x3_tc1::IfcLibrarySelect* Ifc4x3_tc1::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_tc1::IfcLibrarySelect>(true); } @@ -20064,7 +20064,7 @@ void Ifc4x3_tc1::IfcRelAssociatesLibrary::setRelatingLibrary(::Ifc4x3_tc1::IfcLi const IfcParse::entity& Ifc4x3_tc1::IfcRelAssociatesLibrary::declaration() const { return *IFC4X3_TC1_IfcRelAssociatesLibrary_type; } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssociatesLibrary::Class() { return *IFC4X3_TC1_IfcRelAssociatesLibrary_type; } Ifc4x3_tc1::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcRelAssociatesLibrary_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } +Ifc4x3_tc1::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesMaterial ::Ifc4x3_tc1::IfcMaterialSelect* Ifc4x3_tc1::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_tc1::IfcMaterialSelect>(true); } @@ -20074,7 +20074,7 @@ void Ifc4x3_tc1::IfcRelAssociatesMaterial::setRelatingMaterial(::Ifc4x3_tc1::Ifc const IfcParse::entity& Ifc4x3_tc1::IfcRelAssociatesMaterial::declaration() const { return *IFC4X3_TC1_IfcRelAssociatesMaterial_type; } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssociatesMaterial::Class() { return *IFC4X3_TC1_IfcRelAssociatesMaterial_type; } Ifc4x3_tc1::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcRelAssociatesMaterial_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcRelAssociatesMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingMaterial));data_->setArgument(5,attr);} } +Ifc4x3_tc1::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcRelAssociatesMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingMaterial));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesProfileDef ::Ifc4x3_tc1::IfcProfileDef* Ifc4x3_tc1::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_tc1::IfcProfileDef>(true); } @@ -20084,7 +20084,7 @@ void Ifc4x3_tc1::IfcRelAssociatesProfileDef::setRelatingProfileDef(::Ifc4x3_tc1: const IfcParse::entity& Ifc4x3_tc1::IfcRelAssociatesProfileDef::declaration() const { return *IFC4X3_TC1_IfcRelAssociatesProfileDef_type; } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssociatesProfileDef::Class() { return *IFC4X3_TC1_IfcRelAssociatesProfileDef_type; } Ifc4x3_tc1::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcRelAssociatesProfileDef_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcProfileDef* v6_RelatingProfileDef) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcRelAssociatesProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingProfileDef));data_->setArgument(5,attr);} } +Ifc4x3_tc1::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcProfileDef* v6_RelatingProfileDef) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcRelAssociatesProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingProfileDef));data_->setArgument(5,attr);} } // Function implementations for IfcRelConnects @@ -20243,14 +20243,14 @@ Ifc4x3_tc1::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::If // Function implementations for IfcRelDeclares ::Ifc4x3_tc1::IfcContext* Ifc4x3_tc1::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_tc1::IfcContext>(true); } void Ifc4x3_tc1::IfcRelDeclares::setRelatingContext(::Ifc4x3_tc1::IfcContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -aggregate_of_instance::ptr Ifc4x3_tc1::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr v = *data_->getArgument(5); return v; } -void Ifc4x3_tc1::IfcRelDeclares::setRelatedDefinitions(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } +aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr Ifc4x3_tc1::IfcRelDeclares::RelatedDefinitions() const { aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v = *data_->getArgument(5); return v; } +void Ifc4x3_tc1::IfcRelDeclares::setRelatedDefinitions(aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_tc1::IfcRelDeclares::declaration() const { return *IFC4X3_TC1_IfcRelDeclares_type; } const IfcParse::entity& Ifc4x3_tc1::IfcRelDeclares::Class() { return *IFC4X3_TC1_IfcRelDeclares_type; } Ifc4x3_tc1::IfcRelDeclares::IfcRelDeclares(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcRelDeclares_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcContext* v5_RelatingContext, aggregate_of_instance::ptr v6_RelatedDefinitions) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcRelDeclares_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingContext));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedDefinitions));data_->setArgument(5,attr);} } +Ifc4x3_tc1::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcRelDeclares_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingContext));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedDefinitions));data_->setArgument(5,attr);} } // Function implementations for IfcRelDecomposes @@ -20397,8 +20397,8 @@ Ifc4x3_tc1::IfcRelProjectsElement::IfcRelProjectsElement(IfcEntityInstanceData* Ifc4x3_tc1::IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcElement* v5_RelatingElement, ::Ifc4x3_tc1::IfcFeatureElementAddition* v6_RelatedFeatureElement) : IfcRelDecomposes((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcRelProjectsElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedFeatureElement));data_->setArgument(5,attr);} } // Function implementations for IfcRelReferencedInSpatialStructure -aggregate_of_instance::ptr Ifc4x3_tc1::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr v = *data_->getArgument(4); return v; } -void Ifc4x3_tc1::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +aggregate_of< ::Ifc4x3_tc1::IfcSpatialReferenceSelect >::ptr Ifc4x3_tc1::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of< ::Ifc4x3_tc1::IfcSpatialReferenceSelect >::ptr v = *data_->getArgument(4); return v; } +void Ifc4x3_tc1::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4x3_tc1::IfcSpatialReferenceSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } ::Ifc4x3_tc1::IfcSpatialElement* Ifc4x3_tc1::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_tc1::IfcSpatialElement>(true); } void Ifc4x3_tc1::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc4x3_tc1::IfcSpatialElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20406,7 +20406,7 @@ void Ifc4x3_tc1::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc4 const IfcParse::entity& Ifc4x3_tc1::IfcRelReferencedInSpatialStructure::declaration() const { return *IFC4X3_TC1_IfcRelReferencedInSpatialStructure_type; } const IfcParse::entity& Ifc4x3_tc1::IfcRelReferencedInSpatialStructure::Class() { return *IFC4X3_TC1_IfcRelReferencedInSpatialStructure_type; } Ifc4x3_tc1::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(IfcEntityInstanceData* e) : IfcRelConnects((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcRelReferencedInSpatialStructure_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedElements, ::Ifc4x3_tc1::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcRelReferencedInSpatialStructure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedElements));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingStructure));data_->setArgument(5,attr);} } +Ifc4x3_tc1::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcSpatialReferenceSelect >::ptr v5_RelatedElements, ::Ifc4x3_tc1::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcRelReferencedInSpatialStructure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedElements));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingStructure));data_->setArgument(5,attr);} } // Function implementations for IfcRelSequence ::Ifc4x3_tc1::IfcProcess* Ifc4x3_tc1::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_tc1::IfcProcess>(true); } @@ -20578,8 +20578,8 @@ Ifc4x3_tc1::IfcResource::IfcResource(IfcEntityInstanceData* e) : IfcObject((IfcE Ifc4x3_tc1::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc4x3_tc1::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((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_LongDescription));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcResourceApprovalRelationship -aggregate_of_instance::ptr Ifc4x3_tc1::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_tc1::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr Ifc4x3_tc1::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x3_tc1::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4x3_tc1::IfcApproval* Ifc4x3_tc1::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_tc1::IfcApproval>(true); } void Ifc4x3_tc1::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x3_tc1::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -20587,19 +20587,19 @@ void Ifc4x3_tc1::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x3_t const IfcParse::entity& Ifc4x3_tc1::IfcResourceApprovalRelationship::declaration() const { return *IFC4X3_TC1_IfcResourceApprovalRelationship_type; } const IfcParse::entity& Ifc4x3_tc1::IfcResourceApprovalRelationship::Class() { return *IFC4X3_TC1_IfcResourceApprovalRelationship_type; } Ifc4x3_tc1::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcResourceApprovalRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_RelatedResourceObjects, ::Ifc4x3_tc1::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcResourceApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatedResourceObjects));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatingApproval));data_->setArgument(3,attr);} } +Ifc4x3_tc1::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x3_tc1::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcResourceApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatedResourceObjects));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatingApproval));data_->setArgument(3,attr);} } // Function implementations for IfcResourceConstraintRelationship ::Ifc4x3_tc1::IfcConstraint* Ifc4x3_tc1::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_tc1::IfcConstraint>(true); } void Ifc4x3_tc1::IfcResourceConstraintRelationship::setRelatingConstraint(::Ifc4x3_tc1::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -aggregate_of_instance::ptr Ifc4x3_tc1::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } -void Ifc4x3_tc1::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr Ifc4x3_tc1::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr v = *data_->getArgument(3); return v; } +void Ifc4x3_tc1::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_tc1::IfcResourceConstraintRelationship::declaration() const { return *IFC4X3_TC1_IfcResourceConstraintRelationship_type; } const IfcParse::entity& Ifc4x3_tc1::IfcResourceConstraintRelationship::Class() { return *IFC4X3_TC1_IfcResourceConstraintRelationship_type; } Ifc4x3_tc1::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcResourceConstraintRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcConstraint* v3_RelatingConstraint, aggregate_of_instance::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcResourceConstraintRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingConstraint));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } +Ifc4x3_tc1::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcResourceConstraintRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingConstraint));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } // Function implementations for IfcResourceLevelRelationship boost::optional< std::string > Ifc4x3_tc1::IfcResourceLevelRelationship::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -21039,14 +21039,14 @@ Ifc4x3_tc1::IfcShapeRepresentation::IfcShapeRepresentation(IfcEntityInstanceData Ifc4x3_tc1::IfcShapeRepresentation::IfcShapeRepresentation(::Ifc4x3_tc1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_tc1::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcShapeRepresentation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ContextOfItems));data_->setArgument(0,attr);} if (v2_RepresentationIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_RepresentationIdentifier));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_RepresentationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_RepresentationType));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Items)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcShellBasedSurfaceModel -aggregate_of_instance::ptr Ifc4x3_tc1::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_tc1::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_tc1::IfcShell >::ptr Ifc4x3_tc1::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of< ::Ifc4x3_tc1::IfcShell >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x3_tc1::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of< ::Ifc4x3_tc1::IfcShell >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_tc1::IfcShellBasedSurfaceModel::declaration() const { return *IFC4X3_TC1_IfcShellBasedSurfaceModel_type; } const IfcParse::entity& Ifc4x3_tc1::IfcShellBasedSurfaceModel::Class() { return *IFC4X3_TC1_IfcShellBasedSurfaceModel_type; } Ifc4x3_tc1::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcShellBasedSurfaceModel_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of_instance::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcShellBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SbsmBoundary));data_->setArgument(0,attr);} } +Ifc4x3_tc1::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4x3_tc1::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcShellBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SbsmBoundary));data_->setArgument(0,attr);} } // Function implementations for IfcSign boost::optional< ::Ifc4x3_tc1::IfcSignTypeEnum::Value > Ifc4x3_tc1::IfcSign::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcSignTypeEnum::FromString(*data_->getArgument(8)); } @@ -21988,14 +21988,14 @@ Ifc4x3_tc1::IfcSurfaceReinforcementArea::IfcSurfaceReinforcementArea(boost::opti // Function implementations for IfcSurfaceStyle ::Ifc4x3_tc1::IfcSurfaceSide::Value Ifc4x3_tc1::IfcSurfaceStyle::Side() const { return ::Ifc4x3_tc1::IfcSurfaceSide::FromString(*data_->getArgument(1)); } void Ifc4x3_tc1::IfcSurfaceStyle::setSide(::Ifc4x3_tc1::IfcSurfaceSide::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_tc1::IfcSurfaceSide::ToString(v)));data_->setArgument(1,attr);} } -aggregate_of_instance::ptr Ifc4x3_tc1::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_tc1::IfcSurfaceStyle::setStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_tc1::IfcSurfaceStyleElementSelect >::ptr Ifc4x3_tc1::IfcSurfaceStyle::Styles() const { aggregate_of< ::Ifc4x3_tc1::IfcSurfaceStyleElementSelect >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x3_tc1::IfcSurfaceStyle::setStyles(aggregate_of< ::Ifc4x3_tc1::IfcSurfaceStyleElementSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_tc1::IfcSurfaceStyle::declaration() const { return *IFC4X3_TC1_IfcSurfaceStyle_type; } const IfcParse::entity& Ifc4x3_tc1::IfcSurfaceStyle::Class() { return *IFC4X3_TC1_IfcSurfaceStyle_type; } Ifc4x3_tc1::IfcSurfaceStyle::IfcSurfaceStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcSurfaceStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcSurfaceSide::Value v2_Side, aggregate_of_instance::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc4x3_tc1::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles));data_->setArgument(2,attr);} } +Ifc4x3_tc1::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x3_tc1::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc4x3_tc1::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles));data_->setArgument(2,attr);} } // Function implementations for IfcSurfaceStyleLighting ::Ifc4x3_tc1::IfcColourRgb* Ifc4x3_tc1::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_tc1::IfcColourRgb>(true); } @@ -22250,8 +22250,8 @@ Ifc4x3_tc1::IfcTableColumn::IfcTableColumn(IfcEntityInstanceData* e) : IfcUtil:: Ifc4x3_tc1::IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, ::Ifc4x3_tc1::IfcUnit* v4_Unit, ::Ifc4x3_tc1::IfcReference* v5_ReferencePath) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcTableColumn_type); if (v1_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Identifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Name));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_ReferencePath));data_->setArgument(4,attr);} } // Function implementations for IfcTableRow -boost::optional< aggregate_of_instance::ptr > Ifc4x3_tc1::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_tc1::IfcTableRow::setRowCells(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > Ifc4x3_tc1::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x3_tc1::IfcTableRow::setRowCells(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< bool > Ifc4x3_tc1::IfcTableRow::IsHeading() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } bool v = *data_->getArgument(1); return v; } void Ifc4x3_tc1::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } @@ -22259,7 +22259,7 @@ void Ifc4x3_tc1::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrit const IfcParse::entity& Ifc4x3_tc1::IfcTableRow::declaration() const { return *IFC4X3_TC1_IfcTableRow_type; } const IfcParse::entity& Ifc4x3_tc1::IfcTableRow::Class() { return *IFC4X3_TC1_IfcTableRow_type; } Ifc4x3_tc1::IfcTableRow::IfcTableRow(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_TC1_IfcTableRow_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcTableRow::IfcTableRow(boost::optional< aggregate_of_instance::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcTableRow_type); if (v1_RowCells) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RowCells));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_IsHeading) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_IsHeading));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } +Ifc4x3_tc1::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcTableRow_type); if (v1_RowCells) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RowCells));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_IsHeading) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_IsHeading));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcTank boost::optional< ::Ifc4x3_tc1::IfcTankTypeEnum::Value > Ifc4x3_tc1::IfcTank::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcTankTypeEnum::FromString(*data_->getArgument(8)); } @@ -22710,14 +22710,14 @@ Ifc4x3_tc1::IfcTimeSeries::IfcTimeSeries(IfcEntityInstanceData* e) : IfcUtil::If Ifc4x3_tc1::IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_tc1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_tc1::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_tc1::IfcUnit* v8_Unit) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcTimeSeries_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_StartTime));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EndTime));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_TimeSeriesDataType,::Ifc4x3_tc1::IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType))));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v6_DataOrigin,::Ifc4x3_tc1::IfcDataOriginEnum::ToString(v6_DataOrigin))));data_->setArgument(5,attr);} if (v7_UserDefinedDataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_UserDefinedDataOrigin));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Unit));data_->setArgument(7,attr);} } // Function implementations for IfcTimeSeriesValue -aggregate_of_instance::ptr Ifc4x3_tc1::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_tc1::IfcTimeSeriesValue::setListValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr Ifc4x3_tc1::IfcTimeSeriesValue::ListValues() const { aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x3_tc1::IfcTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_tc1::IfcTimeSeriesValue::declaration() const { return *IFC4X3_TC1_IfcTimeSeriesValue_type; } const IfcParse::entity& Ifc4x3_tc1::IfcTimeSeriesValue::Class() { return *IFC4X3_TC1_IfcTimeSeriesValue_type; } Ifc4x3_tc1::IfcTimeSeriesValue::IfcTimeSeriesValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_TC1_IfcTimeSeriesValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of_instance::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ListValues));data_->setArgument(0,attr);} } +Ifc4x3_tc1::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ListValues));data_->setArgument(0,attr);} } // Function implementations for IfcTopologicalRepresentationItem @@ -22868,10 +22868,10 @@ Ifc4x3_tc1::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(::I // Function implementations for IfcTrimmedCurve ::Ifc4x3_tc1::IfcCurve* Ifc4x3_tc1::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_tc1::IfcCurve>(true); } void Ifc4x3_tc1::IfcTrimmedCurve::setBasisCurve(::Ifc4x3_tc1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of_instance::ptr Ifc4x3_tc1::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_tc1::IfcTrimmedCurve::setTrim1(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -aggregate_of_instance::ptr Ifc4x3_tc1::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_tc1::IfcTrimmedCurve::setTrim2(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_tc1::IfcTrimmingSelect >::ptr Ifc4x3_tc1::IfcTrimmedCurve::Trim1() const { aggregate_of< ::Ifc4x3_tc1::IfcTrimmingSelect >::ptr v = *data_->getArgument(1); return v; } +void Ifc4x3_tc1::IfcTrimmedCurve::setTrim1(aggregate_of< ::Ifc4x3_tc1::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_tc1::IfcTrimmingSelect >::ptr Ifc4x3_tc1::IfcTrimmedCurve::Trim2() const { aggregate_of< ::Ifc4x3_tc1::IfcTrimmingSelect >::ptr v = *data_->getArgument(2); return v; } +void Ifc4x3_tc1::IfcTrimmedCurve::setTrim2(aggregate_of< ::Ifc4x3_tc1::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } bool Ifc4x3_tc1::IfcTrimmedCurve::SenseAgreement() const { bool v = *data_->getArgument(3); return v; } void Ifc4x3_tc1::IfcTrimmedCurve::setSenseAgreement(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x3_tc1::IfcTrimmingPreference::Value Ifc4x3_tc1::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4x3_tc1::IfcTrimmingPreference::FromString(*data_->getArgument(4)); } @@ -22881,7 +22881,7 @@ void Ifc4x3_tc1::IfcTrimmedCurve::setMasterRepresentation(::Ifc4x3_tc1::IfcTrimm const IfcParse::entity& Ifc4x3_tc1::IfcTrimmedCurve::declaration() const { return *IFC4X3_TC1_IfcTrimmedCurve_type; } const IfcParse::entity& Ifc4x3_tc1::IfcTrimmedCurve::Class() { return *IFC4X3_TC1_IfcTrimmedCurve_type; } Ifc4x3_tc1::IfcTrimmedCurve::IfcTrimmedCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcTrimmedCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3_tc1::IfcCurve* v1_BasisCurve, aggregate_of_instance::ptr v2_Trim1, aggregate_of_instance::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_tc1::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcTrimmedCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Trim1));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Trim2));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SenseAgreement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_MasterRepresentation,::Ifc4x3_tc1::IfcTrimmingPreference::ToString(v5_MasterRepresentation))));data_->setArgument(4,attr);} } +Ifc4x3_tc1::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3_tc1::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_tc1::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x3_tc1::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_tc1::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcTrimmedCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Trim1));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Trim2));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SenseAgreement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_MasterRepresentation,::Ifc4x3_tc1::IfcTrimmingPreference::ToString(v5_MasterRepresentation))));data_->setArgument(4,attr);} } // Function implementations for IfcTubeBundle boost::optional< ::Ifc4x3_tc1::IfcTubeBundleTypeEnum::Value > Ifc4x3_tc1::IfcTubeBundle::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcTubeBundleTypeEnum::FromString(*data_->getArgument(8)); } @@ -22982,14 +22982,14 @@ Ifc4x3_tc1::IfcUShapeProfileDef::IfcUShapeProfileDef(IfcEntityInstanceData* e) : Ifc4x3_tc1::IfcUShapeProfileDef::IfcUShapeProfileDef(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::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((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcUShapeProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4x3_tc1::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_FlangeWidth));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_WebThickness));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_FlangeThickness));data_->setArgument(6,attr);} if (v8_FilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_FilletRadius));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_EdgeRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_EdgeRadius));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_FlangeSlope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_FlangeSlope));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcUnitAssignment -aggregate_of_instance::ptr Ifc4x3_tc1::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_tc1::IfcUnitAssignment::setUnits(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_tc1::IfcUnit >::ptr Ifc4x3_tc1::IfcUnitAssignment::Units() const { aggregate_of< ::Ifc4x3_tc1::IfcUnit >::ptr v = *data_->getArgument(0); return v; } +void Ifc4x3_tc1::IfcUnitAssignment::setUnits(aggregate_of< ::Ifc4x3_tc1::IfcUnit >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_tc1::IfcUnitAssignment::declaration() const { return *IFC4X3_TC1_IfcUnitAssignment_type; } const IfcParse::entity& Ifc4x3_tc1::IfcUnitAssignment::Class() { return *IFC4X3_TC1_IfcUnitAssignment_type; } Ifc4x3_tc1::IfcUnitAssignment::IfcUnitAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_TC1_IfcUnitAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcUnitAssignment::IfcUnitAssignment(aggregate_of_instance::ptr v1_Units) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcUnitAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Units));data_->setArgument(0,attr);} } +Ifc4x3_tc1::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4x3_tc1::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcUnitAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Units));data_->setArgument(0,attr);} } // Function implementations for IfcUnitaryControlElement boost::optional< ::Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::Value > Ifc4x3_tc1::IfcUnitaryControlElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::FromString(*data_->getArgument(8)); } diff --git a/src/ifcparse/Ifc4x3_tc1.h b/src/ifcparse/Ifc4x3_tc1.h index 9a6f91c952..7874b23318 100644 --- a/src/ifcparse/Ifc4x3_tc1.h +++ b/src/ifcparse/Ifc4x3_tc1.h @@ -10746,12 +10746,12 @@ public: std::string TimeStamp() const; void setTimeStamp(std::string v); /// A list of time-series values. At least one value is required. - aggregate_of_instance::ptr ListValues() const; - void setListValues(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr ListValues() const; + void setListValues(aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcIrregularTimeSeriesValue (IfcEntityInstanceData* e); - IfcIrregularTimeSeriesValue (std::string v1_TimeStamp, aggregate_of_instance::ptr v2_ListValues); + IfcIrregularTimeSeriesValue (std::string v1_TimeStamp, aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v2_ListValues); typedef aggregate_of< 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. @@ -10929,15 +10929,15 @@ public: class IFC_PARSE_API IfcMaterialClassificationRelationship : public IfcUtil::IfcBaseEntity { public: /// The material classifications identifying the type of material. - aggregate_of_instance::ptr MaterialClassifications() const; - void setMaterialClassifications(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_tc1::IfcClassificationSelect >::ptr MaterialClassifications() const; + void setMaterialClassifications(aggregate_of< ::Ifc4x3_tc1::IfcClassificationSelect >::ptr v); /// Material being classified. ::Ifc4x3_tc1::IfcMaterial* ClassifiedMaterial() const; void setClassifiedMaterial(::Ifc4x3_tc1::IfcMaterial* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcMaterialClassificationRelationship (IfcEntityInstanceData* e); - IfcMaterialClassificationRelationship (aggregate_of_instance::ptr v1_MaterialClassifications, ::Ifc4x3_tc1::IfcMaterial* v2_ClassifiedMaterial); + IfcMaterialClassificationRelationship (aggregate_of< ::Ifc4x3_tc1::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x3_tc1::IfcMaterial* v2_ClassifiedMaterial); typedef aggregate_of< IfcMaterialClassificationRelationship > list; }; /// IfcMaterialDefinition is a general supertype for all @@ -11729,15 +11729,15 @@ public: boost::optional< std::string > Description() const; void setDescription(boost::optional< std::string > v); /// The set of layered items, which are assigned to this layer. - aggregate_of_instance::ptr AssignedItems() const; - void setAssignedItems(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_tc1::IfcLayeredItem >::ptr AssignedItems() const; + void setAssignedItems(aggregate_of< ::Ifc4x3_tc1::IfcLayeredItem >::ptr v); /// An (internal) identifier assigned to the layer. boost::optional< std::string > Identifier() const; void setIdentifier(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPresentationLayerAssignment (IfcEntityInstanceData* e); - IfcPresentationLayerAssignment (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier); + IfcPresentationLayerAssignment (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_tc1::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier); typedef aggregate_of< IfcPresentationLayerAssignment > list; }; /// An IfcPresentationLayerAssignmentWithStyle extends the presentation layer assignment with capabilities to define visibility control, access control and common style information. @@ -11774,7 +11774,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPresentationLayerWithStyle (IfcEntityInstanceData* e); - IfcPresentationLayerWithStyle (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_tc1::IfcPresentationStyle >::ptr v8_LayerStyles); + IfcPresentationLayerWithStyle (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_tc1::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_tc1::IfcPresentationStyle >::ptr v8_LayerStyles); typedef aggregate_of< 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. @@ -12122,15 +12122,15 @@ public: std::string Name() const; void setName(std::string v); /// List of values that form the enumeration. - aggregate_of_instance::ptr EnumerationValues() const; - void setEnumerationValues(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr EnumerationValues() const; + void setEnumerationValues(aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v); /// 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. ::Ifc4x3_tc1::IfcUnit* Unit() const; void setUnit(::Ifc4x3_tc1::IfcUnit* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyEnumeration (IfcEntityInstanceData* e); - IfcPropertyEnumeration (std::string v1_Name, aggregate_of_instance::ptr v2_EnumerationValues, ::Ifc4x3_tc1::IfcUnit* v3_Unit); + IfcPropertyEnumeration (std::string v1_Name, aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x3_tc1::IfcUnit* v3_Unit); typedef aggregate_of< 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. @@ -13054,12 +13054,12 @@ public: ::Ifc4x3_tc1::IfcSurfaceSide::Value Side() const; void setSide(::Ifc4x3_tc1::IfcSurfaceSide::Value v); /// A collection of different surface styles. - aggregate_of_instance::ptr Styles() const; - void setStyles(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_tc1::IfcSurfaceStyleElementSelect >::ptr Styles() const; + void setStyles(aggregate_of< ::Ifc4x3_tc1::IfcSurfaceStyleElementSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSurfaceStyle (IfcEntityInstanceData* e); - IfcSurfaceStyle (boost::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcSurfaceSide::Value v2_Side, aggregate_of_instance::ptr v3_Styles); + IfcSurfaceStyle (boost::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x3_tc1::IfcSurfaceStyleElementSelect >::ptr v3_Styles); typedef aggregate_of< IfcSurfaceStyle > list; }; /// IfcSurfaceStyleLighting is a container class for properties for calculation of physically exact illuminance related to a particular surface style. @@ -13368,15 +13368,15 @@ public: class IFC_PARSE_API IfcTableRow : public IfcUtil::IfcBaseEntity { public: /// The data value of the table cell.. - boost::optional< aggregate_of_instance::ptr > RowCells() const; - void setRowCells(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > RowCells() const; + void setRowCells(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::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. boost::optional< bool > IsHeading() const; void setIsHeading(boost::optional< bool > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTableRow (IfcEntityInstanceData* e); - IfcTableRow (boost::optional< aggregate_of_instance::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading); + IfcTableRow (boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading); typedef aggregate_of< IfcTableRow > list; }; /// IfcTaskTime captures the time-related information about a task including the different types (actual or scheduled) of starting and ending times. @@ -13950,12 +13950,12 @@ public: class IFC_PARSE_API IfcTimeSeriesValue : public IfcUtil::IfcBaseEntity { public: /// A list of time-series values. At least one value is required. - aggregate_of_instance::ptr ListValues() const; - void setListValues(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr ListValues() const; + void setListValues(aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTimeSeriesValue (IfcEntityInstanceData* e); - IfcTimeSeriesValue (aggregate_of_instance::ptr v1_ListValues); + IfcTimeSeriesValue (aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v1_ListValues); typedef aggregate_of< IfcTimeSeriesValue > list; }; /// Definition from ISO/CD 10303-42:1992: The topological representation item is the supertype for all the topological representation items in the geometry resource. @@ -14021,12 +14021,12 @@ public: class IFC_PARSE_API IfcUnitAssignment : public IfcUtil::IfcBaseEntity { public: /// Units to be included within a unit assignment. - aggregate_of_instance::ptr Units() const; - void setUnits(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_tc1::IfcUnit >::ptr Units() const; + void setUnits(aggregate_of< ::Ifc4x3_tc1::IfcUnit >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcUnitAssignment (IfcEntityInstanceData* e); - IfcUnitAssignment (aggregate_of_instance::ptr v1_Units); + IfcUnitAssignment (aggregate_of< ::Ifc4x3_tc1::IfcUnit >::ptr v1_Units); typedef aggregate_of< IfcUnitAssignment > list; }; /// Definition from ISO/CD 10303-42:1992: A vertex is the topological construct corresponding to a point. It has dimensionality 0 and extent 0. The domain of a vertex, if present, is a point in m dimensional real space RM; this is represented by the vertex point subtype. @@ -15040,8 +15040,8 @@ public: ::Ifc4x3_tc1::IfcActorSelect* DocumentOwner() const; void setDocumentOwner(::Ifc4x3_tc1::IfcActorSelect* v); /// The persons and/or organizations who have created this document or contributed to it. - boost::optional< aggregate_of_instance::ptr > Editors() const; - void setEditors(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcActorSelect >::ptr > Editors() const; + void setEditors(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcActorSelect >::ptr > v); /// 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. @@ -15082,7 +15082,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcDocumentInformation (IfcEntityInstanceData* e); - 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, ::Ifc4x3_tc1::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of_instance::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< ::Ifc4x3_tc1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_tc1::IfcDocumentStatusEnum::Value > 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, ::Ifc4x3_tc1::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcActorSelect >::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< ::Ifc4x3_tc1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_tc1::IfcDocumentStatusEnum::Value > v17_Status); typedef aggregate_of< IfcDocumentInformation > list; }; /// An IfcDocumentInformationRelationship is a relationship class that enables a document to have the ability to reference other documents. @@ -15323,12 +15323,12 @@ public: ::Ifc4x3_tc1::IfcExternalReference* RelatingReference() const; void setRelatingReference(::Ifc4x3_tc1::IfcExternalReference* v); /// Objects within the list of IfcResourceObjectSelect that can be tagged by an external reference to a dictionary, library, catalogue, classification or documentation. - aggregate_of_instance::ptr RelatedResourceObjects() const; - void setRelatedResourceObjects(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr RelatedResourceObjects() const; + void setRelatedResourceObjects(aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcExternalReferenceRelationship (IfcEntityInstanceData* e); - IfcExternalReferenceRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcExternalReference* v3_RelatingReference, aggregate_of_instance::ptr v4_RelatedResourceObjects); + IfcExternalReferenceRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects); typedef aggregate_of< IfcExternalReferenceRelationship > list; }; /// Definition from ISO/CD 10303-42:1992: A face is a topological @@ -15539,14 +15539,14 @@ public: class IFC_PARSE_API IfcFillAreaStyle : public IfcPresentationStyle { public: /// The set of fill area styles to use in presenting visible curve segments, annotation fill areas or surfaces. - aggregate_of_instance::ptr FillStyles() const; - void setFillStyles(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_tc1::IfcFillStyleSelect >::ptr FillStyles() const; + void setFillStyles(aggregate_of< ::Ifc4x3_tc1::IfcFillStyleSelect >::ptr v); boost::optional< bool > ModelOrDraughting() const; void setModelOrDraughting(boost::optional< bool > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcFillAreaStyle (IfcEntityInstanceData* e); - IfcFillAreaStyle (boost::optional< std::string > v1_Name, aggregate_of_instance::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting); + IfcFillAreaStyle (boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_tc1::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting); typedef aggregate_of< IfcFillAreaStyle > list; }; /// Definition from ISO/CD 10303-42:1992: A geometric @@ -15700,12 +15700,12 @@ public: class IFC_PARSE_API 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. - aggregate_of_instance::ptr Elements() const; - void setElements(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_tc1::IfcGeometricSetSelect >::ptr Elements() const; + void setElements(aggregate_of< ::Ifc4x3_tc1::IfcGeometricSetSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcGeometricSet (IfcEntityInstanceData* e); - IfcGeometricSet (aggregate_of_instance::ptr v1_Elements); + IfcGeometricSet (aggregate_of< ::Ifc4x3_tc1::IfcGeometricSetSelect >::ptr v1_Elements); typedef aggregate_of< IfcGeometricSet > list; }; /// IfcGridPlacement provides a specialization of IfcObjectPlacement in which @@ -17718,15 +17718,15 @@ public: class IFC_PARSE_API IfcResourceApprovalRelationship : public IfcResourceLevelRelationship { public: /// Resource objects that are approved. - aggregate_of_instance::ptr RelatedResourceObjects() const; - void setRelatedResourceObjects(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr RelatedResourceObjects() const; + void setRelatedResourceObjects(aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr v); /// The approval for the resource objects selected. ::Ifc4x3_tc1::IfcApproval* RelatingApproval() const; void setRelatingApproval(::Ifc4x3_tc1::IfcApproval* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcResourceApprovalRelationship (IfcEntityInstanceData* e); - IfcResourceApprovalRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_RelatedResourceObjects, ::Ifc4x3_tc1::IfcApproval* v4_RelatingApproval); + IfcResourceApprovalRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x3_tc1::IfcApproval* v4_RelatingApproval); typedef aggregate_of< IfcResourceApprovalRelationship > list; }; /// An IfcResourceConstraintRelationship is a relationship @@ -17755,12 +17755,12 @@ public: ::Ifc4x3_tc1::IfcConstraint* RelatingConstraint() const; void setRelatingConstraint(::Ifc4x3_tc1::IfcConstraint* v); /// The properties to which a constraint is to be related. - aggregate_of_instance::ptr RelatedResourceObjects() const; - void setRelatedResourceObjects(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr RelatedResourceObjects() const; + void setRelatedResourceObjects(aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcResourceConstraintRelationship (IfcEntityInstanceData* e); - IfcResourceConstraintRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcConstraint* v3_RelatingConstraint, aggregate_of_instance::ptr v4_RelatedResourceObjects); + IfcResourceConstraintRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects); typedef aggregate_of< IfcResourceConstraintRelationship > list; }; /// IfcResourceTime captures the time-related information about a construction resource. @@ -18017,12 +18017,12 @@ public: /// The shells shall not overlap or intersect except at common faces, edges or vertices. class IFC_PARSE_API IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { public: - aggregate_of_instance::ptr SbsmBoundary() const; - void setSbsmBoundary(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_tc1::IfcShell >::ptr SbsmBoundary() const; + void setSbsmBoundary(aggregate_of< ::Ifc4x3_tc1::IfcShell >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcShellBasedSurfaceModel (IfcEntityInstanceData* e); - IfcShellBasedSurfaceModel (aggregate_of_instance::ptr v1_SbsmBoundary); + IfcShellBasedSurfaceModel (aggregate_of< ::Ifc4x3_tc1::IfcShell >::ptr v1_SbsmBoundary); typedef aggregate_of< IfcShellBasedSurfaceModel > 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. @@ -20942,7 +20942,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcGeometricCurveSet (IfcEntityInstanceData* e); - IfcGeometricCurveSet (aggregate_of_instance::ptr v1_Elements); + IfcGeometricCurveSet (aggregate_of< ::Ifc4x3_tc1::IfcGeometricSetSelect >::ptr v1_Elements); typedef aggregate_of< IfcGeometricCurveSet > list; }; /// IfcIShapeProfileDef @@ -22089,15 +22089,15 @@ 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. - boost::optional< aggregate_of_instance::ptr > EnumerationValues() const; - void setEnumerationValues(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > EnumerationValues() const; + void setEnumerationValues(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v); /// Enumeration from which a enumeration value has been selected. The referenced enumeration also establishes the unit of the enumeration value. ::Ifc4x3_tc1::IfcPropertyEnumeration* EnumerationReference() const; void setEnumerationReference(::Ifc4x3_tc1::IfcPropertyEnumeration* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyEnumeratedValue (IfcEntityInstanceData* e); - IfcPropertyEnumeratedValue (std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of_instance::ptr > v3_EnumerationValues, ::Ifc4x3_tc1::IfcPropertyEnumeration* v4_EnumerationReference); + IfcPropertyEnumeratedValue (std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x3_tc1::IfcPropertyEnumeration* v4_EnumerationReference); typedef aggregate_of< IfcPropertyEnumeratedValue > list; }; /// An IfcPropertyListValue @@ -22170,15 +22170,15 @@ public: /// List of property values. /// /// IFC2x4 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. - boost::optional< aggregate_of_instance::ptr > ListValues() const; - void setListValues(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > ListValues() const; + void setListValues(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v); /// 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. ::Ifc4x3_tc1::IfcUnit* Unit() const; void setUnit(::Ifc4x3_tc1::IfcUnit* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyListValue (IfcEntityInstanceData* e); - IfcPropertyListValue (std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of_instance::ptr > v3_ListValues, ::Ifc4x3_tc1::IfcUnit* v4_Unit); + IfcPropertyListValue (std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v3_ListValues, ::Ifc4x3_tc1::IfcUnit* v4_Unit); typedef aggregate_of< IfcPropertyListValue > list; }; /// IfcPropertyReferenceValue allows a property value to @@ -22518,13 +22518,13 @@ 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. - boost::optional< aggregate_of_instance::ptr > DefiningValues() const; - void setDefiningValues(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > DefiningValues() const; + void setDefiningValues(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::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. - boost::optional< aggregate_of_instance::ptr > DefinedValues() const; - void setDefinedValues(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > DefinedValues() const; + void setDefinedValues(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v); /// 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. boost::optional< std::string > Expression() const; void setExpression(boost::optional< std::string > v); @@ -22542,7 +22542,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyTableValue (IfcEntityInstanceData* e); - IfcPropertyTableValue (std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of_instance::ptr > v3_DefiningValues, boost::optional< aggregate_of_instance::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_tc1::IfcUnit* v6_DefiningUnit, ::Ifc4x3_tc1::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_tc1::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation); + IfcPropertyTableValue (std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_tc1::IfcUnit* v6_DefiningUnit, ::Ifc4x3_tc1::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_tc1::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation); typedef aggregate_of< IfcPropertyTableValue > list; }; /// The IfcPropertyTemplate is an abstract supertype @@ -23038,12 +23038,12 @@ 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. - aggregate_of_instance::ptr RelatedObjects() const; - void setRelatedObjects(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr RelatedObjects() const; + void setRelatedObjects(aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociates (IfcEntityInstanceData* e); - IfcRelAssociates (std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects); + IfcRelAssociates (std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v5_RelatedObjects); typedef aggregate_of< IfcRelAssociates > list; }; /// The entity IfcRelAssociatesApproval is used to apply approval information defined by IfcApproval, in IfcApprovalResource schema, to subtypes of IfcRoot. @@ -23057,7 +23057,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesApproval (IfcEntityInstanceData* e); - IfcRelAssociatesApproval (std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcApproval* v6_RelatingApproval); + IfcRelAssociatesApproval (std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcApproval* v6_RelatingApproval); typedef aggregate_of< IfcRelAssociatesApproval > list; }; /// The objectified relationship @@ -23098,7 +23098,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesClassification (IfcEntityInstanceData* e); - IfcRelAssociatesClassification (std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcClassificationSelect* v6_RelatingClassification); + IfcRelAssociatesClassification (std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcClassificationSelect* v6_RelatingClassification); typedef aggregate_of< IfcRelAssociatesClassification > list; }; /// The entity IfcRelAssociatesConstraint is used to apply constraint information defined by IfcConstraint, in the IfcConstraintResource schema, to subtypes of IfcRoot. @@ -23115,7 +23115,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesConstraint (IfcEntityInstanceData* e); - IfcRelAssociatesConstraint (std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_tc1::IfcConstraint* v7_RelatingConstraint); + IfcRelAssociatesConstraint (std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_tc1::IfcConstraint* v7_RelatingConstraint); typedef aggregate_of< 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). @@ -23133,7 +23133,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesDocument (IfcEntityInstanceData* e); - IfcRelAssociatesDocument (std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcDocumentSelect* v6_RelatingDocument); + IfcRelAssociatesDocument (std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcDocumentSelect* v6_RelatingDocument); typedef aggregate_of< IfcRelAssociatesDocument > list; }; /// The objectified relationship (IfcRelAssociatesLibrary) handles the assignment of a library item (items of the select IfcLibrarySelect) to subtypes of IfcObjectDefinition or IfcPropertyDefinition. @@ -23151,7 +23151,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesLibrary (IfcEntityInstanceData* e); - IfcRelAssociatesLibrary (std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcLibrarySelect* v6_RelatingLibrary); + IfcRelAssociatesLibrary (std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcLibrarySelect* v6_RelatingLibrary); typedef aggregate_of< IfcRelAssociatesLibrary > list; }; /// Definition from IAI: Objectified relationship between a @@ -23256,7 +23256,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesMaterial (IfcEntityInstanceData* e); - IfcRelAssociatesMaterial (std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcMaterialSelect* v6_RelatingMaterial); + IfcRelAssociatesMaterial (std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcMaterialSelect* v6_RelatingMaterial); typedef aggregate_of< IfcRelAssociatesMaterial > list; }; @@ -23267,7 +23267,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesProfileDef (IfcEntityInstanceData* e); - IfcRelAssociatesProfileDef (std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcProfileDef* v6_RelatingProfileDef); + IfcRelAssociatesProfileDef (std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcProfileDef* v6_RelatingProfileDef); typedef aggregate_of< IfcRelAssociatesProfileDef > 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. @@ -23740,12 +23740,12 @@ public: ::Ifc4x3_tc1::IfcContext* RelatingContext() const; void setRelatingContext(::Ifc4x3_tc1::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. - aggregate_of_instance::ptr RelatedDefinitions() const; - void setRelatedDefinitions(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr RelatedDefinitions() const; + void setRelatedDefinitions(aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelDeclares (IfcEntityInstanceData* e); - IfcRelDeclares (std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcContext* v5_RelatingContext, aggregate_of_instance::ptr v6_RelatedDefinitions); + IfcRelDeclares (std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v6_RelatedDefinitions); typedef aggregate_of< IfcRelDeclares > list; }; /// The decomposition relationship, @@ -24260,8 +24260,8 @@ class IFC_PARSE_API IfcRelReferencedInSpatialStructure : public IfcRelConnects public: /// Set of products, which are referenced within this level of the spatial structure hierarchy. /// NOTE  Referenced elements are contained elsewhere within the spatial structure, they are referenced additionally by this spatial structure element, e.g., because they span several stories. - aggregate_of_instance::ptr RelatedElements() const; - void setRelatedElements(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_tc1::IfcSpatialReferenceSelect >::ptr RelatedElements() const; + void setRelatedElements(aggregate_of< ::Ifc4x3_tc1::IfcSpatialReferenceSelect >::ptr v); /// Spatial structure element, within which the element is referenced. Any element can be contained within zero, one or many elements of the project spatial and zoning structure. /// /// IFC2x Edition 4 CHANGE  The attribute relatingStructure as been promoted to the new supertype IfcSpatialElement with upward compatibility for file based exchange. @@ -24270,7 +24270,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelReferencedInSpatialStructure (IfcEntityInstanceData* e); - IfcRelReferencedInSpatialStructure (std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedElements, ::Ifc4x3_tc1::IfcSpatialElement* v6_RelatingStructure); + IfcRelReferencedInSpatialStructure (std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcSpatialReferenceSelect >::ptr v5_RelatedElements, ::Ifc4x3_tc1::IfcSpatialElement* v6_RelatingStructure); typedef aggregate_of< IfcRelReferencedInSpatialStructure > list; }; /// IfcRelSequence is a @@ -30801,14 +30801,14 @@ class IFC_PARSE_API IfcIndexedPolyCurve : public IfcBoundedCurve { public: ::Ifc4x3_tc1::IfcCartesianPointList* Points() const; void setPoints(::Ifc4x3_tc1::IfcCartesianPointList* v); - boost::optional< aggregate_of_instance::ptr > Segments() const; - void setSegments(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcSegmentIndexSelect >::ptr > Segments() const; + void setSegments(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcSegmentIndexSelect >::ptr > v); boost::optional< bool > SelfIntersect() const; void setSelfIntersect(boost::optional< bool > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcIndexedPolyCurve (IfcEntityInstanceData* e); - IfcIndexedPolyCurve (::Ifc4x3_tc1::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of_instance::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect); + IfcIndexedPolyCurve (::Ifc4x3_tc1::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect); typedef aggregate_of< IfcIndexedPolyCurve > list; }; /// The flow treatment device type IfcInterceptorType defines commonly shared information for occurrences of interceptors. The set of shared information may include: @@ -32842,12 +32842,12 @@ public: void setTransverseBarSpacing(boost::optional< double > v); boost::optional< std::string > BendingShapeCode() const; void setBendingShapeCode(boost::optional< std::string > v); - boost::optional< aggregate_of_instance::ptr > BendingParameters() const; - void setBendingParameters(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcBendingParameterSelect >::ptr > BendingParameters() const; + void setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcBendingParameterSelect >::ptr > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcReinforcingMeshType (IfcEntityInstanceData* e); - IfcReinforcingMeshType (std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of_instance::ptr > v20_BendingParameters); + IfcReinforcingMeshType (std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of< ::Ifc4x3_tc1::IfcBendingParameterSelect >::ptr > v20_BendingParameters); typedef aggregate_of< IfcReinforcingMeshType > list; }; @@ -35144,11 +35144,11 @@ public: ::Ifc4x3_tc1::IfcCurve* BasisCurve() const; void setBasisCurve(::Ifc4x3_tc1::IfcCurve* v); /// The first trimming point which may be specified as a Cartesian point, as a real parameter or both. - aggregate_of_instance::ptr Trim1() const; - void setTrim1(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_tc1::IfcTrimmingSelect >::ptr Trim1() const; + void setTrim1(aggregate_of< ::Ifc4x3_tc1::IfcTrimmingSelect >::ptr v); /// The second trimming point which may be specified as a Cartesian point, as a real parameter or both. - aggregate_of_instance::ptr Trim2() const; - void setTrim2(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3_tc1::IfcTrimmingSelect >::ptr Trim2() const; + void setTrim2(aggregate_of< ::Ifc4x3_tc1::IfcTrimmingSelect >::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); @@ -35158,7 +35158,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTrimmedCurve (IfcEntityInstanceData* e); - IfcTrimmedCurve (::Ifc4x3_tc1::IfcCurve* v1_BasisCurve, aggregate_of_instance::ptr v2_Trim1, aggregate_of_instance::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_tc1::IfcTrimmingPreference::Value v5_MasterRepresentation); + IfcTrimmedCurve (::Ifc4x3_tc1::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_tc1::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x3_tc1::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_tc1::IfcTrimmingPreference::Value v5_MasterRepresentation); typedef aggregate_of< IfcTrimmedCurve > list; }; /// The energy conversion device type IfcTubeBundleType defines commonly shared information for occurrences of tube bundles. The set of shared information may include: @@ -43210,12 +43210,12 @@ public: void setBarSurface(boost::optional< ::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Value > v); boost::optional< std::string > BendingShapeCode() const; void setBendingShapeCode(boost::optional< std::string > v); - boost::optional< aggregate_of_instance::ptr > BendingParameters() const; - void setBendingParameters(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcBendingParameterSelect >::ptr > BendingParameters() const; + void setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcBendingParameterSelect >::ptr > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcReinforcingBarType (IfcEntityInstanceData* e); - IfcReinforcingBarType (std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of_instance::ptr > v16_BendingParameters); + IfcReinforcingBarType (std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcBendingParameterSelect >::ptr > v16_BendingParameters); typedef aggregate_of< IfcReinforcingBarType > list; }; /// Definition from ISO 6707-1:1989: Construction enclosing the building from above. From 6cb7234cb5d438cdad6c78164f44dc16dee01642 Mon Sep 17 00:00:00 2001 From: Bruno Postle Date: Wed, 21 Jun 2023 21:42:50 +0100 Subject: [PATCH 165/225] BBIM fix Git panel polling repo on refresh (#3096) Just scrolling Git panel shouldn't do any Git IO --- .../blenderbim/bim/module/ifcgit/data.py | 25 +++++++++++++++++++ .../blenderbim/bim/module/ifcgit/operator.py | 21 +++++++++++++--- .../blenderbim/bim/module/ifcgit/prop.py | 2 +- .../blenderbim/bim/module/ifcgit/ui.py | 12 ++++----- src/blenderbim/blenderbim/core/ifcgit.py | 3 ++- 5 files changed, 52 insertions(+), 11 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/ifcgit/data.py b/src/blenderbim/blenderbim/bim/module/ifcgit/data.py index 611b879c64..2a74731d02 100644 --- a/src/blenderbim/blenderbim/bim/module/ifcgit/data.py +++ b/src/blenderbim/blenderbim/bim/module/ifcgit/data.py @@ -34,6 +34,10 @@ class IfcGitData: "name_ifc": cls.name_ifc(), "dir_name": cls.dir_name(), "base_name": cls.base_name(), + "working_dir": cls.working_dir(), + "untracked_files": cls.untracked_files(), + "is_detached": cls.is_detached(), + "active_branch_name": cls.active_branch_name(), "is_dirty": cls.is_dirty(), "commit": cls.commit(), "current_revision": cls.current_revision(), @@ -118,6 +122,27 @@ class IfcGitData: return os.path.basename(path_ifc) return None + @classmethod + def working_dir(cls): + if cls.repo(): + return cls.repo().working_dir + + @classmethod + def untracked_files(cls): + if cls.repo(): + return cls.repo().untracked_files + return [] + + @classmethod + def is_detached(cls): + if cls.repo(): + return cls.repo().head.is_detached + + @classmethod + def active_branch_name(cls): + if cls.repo() and not cls.is_detached(): + return cls.repo().active_branch.name + @classmethod def is_dirty(cls): if cls.repo() and cls.git_exe(): diff --git a/src/blenderbim/blenderbim/bim/module/ifcgit/operator.py b/src/blenderbim/blenderbim/bim/module/ifcgit/operator.py index 0cafb6b987..2d1c5094b9 100644 --- a/src/blenderbim/blenderbim/bim/module/ifcgit/operator.py +++ b/src/blenderbim/blenderbim/bim/module/ifcgit/operator.py @@ -149,6 +149,8 @@ class AddTag(bpy.types.Operator): def poll(cls, context): IfcGitData.make_sure_is_loaded() props = context.scene.IfcGitProperties + if props.new_tag_name == "": + return False repo = IfcGitData.data["repo"] if repo and ( not tool.IfcGit.is_valid_ref_format(props.new_tag_name) @@ -194,7 +196,7 @@ class RefreshGit(bpy.types.Operator): def poll(cls, context): IfcGitData.make_sure_is_loaded() repo = IfcGitData.data["repo"] - if repo != None and repo.heads: + if repo: return True return False @@ -213,6 +215,12 @@ class DisplayRevision(bpy.types.Operator): bl_idname = "ifcgit.display_revision" bl_options = {"REGISTER"} + @classmethod + def poll(cls, context): + props = context.scene.IfcGitProperties + if props.ifcgit_commits: + return True + def execute(self, context): core.colourise_revision(tool.IfcGit) @@ -242,6 +250,12 @@ class SwitchRevision(bpy.types.Operator): bl_idname = "ifcgit.switch_revision" bl_options = {"REGISTER"} + @classmethod + def poll(cls, context): + props = context.scene.IfcGitProperties + if props.ifcgit_commits: + return True + def execute(self, context): core.switch_revision(tool.IfcGit, tool.Ifc) @@ -259,7 +273,8 @@ class Merge(bpy.types.Operator): @classmethod def poll(cls, context): IfcGitData.make_sure_is_loaded() - if IfcGitData.data["ifcmerge_exe"]: + props = context.scene.IfcGitProperties + if IfcGitData.data["ifcmerge_exe"] and props.ifcgit_commits and not IfcGitData.data["is_detached"]: return True return False @@ -318,8 +333,8 @@ class AddRemote(bpy.types.Operator): if ( not repo or not tool.IfcGit.is_valid_ref_format(props.remote_name) - or props.remote_name in [remote.name for remote in repo.remotes] or not props.remote_url + or props.remote_name in [remote.name for remote in repo.remotes] ): return False return True diff --git a/src/blenderbim/blenderbim/bim/module/ifcgit/prop.py b/src/blenderbim/blenderbim/bim/module/ifcgit/prop.py index 8273ac7cfa..c34b2f6e84 100644 --- a/src/blenderbim/blenderbim/bim/module/ifcgit/prop.py +++ b/src/blenderbim/blenderbim/bim/module/ifcgit/prop.py @@ -7,7 +7,7 @@ from bpy.props import ( IntProperty, EnumProperty, ) -from blenderbim.bim.module.ifcgit.data import IfcGitData, refresh +from blenderbim.bim.module.ifcgit.data import IfcGitData def git_branches(self, context): diff --git a/src/blenderbim/blenderbim/bim/module/ifcgit/ui.py b/src/blenderbim/blenderbim/bim/module/ifcgit/ui.py index 690934701e..286e900adc 100644 --- a/src/blenderbim/blenderbim/bim/module/ifcgit/ui.py +++ b/src/blenderbim/blenderbim/bim/module/ifcgit/ui.py @@ -1,6 +1,6 @@ import bpy import time -from blenderbim.bim.module.ifcgit.data import IfcGitData, refresh +from blenderbim.bim.module.ifcgit.data import IfcGitData class IFCGIT_PT_panel(bpy.types.Panel): @@ -34,8 +34,8 @@ class IFCGIT_PT_panel(bpy.types.Panel): if path_ifc: if IfcGitData.data["repo"]: name_ifc = IfcGitData.data["name_ifc"] - row.label(text=IfcGitData.data["repo"].working_dir, icon="SYSTEM") - if name_ifc in IfcGitData.data["repo"].untracked_files: + row.label(text=IfcGitData.data["working_dir"], icon="SYSTEM") + if name_ifc in IfcGitData.data["untracked_files"]: row.operator( "ifcgit.addfile", text="Add '" + name_ifc + "' to repository", @@ -79,7 +79,7 @@ class IFCGIT_PT_panel(bpy.types.Panel): row = layout.row() row.prop(props, "commit_message") - if IfcGitData.data["repo"].head.is_detached: + if IfcGitData.data["is_detached"]: row = layout.row() row.label(text="HEAD is detached, commit will create a branch", icon="ERROR") row.prop(props, "new_branch_name") @@ -88,10 +88,10 @@ class IFCGIT_PT_panel(bpy.types.Panel): row.operator("ifcgit.commit_changes", icon="GREASEPENCIL") row = layout.row() - if IfcGitData.data["repo"].head.is_detached: + if IfcGitData.data["is_detached"]: row.label(text="Working branch: Detached HEAD") else: - row.label(text="Working branch: " + IfcGitData.data["repo"].active_branch.name) + row.label(text="Working branch: " + IfcGitData.data["active_branch_name"]) grouped = layout.row() column = grouped.column() diff --git a/src/blenderbim/blenderbim/core/ifcgit.py b/src/blenderbim/blenderbim/core/ifcgit.py index fe368d1d5d..c1a1472255 100644 --- a/src/blenderbim/blenderbim/core/ifcgit.py +++ b/src/blenderbim/blenderbim/core/ifcgit.py @@ -57,7 +57,8 @@ def push(ifcgit, repo, remote_name, operator): def refresh_revision_list(ifcgit, repo, ifc): - ifcgit.refresh_revision_list(ifc.get_path()) + if repo.heads: + ifcgit.refresh_revision_list(ifc.get_path()) def colourise_revision(ifcgit): From 9e1249d8ee8b7e4ed391e4a9edc23d530d04a7d2 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Thu, 22 Jun 2023 09:33:40 +0500 Subject: [PATCH 166/225] Fixed #3335 caused by 36b746d --- src/blenderbim/blenderbim/bim/module/model/door.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/model/door.py b/src/blenderbim/blenderbim/bim/module/model/door.py index d9e0425bc1..8273ce4393 100644 --- a/src/blenderbim/blenderbim/bim/module/model/door.py +++ b/src/blenderbim/blenderbim/bim/module/model/door.py @@ -133,10 +133,10 @@ def update_door_modifier_representation(context): # occurences attributes occurences = tool.Ifc.get_all_element_occurences(element) for occurence in occurences: - occurence.OverallWidth = props.overall_width - occurence.OverallHeight = props.overall_height + occurence.OverallWidth = props.overall_width / si_conversion + occurence.OverallHeight = props.overall_height / si_conversion - update_simple_openings(element, props.overall_width, props.overall_height) + update_simple_openings(element, props.overall_width / si_conversion, props.overall_height / si_conversion) # TODO: move it out to tools From 5c7f14cc3c291412b2b870a09d554f0b0f551e2e Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Thu, 22 Jun 2023 10:14:05 +0500 Subject: [PATCH 167/225] option to keep the viewport position on activating drawing #3333 currently it works with alt clicking activate drawing button https://i.imgur.com/lgvP4QA.png --- .../blenderbim/bim/module/drawing/operator.py | 23 ++++++++++++++--- src/blenderbim/blenderbim/tool/blender.py | 25 +++++++++++++++++++ 2 files changed, 45 insertions(+), 3 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/drawing/operator.py b/src/blenderbim/blenderbim/bim/module/drawing/operator.py index 18d04863e6..38b7e75827 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/operator.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/operator.py @@ -174,7 +174,7 @@ class CreateDrawing(bpy.types.Operator): for drawing_id in drawings_to_print: if self.print_all: - bpy.ops.bim.activate_drawing(drawing=drawing_id) + bpy.ops.bim.activate_drawing(drawing=drawing_id, camera_view_point=False) self.camera = context.scene.camera self.camera_element = tool.Ifc.get_entity(self.camera) @@ -217,7 +217,7 @@ class CreateDrawing(bpy.types.Operator): open_with_user_command(context.preferences.addons["blenderbim"].preferences.svg_command, svg_path) if self.print_all: - bpy.ops.bim.activate_drawing(drawing=original_drawing_id) + bpy.ops.bim.activate_drawing(drawing=original_drawing_id, camera_view_point=False) return {"FINISHED"} def get_camera_dimensions(self): @@ -1297,13 +1297,30 @@ class ActivateDrawing(bpy.types.Operator): bl_idname = "bim.activate_drawing" bl_label = "Activate Drawing" bl_options = {"REGISTER", "UNDO"} - bl_description = "Activates the selected drawing view" + bl_description = "Activates the selected drawing view.\n\n" + "ALT+CLICK to keep the viewport position" + drawing: bpy.props.IntProperty() + camera_view_point: bpy.props.BoolProperty(name="Camera View Point", default=True, options={"SKIP_SAVE"}) + + def invoke(self, context, event): + # keep the viewport position on alt+click + # make sure to use SKIP_SAVE on property, otherwise it might get stuck + if event.type == "LEFTMOUSE" and event.alt: + self.camera_view_point = False + return self.execute(context) def execute(self, context): drawing = tool.Ifc.get().by_id(self.drawing) dprops = bpy.context.scene.DocProperties + + if not self.camera_view_point: + viewport_position = tool.Blender.get_viewport_position() + core.activate_drawing_view(tool.Ifc, tool.Drawing, drawing=drawing) + + if not self.camera_view_point: + tool.Blender.set_viewport_position(viewport_position) + dprops.active_drawing_id = self.drawing # reset DrawingsData to reload_drawing_styles work correctly DrawingsData.is_loaded = False diff --git a/src/blenderbim/blenderbim/tool/blender.py b/src/blenderbim/blenderbim/tool/blender.py index 0b8771de4e..1f2cb6536f 100644 --- a/src/blenderbim/blenderbim/tool/blender.py +++ b/src/blenderbim/blenderbim/tool/blender.py @@ -23,6 +23,18 @@ from mathutils import Vector from pathlib import Path +VIEWPORT_ATTRIBUTES = [ + "view_matrix", + "view_distance", + "view_perspective", + "use_box_clip", + "use_clip_planes", + "is_perspective", + "show_sync_view", + "clip_planes", +] + + class Blender: @classmethod def set_active_object(cls, obj): @@ -108,6 +120,19 @@ class Blender: context_override = {"area": area} return context_override + @classmethod + def get_viewport_position(cls): + region_3d = cls.get_viewport_context()["area"].spaces[0].region_3d + copy_if_possible = lambda x: x.copy() if hasattr(x, "copy") else x + viewport_data = {attr: copy_if_possible(getattr(region_3d, attr)) for attr in VIEWPORT_ATTRIBUTES} + return viewport_data + + @classmethod + def set_viewport_position(cls, data): + region_3d = cls.get_viewport_context()["area"].spaces[0].region_3d + for attr in VIEWPORT_ATTRIBUTES: + setattr(region_3d, attr, data[attr]) + @classmethod def get_shader_editor_context(cls): for screen in bpy.data.screens: From 7aa04611a1dbbe3a6a92447e687e4ab6e1eaad6b Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Thu, 22 Jun 2023 10:06:48 +0200 Subject: [PATCH 168/225] #2805 provide aggregate typedef for select types --- src/ifcopenshell-python/ifcopenshell/express/templates.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/ifcopenshell-python/ifcopenshell/express/templates.py b/src/ifcopenshell-python/ifcopenshell/express/templates.py index 3b0b043e9f..ad9ef898de 100644 --- a/src/ifcopenshell-python/ifcopenshell/express/templates.py +++ b/src/ifcopenshell-python/ifcopenshell/express/templates.py @@ -142,6 +142,7 @@ select = """%(documentation)s class IFC_PARSE_API %(name)s : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< %(name)s > list; }; """ From f5c102402f500e0fb2238d7df8b4fafa66f1d2de Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Thu, 22 Jun 2023 10:07:18 +0200 Subject: [PATCH 169/225] #2805 rerun codegen --- src/ifcparse/Ifc2x3.h | 46 ++++++++++++++++++++++++++ src/ifcparse/Ifc4.h | 60 ++++++++++++++++++++++++++++++++++ src/ifcparse/Ifc4x1.h | 60 ++++++++++++++++++++++++++++++++++ src/ifcparse/Ifc4x2.h | 60 ++++++++++++++++++++++++++++++++++ src/ifcparse/Ifc4x3_add1.h | 61 ++++++++++++++++++++++++++++++++++ src/ifcparse/Ifc4x3_rc1.h | 66 +++++++++++++++++++++++++++++++++++++ src/ifcparse/Ifc4x3_rc2.h | 67 ++++++++++++++++++++++++++++++++++++++ src/ifcparse/Ifc4x3_rc3.h | 64 ++++++++++++++++++++++++++++++++++++ src/ifcparse/Ifc4x3_rc4.h | 64 ++++++++++++++++++++++++++++++++++++ src/ifcparse/Ifc4x3_tc1.h | 61 ++++++++++++++++++++++++++++++++++ 10 files changed, 609 insertions(+) diff --git a/src/ifcparse/Ifc2x3.h b/src/ifcparse/Ifc2x3.h index 432347b98d..9e81fc39fa 100644 --- a/src/ifcparse/Ifc2x3.h +++ b/src/ifcparse/Ifc2x3.h @@ -65,6 +65,7 @@ class Ifc2DCompositeCurve; class IfcActionRequest; class IfcActor; class IfcActo class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcActorSelect > list; }; /// IfcAppliedValueSelect defines the selection of whether a value (expressed as a ratio) or an amount should be used as the value for an IfcAppliedValue. /// @@ -83,6 +84,7 @@ public: class IFC_PARSE_API IfcAppliedValueSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcAppliedValueSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type collects together both versions of the placement as used in two dimensional or in three dimensional Cartesian space. This enables entities requiring this information to reference them without specifying the space dimensionality. /// @@ -92,6 +94,7 @@ public: class IFC_PARSE_API IfcAxis2Placement : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcAxis2Placement > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies /// all those types of entities which may participate in a Boolean operation to @@ -112,6 +115,7 @@ public: class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcBooleanOperand > list; }; /// The character style select allows for a selection of character styles for text. Currently only text color and background color is selectable. /// @@ -124,11 +128,13 @@ public: class IFC_PARSE_API IfcCharacterStyleSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCharacterStyleSelect > list; }; class IFC_PARSE_API IfcClassificationNotationSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcClassificationNotationSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The colour entity defines a basic appearance of elements which shall be visualized in a picture. /// @@ -138,6 +144,7 @@ public: class IFC_PARSE_API IfcColour : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcColour > list; }; /// The IfcColourOrFactor enables the selection of either a RGB colour value or a scalar factor value for the use as values of the reflectance components. /// @@ -145,11 +152,13 @@ public: class IFC_PARSE_API IfcColourOrFactor : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcColourOrFactor > list; }; class IFC_PARSE_API IfcConditionCriterionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcConditionCriterionSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This type identifies the types of entity which may be selected as the root of a CSG tree including a single CSG primitive as a special case. /// Definition from IAI: The IfcBooleanResult, and subtypes of IfcCsgPrimitive3D are defined as potential root tree expression (at IfcCsgSolid). A subtype of IfcCsgPrimitive3D marks the special case of a CSG solid solely expressed by a single primitive. @@ -160,6 +169,7 @@ public: class IFC_PARSE_API IfcCsgSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCsgSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The curve font or scaled curve font select is a selection of either a curve font style select (being either a predefined curve font or an explicitly defined curve font) or a curve style font and scaling. /// @@ -169,6 +179,7 @@ public: class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveFontOrScaledCurveFontSelect > list; }; /// IfcCurveOrEdgeCurve provides the option to either select a geometric curve (IfcCurve /// and subtypes) within a geometric model, or a curve with associated geometry and coordinates (IfcEdgeCurve) within a topological model. @@ -181,6 +192,7 @@ public: class IFC_PARSE_API IfcCurveOrEdgeCurve : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveOrEdgeCurve > list; }; /// Definition from ISO/CD 10303-46:1992: The curve style font select is a selection of a curve style font or a predefined curve style font. /// @@ -190,11 +202,13 @@ public: class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveStyleFontSelect > list; }; class IFC_PARSE_API IfcDateTimeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDateTimeSelect > list; }; /// The defined symbol select is a selection between a predefined symbol and an externally defined symbol. /// @@ -204,6 +218,7 @@ public: class IFC_PARSE_API IfcDefinedSymbolSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDefinedSymbolSelect > list; }; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. /// @@ -282,6 +297,7 @@ public: class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDerivedMeasureValue > list; }; /// IfcDocumentSelect enables selection of whether document information is to be contained within an IFC model or is to be referenced from an external source. /// @@ -294,11 +310,13 @@ public: class IFC_PARSE_API IfcDocumentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDocumentSelect > list; }; class IFC_PARSE_API IfcDraughtingCalloutElement : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDraughtingCalloutElement > list; }; /// The fill area style tile shape select is used to make a selection for the style of the fill area style tile. /// @@ -310,6 +328,7 @@ public: class IFC_PARSE_API IfcFillAreaStyleTileShapeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcFillAreaStyleTileShapeSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The fill style select is a selection between different fill area styles. /// @@ -320,6 +339,7 @@ public: class IFC_PARSE_API IfcFillStyleSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcFillStyleSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the types of entities which can occur in a geometric set. /// @@ -329,6 +349,7 @@ public: class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcGeometricSetSelect > list; }; /// The IfcHatchLineDistanceSelect is a selection between different ways to determine the distance and potentially start point of hatch lines, either by an offset distance length measure or by a vector. /// @@ -336,6 +357,7 @@ public: class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcHatchLineDistanceSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The layered things type selects those things, which can be grouped in layers. /// @@ -347,6 +369,7 @@ public: class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLayeredItem > list; }; /// IfcLibrarySelect enables selection of whether library information is to be contained within an IFC model or is to be referenced from an external source. /// @@ -361,6 +384,7 @@ public: class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLibrarySelect > list; }; /// A goniometric light gets its intensity distribution function (how much light goes in any one direction) from one of two sources: (i) an industry-standard file, (ii) from distribution data passed directly via the IfcLightIntensityDistribution. /// @@ -387,6 +411,7 @@ public: class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLightDistributionDataSourceSelect > list; }; /// IfcMaterialSelect provides selection of either a material /// definition or a material usage definition that can be assigned to @@ -417,6 +442,7 @@ public: class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMaterialSelect > list; }; /// Definition from ISO/CD 10303-41:1992: A measure value is a value as defined in ISO 31-0 (clause 2). /// @@ -430,6 +456,7 @@ public: class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMeasureValue > list; }; /// IfcMetricValueSelect is a select type that enables selection of the data type for the value component of an IfcMetric. /// @@ -446,6 +473,7 @@ public: class IFC_PARSE_API IfcMetricValueSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMetricValueSelect > list; }; /// IfcObjectReferenceSelect is a select type, that holds a list of resource level entities that can be used as properties within a property set. /// @@ -453,11 +481,13 @@ public: class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcObjectReferenceSelect > list; }; class IFC_PARSE_API IfcOrientationSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcOrientationSelect > list; }; /// IfcPointOrVertexPoint provides the option to either select a geometric point (IfcPoint and subtypes) within a geometric model, or a vertex with associated point coordinates (IfcVertexPoint) within a topological model. /// SELECT @@ -469,6 +499,7 @@ public: class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPointOrVertexPoint > list; }; /// Definition from ISO/CD 10303-46:1992: The presentation style select is a selection of one of many kinds of styles, a different one for each kind of geometric representation item to be styled. /// @@ -481,6 +512,7 @@ public: class IFC_PARSE_API IfcPresentationStyleSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPresentationStyleSelect > list; }; /// Definition from ISO/CD 10303-42:1992 This type collects together, for reference when constructing more complex models, the subtypes which have the characteristics of a shell. A shell is a connected object of fixed dimensionality d = 0; 1; or 2, typically used to bound a region. The domain of a shell, if present, includes its bounds and 0 £ X < ¥. /// @@ -496,6 +528,7 @@ public: class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcShell > list; }; /// IfcSimpleValue is a select type for selecting between simple value types. /// @@ -519,6 +552,7 @@ public: class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSimpleValue > list; }; /// Definition from ISO/CD 10303-46:1992: The size select is a selection of a specific positive length measure. /// @@ -535,6 +569,7 @@ public: class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSizeSelect > list; }; /// The IfcSpecularHighlightSelect defines the selectable types of value for specular highlight sharpness. /// @@ -549,6 +584,7 @@ public: class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpecularHighlightSelect > list; }; /// Definition from IAI: This type definition shall be used to /// distinguish between a reference to an instance either of @@ -562,6 +598,7 @@ public: class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcStructuralActivityAssignmentSelect > list; }; /// IfcSurfaceOrFaceSurface provides the option to either select a geometric surface (IfcSurface /// and subtypes) within a geometric model, or a face with associated surface geometry and coordinates (IfcFaceSurface) within a topological model. @@ -575,6 +612,7 @@ public: class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSurfaceOrFaceSurface > list; }; /// Definition from ISO/CD 10303-46:1992: The surface style element select is a selection of the different surface styles to use in the presentation of the side of a surface. /// @@ -588,6 +626,7 @@ public: class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSurfaceStyleElementSelect > list; }; /// The symbol style select allows for the selection of styles to be assigned to an annotated symbol. /// @@ -599,6 +638,7 @@ public: class IFC_PARSE_API IfcSymbolStyleSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSymbolStyleSelect > list; }; /// IfcTextFontSelect allows for either a predefined text font, a text font model or an externally defined text font to be used to describe the font of a text literal. The definition of the text font model is based on W3C TR Cascading Style Sheet Version 1, whereas the definition of predefined text font is based on ISO 10303. /// @@ -610,6 +650,7 @@ public: class IFC_PARSE_API IfcTextFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTextFontSelect > list; }; /// The text style select allows for the selection of styles to be assigned to an annotated text. The text style determines the text model that affect the visual presentation of characters, spaces, words, and paragraphs. There are two choices: /// @@ -623,6 +664,7 @@ public: class IFC_PARSE_API IfcTextStyleSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTextStyleSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the two possible ways of trimming a parametric curve; by a Cartesian point on the curve, or by a REAL number defining a parameter value within the parametric range of the curve. /// @@ -632,6 +674,7 @@ public: class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTrimmingSelect > list; }; /// Definition from ISO/CD 10303-41:1992: A unit is a physical quantity, with a value of one, which is used as a standard in terms of which other quantities are expressed. /// @@ -649,6 +692,7 @@ public: class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcUnit > list; }; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, /// IfcMeasureValue and IfcDerivedMeasureValue. @@ -663,6 +707,7 @@ public: class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcValue > list; }; /// Definition from ISO/CD 10303-42:1992: This type is used to /// identify the types of entity which can participate in vector computations. @@ -675,6 +720,7 @@ public: class IFC_PARSE_API IfcVectorOrDirection : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcVectorOrDirection > list; }; class IFC_PARSE_API IfcActionSourceTypeEnum : public IfcUtil::IfcBaseType { /// Definition from IAI:This enumeration type contains possible diff --git a/src/ifcparse/Ifc4.h b/src/ifcparse/Ifc4.h index 4ae5c6d32d..7456d69988 100644 --- a/src/ifcparse/Ifc4.h +++ b/src/ifcparse/Ifc4.h @@ -65,6 +65,7 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcActorSelect > list; }; /// IfcAppliedValueSelect defines the selection of whether a value (expressed as a ratio) or an amount should be used as the value for an IfcAppliedValue. /// @@ -83,6 +84,7 @@ public: class IFC_PARSE_API IfcAppliedValueSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcAppliedValueSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type collects together both versions of the placement as used in two dimensional or in three dimensional Cartesian space. This enables entities requiring this information to reference them without specifying the space dimensionality. /// @@ -92,6 +94,7 @@ public: class IFC_PARSE_API IfcAxis2Placement : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcAxis2Placement > list; }; /// Definition from IAI: A select type for selecting between simple measure types for reinforcement bending parameters. /// @@ -99,6 +102,7 @@ public: class IFC_PARSE_API IfcBendingParameterSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcBendingParameterSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies /// all those types of entities which may participate in a Boolean operation to @@ -119,6 +123,7 @@ public: class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcBooleanOperand > list; }; /// IfcClassificationReferenceSelect enables selection of whether a classification reference is a subset of another classification reference or is a top level entry of a classification source. /// @@ -131,6 +136,7 @@ public: class IFC_PARSE_API IfcClassificationReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcClassificationReferenceSelect > list; }; /// IfcClassificationSelect enables selection of whether a classification reference is to be referenced from an external source, or whether a classification is referenced as such. /// @@ -148,6 +154,7 @@ public: class IFC_PARSE_API IfcClassificationSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcClassificationSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The colour entity defines a basic appearance of elements which shall be visualized in a picture. /// @@ -157,6 +164,7 @@ public: class IFC_PARSE_API IfcColour : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcColour > list; }; /// The IfcColourOrFactor enables the selection of either a RGB colour value or a scalar factor value for the use as values of the reflectance components. /// @@ -164,6 +172,7 @@ public: class IFC_PARSE_API IfcColourOrFactor : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcColourOrFactor > list; }; /// IfcCoordinateReferenceSystemSelect is a select between either the local engineering coordinate system, represented by the IfcGeometricRepresentationContext, or another coordinate reference system, represented by IfcCoordinateReferenceSystem, to be the source of a coordinate operation. /// @@ -171,6 +180,7 @@ public: class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCoordinateReferenceSystemSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This type identifies the types of entity which may be selected as the root of a CSG tree including a single CSG primitive as a special case. /// Definition from IAI: The IfcBooleanResult, and subtypes of IfcCsgPrimitive3D are defined as potential root tree expression (at IfcCsgSolid). A subtype of IfcCsgPrimitive3D marks the special case of a CSG solid solely expressed by a single primitive. @@ -181,6 +191,7 @@ public: class IFC_PARSE_API IfcCsgSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCsgSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The curve font or scaled curve font select is a selection of either a curve font style select (being either a predefined curve font or an explicitly defined curve font) or a curve style font and scaling. /// @@ -190,11 +201,13 @@ public: class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveFontOrScaledCurveFontSelect > list; }; class IFC_PARSE_API IfcCurveOnSurface : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveOnSurface > list; }; /// IfcCurveOrEdgeCurve provides the option to either select a geometric curve (IfcCurve /// and subtypes) within a geometric model, or a curve with associated geometry and coordinates (IfcEdgeCurve) within a topological model. @@ -207,6 +220,7 @@ public: class IFC_PARSE_API IfcCurveOrEdgeCurve : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveOrEdgeCurve > list; }; /// Definition from ISO/CD 10303-46:1992: The curve style font select is a selection of a curve style font or a predefined curve style font. /// @@ -216,6 +230,7 @@ public: class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveStyleFontSelect > list; }; /// IfcDefinitionSelectprovides the option to either select an object or type object IfcObjectDefinition, or a property set template or property set, IfcPropertyDefinition. /// SELECT @@ -227,6 +242,7 @@ public: class IFC_PARSE_API IfcDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDefinitionSelect > list; }; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. /// @@ -305,6 +321,7 @@ public: class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDerivedMeasureValue > list; }; /// IfcDocumentSelect enables selection of whether document information is to be contained within an IFC model or is to be referenced from an external source. /// @@ -317,6 +334,7 @@ public: class IFC_PARSE_API IfcDocumentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDocumentSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The fill style select is a selection between different fill area styles. /// @@ -327,6 +345,7 @@ public: class IFC_PARSE_API IfcFillStyleSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcFillStyleSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the types of entities which can occur in a geometric set. /// @@ -336,6 +355,7 @@ public: class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcGeometricSetSelect > list; }; /// IfcGridPlacementDirectionSelect enables the choice of defining a grid placement be either an explicit direction, or by referencing a second grid intersection to provide the direction. /// @@ -348,6 +368,7 @@ public: class IFC_PARSE_API IfcGridPlacementDirectionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcGridPlacementDirectionSelect > list; }; /// The IfcHatchLineDistanceSelect is a selection between different ways to determine the distance and potentially start point of hatch lines, either by an offset distance length measure or by a vector. /// @@ -355,6 +376,7 @@ public: class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcHatchLineDistanceSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The layered things type selects those things, which can be grouped in layers. /// @@ -366,6 +388,7 @@ public: class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLayeredItem > list; }; /// IfcLibrarySelect enables selection of whether library information is to be contained within an IFC model or is to be referenced from an external source. /// @@ -380,6 +403,7 @@ public: class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLibrarySelect > list; }; /// A goniometric light gets its intensity distribution function (how much light goes in any one direction) from one of two sources: (i) an industry-standard file, (ii) from distribution data passed directly via the IfcLightIntensityDistribution. /// @@ -406,6 +430,7 @@ public: class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLightDistributionDataSourceSelect > list; }; /// IfcMaterialSelect provides selection of either a material /// definition or a material usage definition that can be assigned to @@ -436,6 +461,7 @@ public: class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMaterialSelect > list; }; /// Definition from ISO/CD 10303-41:1992: A measure value is a value as defined in ISO 31-0 (clause 2). /// @@ -449,6 +475,7 @@ public: class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMeasureValue > list; }; /// IfcMetricValueSelect is a select type that enables selection of the data type for the value component of an IfcMetric. /// @@ -465,6 +492,7 @@ public: class IFC_PARSE_API IfcMetricValueSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMetricValueSelect > list; }; /// Definition from IAI: A measure for modulus of rotational subgrade reaction which expresses the rotational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -472,6 +500,7 @@ public: class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfRotationalSubgradeReactionSelect > list; }; /// Definition from IAI: Bedding measure which expresses the bedding of a structural face item per area. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -479,6 +508,7 @@ public: class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfSubgradeReactionSelect > list; }; /// Definition from IAI: A measure for modulus of translational subgrade reaction which expresses the translational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -486,6 +516,7 @@ public: class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfTranslationalSubgradeReactionSelect > list; }; /// IfcObjectReferenceSelect is a select type, that holds a list of resource level entities that can be used as properties within a property set. /// @@ -493,6 +524,7 @@ public: class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcObjectReferenceSelect > list; }; /// IfcPointOrVertexPoint provides the option to either select a geometric point (IfcPoint and subtypes) within a geometric model, or a vertex with associated point coordinates (IfcVertexPoint) within a topological model. /// SELECT @@ -504,6 +536,7 @@ public: class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPointOrVertexPoint > list; }; /// Definition from ISO/CD 10303-46:1992: The presentation style select is a selection of one of many kinds of styles, a different one for each kind of geometric representation item to be styled. /// @@ -516,6 +549,7 @@ public: class IFC_PARSE_API IfcPresentationStyleSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPresentationStyleSelect > list; }; /// IfcProcessSelectprovides the option to either /// select a process or activity occurrence, IfcProcess, @@ -530,11 +564,13 @@ public: class IFC_PARSE_API IfcProcessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProcessSelect > list; }; class IFC_PARSE_API IfcProductRepresentationSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProductRepresentationSelect > list; }; /// IfcProductSelectprovides the option to either select a /// product occurrence, IfcProduct, or a product type, @@ -548,11 +584,13 @@ public: class IFC_PARSE_API IfcProductSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProductSelect > list; }; class IFC_PARSE_API IfcPropertySetDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPropertySetDefinitionSelect > list; }; /// IfcResourceObjectSelect enables selection of resource level objects that are to be related to an resource level relationship object. The use of IfcResourceObjectSelect includes the ability to assign an external reference entity (library, classification, or documentation reference) to entities within the resource level. /// @@ -560,6 +598,7 @@ public: class IFC_PARSE_API IfcResourceObjectSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcResourceObjectSelect > list; }; /// IfcResourceSelectprovides the option to either select a /// resource occurrence, IfcResource, or a resource type, @@ -573,6 +612,7 @@ public: class IFC_PARSE_API IfcResourceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcResourceSelect > list; }; /// Definition from IAI: A measure of rotational stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -580,11 +620,13 @@ public: class IFC_PARSE_API IfcRotationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcRotationalStiffnessSelect > list; }; class IFC_PARSE_API IfcSegmentIndexSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSegmentIndexSelect > list; }; /// Definition from ISO/CD 10303-42:1992 This type collects together, for reference when constructing more complex models, the subtypes which have the characteristics of a shell. A shell is a connected object of fixed dimensionality d = 0; 1; or 2, typically used to bound a region. The domain of a shell, if present, includes its bounds and 0 £ X < ¥. /// @@ -600,6 +642,7 @@ public: class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcShell > list; }; /// IfcSimpleValue is a select type for selecting between simple value types. /// @@ -623,6 +666,7 @@ public: class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSimpleValue > list; }; /// Definition from ISO/CD 10303-46:1992: The size select is a selection of a specific positive length measure. /// @@ -639,6 +683,7 @@ public: class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSizeSelect > list; }; /// The IfcSolidOrShell provides the option to either select a geometric volume (IfcSolidModel and subtypes) within a geometric model, or a shell (IfcClosedShell) within a topological model. /// SELECT @@ -650,6 +695,7 @@ public: class IFC_PARSE_API IfcSolidOrShell : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSolidOrShell > list; }; /// Definition from IAI: The /// IfcSpaceBoundarySelectselects either an internal space @@ -666,6 +712,7 @@ public: class IFC_PARSE_API IfcSpaceBoundarySelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpaceBoundarySelect > list; }; /// The IfcSpecularHighlightSelect defines the selectable types of value for specular highlight sharpness. /// @@ -680,6 +727,7 @@ public: class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpecularHighlightSelect > list; }; /// Definition from IAI: This type definition shall be used to /// distinguish between a reference to an instance either of @@ -693,6 +741,7 @@ public: class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcStructuralActivityAssignmentSelect > list; }; /// The style assignment select is a selection of two wasy of assigning presentation styles to an IfcStyledItem. /// @@ -707,6 +756,7 @@ public: class IFC_PARSE_API IfcStyleAssignmentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcStyleAssignmentSelect > list; }; /// IfcSurfaceOrFaceSurface provides the option to either select a geometric surface (IfcSurface /// and subtypes) within a geometric model, or a face with associated surface geometry and coordinates (IfcFaceSurface) within a topological model. @@ -720,6 +770,7 @@ public: class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSurfaceOrFaceSurface > list; }; /// Definition from ISO/CD 10303-46:1992: The surface style element select is a selection of the different surface styles to use in the presentation of the side of a surface. /// @@ -733,6 +784,7 @@ public: class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSurfaceStyleElementSelect > list; }; /// IfcTextFontSelect allows for either a predefined text font, a text font model or an externally defined text font to be used to describe the font of a text literal. The definition of the text font model is based on W3C TR Cascading Style Sheet Version 1, whereas the definition of predefined text font is based on ISO 10303. /// @@ -744,12 +796,14 @@ public: class IFC_PARSE_API IfcTextFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTextFontSelect > list; }; /// IfcTimeOrRatioSelect allows a value to be selected as being either a ratio or a time measure. /// HISTORY New SELECT in IFC2x4 class IFC_PARSE_API IfcTimeOrRatioSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTimeOrRatioSelect > list; }; /// Definition from IAI: A measure of linear stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -757,6 +811,7 @@ public: class IFC_PARSE_API IfcTranslationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTranslationalStiffnessSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the two possible ways of trimming a parametric curve; by a Cartesian point on the curve, or by a REAL number defining a parameter value within the parametric range of the curve. /// @@ -766,6 +821,7 @@ public: class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTrimmingSelect > list; }; /// Definition from ISO/CD 10303-41:1992: A unit is a physical quantity, with a value of one, which is used as a standard in terms of which other quantities are expressed. /// @@ -783,6 +839,7 @@ public: class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcUnit > list; }; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, /// IfcMeasureValue and IfcDerivedMeasureValue. @@ -797,6 +854,7 @@ public: class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcValue > list; }; /// Definition from ISO/CD 10303-42:1992: This type is used to /// identify the types of entity which can participate in vector computations. @@ -809,6 +867,7 @@ public: class IFC_PARSE_API IfcVectorOrDirection : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcVectorOrDirection > list; }; /// Definition from IAI: A measure of warping stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -816,6 +875,7 @@ public: class IFC_PARSE_API IfcWarpingStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcWarpingStiffnessSelect > list; }; class IFC_PARSE_API IfcActionRequestTypeEnum : public IfcUtil::IfcBaseType { /// IfcActionRequestTypeEnum defines the types of sources through which a request can be made. diff --git a/src/ifcparse/Ifc4x1.h b/src/ifcparse/Ifc4x1.h index d6b3731e83..bbb55dd08d 100644 --- a/src/ifcparse/Ifc4x1.h +++ b/src/ifcparse/Ifc4x1.h @@ -65,6 +65,7 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcActorSelect > list; }; /// IfcAppliedValueSelect defines the selection of whether a value (expressed as a ratio) or an amount should be used as the value for an IfcAppliedValue. /// @@ -83,6 +84,7 @@ public: class IFC_PARSE_API IfcAppliedValueSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcAppliedValueSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type collects together both versions of the placement as used in two dimensional or in three dimensional Cartesian space. This enables entities requiring this information to reference them without specifying the space dimensionality. /// @@ -92,6 +94,7 @@ public: class IFC_PARSE_API IfcAxis2Placement : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcAxis2Placement > list; }; /// Definition from IAI: A select type for selecting between simple measure types for reinforcement bending parameters. /// @@ -99,6 +102,7 @@ public: class IFC_PARSE_API IfcBendingParameterSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcBendingParameterSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies /// all those types of entities which may participate in a Boolean operation to @@ -119,6 +123,7 @@ public: class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcBooleanOperand > list; }; /// IfcClassificationReferenceSelect enables selection of whether a classification reference is a subset of another classification reference or is a top level entry of a classification source. /// @@ -131,6 +136,7 @@ public: class IFC_PARSE_API IfcClassificationReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcClassificationReferenceSelect > list; }; /// IfcClassificationSelect enables selection of whether a classification reference is to be referenced from an external source, or whether a classification is referenced as such. /// @@ -148,6 +154,7 @@ public: class IFC_PARSE_API IfcClassificationSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcClassificationSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The colour entity defines a basic appearance of elements which shall be visualized in a picture. /// @@ -157,6 +164,7 @@ public: class IFC_PARSE_API IfcColour : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcColour > list; }; /// The IfcColourOrFactor enables the selection of either a RGB colour value or a scalar factor value for the use as values of the reflectance components. /// @@ -164,6 +172,7 @@ public: class IFC_PARSE_API IfcColourOrFactor : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcColourOrFactor > list; }; /// IfcCoordinateReferenceSystemSelect is a select between either the local engineering coordinate system, represented by the IfcGeometricRepresentationContext, or another coordinate reference system, represented by IfcCoordinateReferenceSystem, to be the source of a coordinate operation. /// @@ -171,6 +180,7 @@ public: class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCoordinateReferenceSystemSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This type identifies the types of entity which may be selected as the root of a CSG tree including a single CSG primitive as a special case. /// Definition from IAI: The IfcBooleanResult, and subtypes of IfcCsgPrimitive3D are defined as potential root tree expression (at IfcCsgSolid). A subtype of IfcCsgPrimitive3D marks the special case of a CSG solid solely expressed by a single primitive. @@ -181,6 +191,7 @@ public: class IFC_PARSE_API IfcCsgSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCsgSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The curve font or scaled curve font select is a selection of either a curve font style select (being either a predefined curve font or an explicitly defined curve font) or a curve style font and scaling. /// @@ -190,11 +201,13 @@ public: class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveFontOrScaledCurveFontSelect > list; }; class IFC_PARSE_API IfcCurveOnSurface : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveOnSurface > list; }; /// IfcCurveOrEdgeCurve provides the option to either select a geometric curve (IfcCurve /// and subtypes) within a geometric model, or a curve with associated geometry and coordinates (IfcEdgeCurve) within a topological model. @@ -207,6 +220,7 @@ public: class IFC_PARSE_API IfcCurveOrEdgeCurve : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveOrEdgeCurve > list; }; /// Definition from ISO/CD 10303-46:1992: The curve style font select is a selection of a curve style font or a predefined curve style font. /// @@ -216,6 +230,7 @@ public: class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveStyleFontSelect > list; }; /// IfcDefinitionSelectprovides the option to either select an object or type object IfcObjectDefinition, or a property set template or property set, IfcPropertyDefinition. /// SELECT @@ -227,6 +242,7 @@ public: class IFC_PARSE_API IfcDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDefinitionSelect > list; }; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. /// @@ -305,6 +321,7 @@ public: class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDerivedMeasureValue > list; }; /// IfcDocumentSelect enables selection of whether document information is to be contained within an IFC model or is to be referenced from an external source. /// @@ -317,6 +334,7 @@ public: class IFC_PARSE_API IfcDocumentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDocumentSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The fill style select is a selection between different fill area styles. /// @@ -327,6 +345,7 @@ public: class IFC_PARSE_API IfcFillStyleSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcFillStyleSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the types of entities which can occur in a geometric set. /// @@ -336,6 +355,7 @@ public: class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcGeometricSetSelect > list; }; /// IfcGridPlacementDirectionSelect enables the choice of defining a grid placement be either an explicit direction, or by referencing a second grid intersection to provide the direction. /// @@ -348,6 +368,7 @@ public: class IFC_PARSE_API IfcGridPlacementDirectionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcGridPlacementDirectionSelect > list; }; /// The IfcHatchLineDistanceSelect is a selection between different ways to determine the distance and potentially start point of hatch lines, either by an offset distance length measure or by a vector. /// @@ -355,6 +376,7 @@ public: class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcHatchLineDistanceSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The layered things type selects those things, which can be grouped in layers. /// @@ -366,6 +388,7 @@ public: class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLayeredItem > list; }; /// IfcLibrarySelect enables selection of whether library information is to be contained within an IFC model or is to be referenced from an external source. /// @@ -380,6 +403,7 @@ public: class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLibrarySelect > list; }; /// A goniometric light gets its intensity distribution function (how much light goes in any one direction) from one of two sources: (i) an industry-standard file, (ii) from distribution data passed directly via the IfcLightIntensityDistribution. /// @@ -406,6 +430,7 @@ public: class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLightDistributionDataSourceSelect > list; }; /// IfcMaterialSelect provides selection of either a material /// definition or a material usage definition that can be assigned to @@ -436,6 +461,7 @@ public: class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMaterialSelect > list; }; /// Definition from ISO/CD 10303-41:1992: A measure value is a value as defined in ISO 31-0 (clause 2). /// @@ -449,6 +475,7 @@ public: class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMeasureValue > list; }; /// IfcMetricValueSelect is a select type that enables selection of the data type for the value component of an IfcMetric. /// @@ -465,6 +492,7 @@ public: class IFC_PARSE_API IfcMetricValueSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMetricValueSelect > list; }; /// Definition from IAI: A measure for modulus of rotational subgrade reaction which expresses the rotational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -472,6 +500,7 @@ public: class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfRotationalSubgradeReactionSelect > list; }; /// Definition from IAI: Bedding measure which expresses the bedding of a structural face item per area. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -479,6 +508,7 @@ public: class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfSubgradeReactionSelect > list; }; /// Definition from IAI: A measure for modulus of translational subgrade reaction which expresses the translational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -486,6 +516,7 @@ public: class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfTranslationalSubgradeReactionSelect > list; }; /// IfcObjectReferenceSelect is a select type, that holds a list of resource level entities that can be used as properties within a property set. /// @@ -493,6 +524,7 @@ public: class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcObjectReferenceSelect > list; }; /// IfcPointOrVertexPoint provides the option to either select a geometric point (IfcPoint and subtypes) within a geometric model, or a vertex with associated point coordinates (IfcVertexPoint) within a topological model. /// SELECT @@ -504,6 +536,7 @@ public: class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPointOrVertexPoint > list; }; /// Definition from ISO/CD 10303-46:1992: The presentation style select is a selection of one of many kinds of styles, a different one for each kind of geometric representation item to be styled. /// @@ -516,6 +549,7 @@ public: class IFC_PARSE_API IfcPresentationStyleSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPresentationStyleSelect > list; }; /// IfcProcessSelectprovides the option to either /// select a process or activity occurrence, IfcProcess, @@ -530,11 +564,13 @@ public: class IFC_PARSE_API IfcProcessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProcessSelect > list; }; class IFC_PARSE_API IfcProductRepresentationSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProductRepresentationSelect > list; }; /// IfcProductSelectprovides the option to either select a /// product occurrence, IfcProduct, or a product type, @@ -548,11 +584,13 @@ public: class IFC_PARSE_API IfcProductSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProductSelect > list; }; class IFC_PARSE_API IfcPropertySetDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPropertySetDefinitionSelect > list; }; /// IfcResourceObjectSelect enables selection of resource level objects that are to be related to an resource level relationship object. The use of IfcResourceObjectSelect includes the ability to assign an external reference entity (library, classification, or documentation reference) to entities within the resource level. /// @@ -560,6 +598,7 @@ public: class IFC_PARSE_API IfcResourceObjectSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcResourceObjectSelect > list; }; /// IfcResourceSelectprovides the option to either select a /// resource occurrence, IfcResource, or a resource type, @@ -573,6 +612,7 @@ public: class IFC_PARSE_API IfcResourceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcResourceSelect > list; }; /// Definition from IAI: A measure of rotational stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -580,11 +620,13 @@ public: class IFC_PARSE_API IfcRotationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcRotationalStiffnessSelect > list; }; class IFC_PARSE_API IfcSegmentIndexSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSegmentIndexSelect > list; }; /// Definition from ISO/CD 10303-42:1992 This type collects together, for reference when constructing more complex models, the subtypes which have the characteristics of a shell. A shell is a connected object of fixed dimensionality d = 0; 1; or 2, typically used to bound a region. The domain of a shell, if present, includes its bounds and 0 £ X < ¥. /// @@ -600,6 +642,7 @@ public: class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcShell > list; }; /// IfcSimpleValue is a select type for selecting between simple value types. /// @@ -623,6 +666,7 @@ public: class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSimpleValue > list; }; /// Definition from ISO/CD 10303-46:1992: The size select is a selection of a specific positive length measure. /// @@ -639,6 +683,7 @@ public: class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSizeSelect > list; }; /// The IfcSolidOrShell provides the option to either select a geometric volume (IfcSolidModel and subtypes) within a geometric model, or a shell (IfcClosedShell) within a topological model. /// SELECT @@ -650,6 +695,7 @@ public: class IFC_PARSE_API IfcSolidOrShell : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSolidOrShell > list; }; /// Definition from IAI: The /// IfcSpaceBoundarySelectselects either an internal space @@ -666,6 +712,7 @@ public: class IFC_PARSE_API IfcSpaceBoundarySelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpaceBoundarySelect > list; }; /// The IfcSpecularHighlightSelect defines the selectable types of value for specular highlight sharpness. /// @@ -680,6 +727,7 @@ public: class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpecularHighlightSelect > list; }; /// Definition from IAI: This type definition shall be used to /// distinguish between a reference to an instance either of @@ -693,6 +741,7 @@ public: class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcStructuralActivityAssignmentSelect > list; }; /// The style assignment select is a selection of two wasy of assigning presentation styles to an IfcStyledItem. /// @@ -707,6 +756,7 @@ public: class IFC_PARSE_API IfcStyleAssignmentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcStyleAssignmentSelect > list; }; /// IfcSurfaceOrFaceSurface provides the option to either select a geometric surface (IfcSurface /// and subtypes) within a geometric model, or a face with associated surface geometry and coordinates (IfcFaceSurface) within a topological model. @@ -720,6 +770,7 @@ public: class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSurfaceOrFaceSurface > list; }; /// Definition from ISO/CD 10303-46:1992: The surface style element select is a selection of the different surface styles to use in the presentation of the side of a surface. /// @@ -733,6 +784,7 @@ public: class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSurfaceStyleElementSelect > list; }; /// IfcTextFontSelect allows for either a predefined text font, a text font model or an externally defined text font to be used to describe the font of a text literal. The definition of the text font model is based on W3C TR Cascading Style Sheet Version 1, whereas the definition of predefined text font is based on ISO 10303. /// @@ -744,12 +796,14 @@ public: class IFC_PARSE_API IfcTextFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTextFontSelect > list; }; /// IfcTimeOrRatioSelect allows a value to be selected as being either a ratio or a time measure. /// HISTORY New SELECT in IFC2x4 class IFC_PARSE_API IfcTimeOrRatioSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTimeOrRatioSelect > list; }; /// Definition from IAI: A measure of linear stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -757,6 +811,7 @@ public: class IFC_PARSE_API IfcTranslationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTranslationalStiffnessSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the two possible ways of trimming a parametric curve; by a Cartesian point on the curve, or by a REAL number defining a parameter value within the parametric range of the curve. /// @@ -766,6 +821,7 @@ public: class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTrimmingSelect > list; }; /// Definition from ISO/CD 10303-41:1992: A unit is a physical quantity, with a value of one, which is used as a standard in terms of which other quantities are expressed. /// @@ -783,6 +839,7 @@ public: class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcUnit > list; }; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, /// IfcMeasureValue and IfcDerivedMeasureValue. @@ -797,6 +854,7 @@ public: class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcValue > list; }; /// Definition from ISO/CD 10303-42:1992: This type is used to /// identify the types of entity which can participate in vector computations. @@ -809,6 +867,7 @@ public: class IFC_PARSE_API IfcVectorOrDirection : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcVectorOrDirection > list; }; /// Definition from IAI: A measure of warping stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -816,6 +875,7 @@ public: class IFC_PARSE_API IfcWarpingStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcWarpingStiffnessSelect > list; }; class IFC_PARSE_API IfcActionRequestTypeEnum : public IfcUtil::IfcBaseType { /// IfcActionRequestTypeEnum defines the types of sources through which a request can be made. diff --git a/src/ifcparse/Ifc4x2.h b/src/ifcparse/Ifc4x2.h index 743e1c03f3..2dc445cd26 100644 --- a/src/ifcparse/Ifc4x2.h +++ b/src/ifcparse/Ifc4x2.h @@ -65,6 +65,7 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcActorSelect > list; }; /// IfcAppliedValueSelect defines the selection of whether a value (expressed as a ratio) or an amount should be used as the value for an IfcAppliedValue. /// @@ -83,6 +84,7 @@ public: class IFC_PARSE_API IfcAppliedValueSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcAppliedValueSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type collects together both versions of the placement as used in two dimensional or in three dimensional Cartesian space. This enables entities requiring this information to reference them without specifying the space dimensionality. /// @@ -92,6 +94,7 @@ public: class IFC_PARSE_API IfcAxis2Placement : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcAxis2Placement > list; }; /// Definition from IAI: A select type for selecting between simple measure types for reinforcement bending parameters. /// @@ -99,6 +102,7 @@ public: class IFC_PARSE_API IfcBendingParameterSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcBendingParameterSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies /// all those types of entities which may participate in a Boolean operation to @@ -119,6 +123,7 @@ public: class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcBooleanOperand > list; }; /// IfcClassificationReferenceSelect enables selection of whether a classification reference is a subset of another classification reference or is a top level entry of a classification source. /// @@ -131,6 +136,7 @@ public: class IFC_PARSE_API IfcClassificationReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcClassificationReferenceSelect > list; }; /// IfcClassificationSelect enables selection of whether a classification reference is to be referenced from an external source, or whether a classification is referenced as such. /// @@ -148,6 +154,7 @@ public: class IFC_PARSE_API IfcClassificationSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcClassificationSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The colour entity defines a basic appearance of elements which shall be visualized in a picture. /// @@ -157,6 +164,7 @@ public: class IFC_PARSE_API IfcColour : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcColour > list; }; /// The IfcColourOrFactor enables the selection of either a RGB colour value or a scalar factor value for the use as values of the reflectance components. /// @@ -164,6 +172,7 @@ public: class IFC_PARSE_API IfcColourOrFactor : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcColourOrFactor > list; }; /// IfcCoordinateReferenceSystemSelect is a select between either the local engineering coordinate system, represented by the IfcGeometricRepresentationContext, or another coordinate reference system, represented by IfcCoordinateReferenceSystem, to be the source of a coordinate operation. /// @@ -171,6 +180,7 @@ public: class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCoordinateReferenceSystemSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This type identifies the types of entity which may be selected as the root of a CSG tree including a single CSG primitive as a special case. /// Definition from IAI: The IfcBooleanResult, and subtypes of IfcCsgPrimitive3D are defined as potential root tree expression (at IfcCsgSolid). A subtype of IfcCsgPrimitive3D marks the special case of a CSG solid solely expressed by a single primitive. @@ -181,6 +191,7 @@ public: class IFC_PARSE_API IfcCsgSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCsgSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The curve font or scaled curve font select is a selection of either a curve font style select (being either a predefined curve font or an explicitly defined curve font) or a curve style font and scaling. /// @@ -190,11 +201,13 @@ public: class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveFontOrScaledCurveFontSelect > list; }; class IFC_PARSE_API IfcCurveOnSurface : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveOnSurface > list; }; /// IfcCurveOrEdgeCurve provides the option to either select a geometric curve (IfcCurve /// and subtypes) within a geometric model, or a curve with associated geometry and coordinates (IfcEdgeCurve) within a topological model. @@ -207,6 +220,7 @@ public: class IFC_PARSE_API IfcCurveOrEdgeCurve : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveOrEdgeCurve > list; }; /// Definition from ISO/CD 10303-46:1992: The curve style font select is a selection of a curve style font or a predefined curve style font. /// @@ -216,6 +230,7 @@ public: class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveStyleFontSelect > list; }; /// IfcDefinitionSelectprovides the option to either select an object or type object IfcObjectDefinition, or a property set template or property set, IfcPropertyDefinition. /// SELECT @@ -227,6 +242,7 @@ public: class IFC_PARSE_API IfcDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDefinitionSelect > list; }; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. /// @@ -305,6 +321,7 @@ public: class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDerivedMeasureValue > list; }; /// IfcDocumentSelect enables selection of whether document information is to be contained within an IFC model or is to be referenced from an external source. /// @@ -317,6 +334,7 @@ public: class IFC_PARSE_API IfcDocumentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDocumentSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The fill style select is a selection between different fill area styles. /// @@ -327,6 +345,7 @@ public: class IFC_PARSE_API IfcFillStyleSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcFillStyleSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the types of entities which can occur in a geometric set. /// @@ -336,6 +355,7 @@ public: class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcGeometricSetSelect > list; }; /// IfcGridPlacementDirectionSelect enables the choice of defining a grid placement be either an explicit direction, or by referencing a second grid intersection to provide the direction. /// @@ -348,6 +368,7 @@ public: class IFC_PARSE_API IfcGridPlacementDirectionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcGridPlacementDirectionSelect > list; }; /// The IfcHatchLineDistanceSelect is a selection between different ways to determine the distance and potentially start point of hatch lines, either by an offset distance length measure or by a vector. /// @@ -355,6 +376,7 @@ public: class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcHatchLineDistanceSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The layered things type selects those things, which can be grouped in layers. /// @@ -366,6 +388,7 @@ public: class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLayeredItem > list; }; /// IfcLibrarySelect enables selection of whether library information is to be contained within an IFC model or is to be referenced from an external source. /// @@ -380,6 +403,7 @@ public: class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLibrarySelect > list; }; /// A goniometric light gets its intensity distribution function (how much light goes in any one direction) from one of two sources: (i) an industry-standard file, (ii) from distribution data passed directly via the IfcLightIntensityDistribution. /// @@ -406,6 +430,7 @@ public: class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLightDistributionDataSourceSelect > list; }; /// IfcMaterialSelect provides selection of either a material /// definition or a material usage definition that can be assigned to @@ -436,6 +461,7 @@ public: class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMaterialSelect > list; }; /// Definition from ISO/CD 10303-41:1992: A measure value is a value as defined in ISO 31-0 (clause 2). /// @@ -449,6 +475,7 @@ public: class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMeasureValue > list; }; /// IfcMetricValueSelect is a select type that enables selection of the data type for the value component of an IfcMetric. /// @@ -465,6 +492,7 @@ public: class IFC_PARSE_API IfcMetricValueSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMetricValueSelect > list; }; /// Definition from IAI: A measure for modulus of rotational subgrade reaction which expresses the rotational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -472,6 +500,7 @@ public: class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfRotationalSubgradeReactionSelect > list; }; /// Definition from IAI: Bedding measure which expresses the bedding of a structural face item per area. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -479,6 +508,7 @@ public: class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfSubgradeReactionSelect > list; }; /// Definition from IAI: A measure for modulus of translational subgrade reaction which expresses the translational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -486,6 +516,7 @@ public: class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfTranslationalSubgradeReactionSelect > list; }; /// IfcObjectReferenceSelect is a select type, that holds a list of resource level entities that can be used as properties within a property set. /// @@ -493,6 +524,7 @@ public: class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcObjectReferenceSelect > list; }; /// IfcPointOrVertexPoint provides the option to either select a geometric point (IfcPoint and subtypes) within a geometric model, or a vertex with associated point coordinates (IfcVertexPoint) within a topological model. /// SELECT @@ -504,6 +536,7 @@ public: class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPointOrVertexPoint > list; }; /// Definition from ISO/CD 10303-46:1992: The presentation style select is a selection of one of many kinds of styles, a different one for each kind of geometric representation item to be styled. /// @@ -516,6 +549,7 @@ public: class IFC_PARSE_API IfcPresentationStyleSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPresentationStyleSelect > list; }; /// IfcProcessSelectprovides the option to either /// select a process or activity occurrence, IfcProcess, @@ -530,11 +564,13 @@ public: class IFC_PARSE_API IfcProcessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProcessSelect > list; }; class IFC_PARSE_API IfcProductRepresentationSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProductRepresentationSelect > list; }; /// IfcProductSelectprovides the option to either select a /// product occurrence, IfcProduct, or a product type, @@ -548,11 +584,13 @@ public: class IFC_PARSE_API IfcProductSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProductSelect > list; }; class IFC_PARSE_API IfcPropertySetDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPropertySetDefinitionSelect > list; }; /// IfcResourceObjectSelect enables selection of resource level objects that are to be related to an resource level relationship object. The use of IfcResourceObjectSelect includes the ability to assign an external reference entity (library, classification, or documentation reference) to entities within the resource level. /// @@ -560,6 +598,7 @@ public: class IFC_PARSE_API IfcResourceObjectSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcResourceObjectSelect > list; }; /// IfcResourceSelectprovides the option to either select a /// resource occurrence, IfcResource, or a resource type, @@ -573,6 +612,7 @@ public: class IFC_PARSE_API IfcResourceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcResourceSelect > list; }; /// Definition from IAI: A measure of rotational stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -580,11 +620,13 @@ public: class IFC_PARSE_API IfcRotationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcRotationalStiffnessSelect > list; }; class IFC_PARSE_API IfcSegmentIndexSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSegmentIndexSelect > list; }; /// Definition from ISO/CD 10303-42:1992 This type collects together, for reference when constructing more complex models, the subtypes which have the characteristics of a shell. A shell is a connected object of fixed dimensionality d = 0; 1; or 2, typically used to bound a region. The domain of a shell, if present, includes its bounds and 0 £ X < ¥. /// @@ -600,6 +642,7 @@ public: class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcShell > list; }; /// IfcSimpleValue is a select type for selecting between simple value types. /// @@ -623,6 +666,7 @@ public: class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSimpleValue > list; }; /// Definition from ISO/CD 10303-46:1992: The size select is a selection of a specific positive length measure. /// @@ -639,6 +683,7 @@ public: class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSizeSelect > list; }; /// The IfcSolidOrShell provides the option to either select a geometric volume (IfcSolidModel and subtypes) within a geometric model, or a shell (IfcClosedShell) within a topological model. /// SELECT @@ -650,6 +695,7 @@ public: class IFC_PARSE_API IfcSolidOrShell : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSolidOrShell > list; }; /// Definition from IAI: The /// IfcSpaceBoundarySelectselects either an internal space @@ -666,6 +712,7 @@ public: class IFC_PARSE_API IfcSpaceBoundarySelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpaceBoundarySelect > list; }; /// The IfcSpecularHighlightSelect defines the selectable types of value for specular highlight sharpness. /// @@ -680,6 +727,7 @@ public: class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpecularHighlightSelect > list; }; /// Definition from IAI: This type definition shall be used to /// distinguish between a reference to an instance either of @@ -693,6 +741,7 @@ public: class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcStructuralActivityAssignmentSelect > list; }; /// The style assignment select is a selection of two wasy of assigning presentation styles to an IfcStyledItem. /// @@ -707,6 +756,7 @@ public: class IFC_PARSE_API IfcStyleAssignmentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcStyleAssignmentSelect > list; }; /// IfcSurfaceOrFaceSurface provides the option to either select a geometric surface (IfcSurface /// and subtypes) within a geometric model, or a face with associated surface geometry and coordinates (IfcFaceSurface) within a topological model. @@ -720,6 +770,7 @@ public: class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSurfaceOrFaceSurface > list; }; /// Definition from ISO/CD 10303-46:1992: The surface style element select is a selection of the different surface styles to use in the presentation of the side of a surface. /// @@ -733,6 +784,7 @@ public: class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSurfaceStyleElementSelect > list; }; /// IfcTextFontSelect allows for either a predefined text font, a text font model or an externally defined text font to be used to describe the font of a text literal. The definition of the text font model is based on W3C TR Cascading Style Sheet Version 1, whereas the definition of predefined text font is based on ISO 10303. /// @@ -744,12 +796,14 @@ public: class IFC_PARSE_API IfcTextFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTextFontSelect > list; }; /// IfcTimeOrRatioSelect allows a value to be selected as being either a ratio or a time measure. /// HISTORY New SELECT in IFC2x4 class IFC_PARSE_API IfcTimeOrRatioSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTimeOrRatioSelect > list; }; /// Definition from IAI: A measure of linear stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -757,6 +811,7 @@ public: class IFC_PARSE_API IfcTranslationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTranslationalStiffnessSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the two possible ways of trimming a parametric curve; by a Cartesian point on the curve, or by a REAL number defining a parameter value within the parametric range of the curve. /// @@ -766,6 +821,7 @@ public: class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTrimmingSelect > list; }; /// Definition from ISO/CD 10303-41:1992: A unit is a physical quantity, with a value of one, which is used as a standard in terms of which other quantities are expressed. /// @@ -783,6 +839,7 @@ public: class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcUnit > list; }; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, /// IfcMeasureValue and IfcDerivedMeasureValue. @@ -797,6 +854,7 @@ public: class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcValue > list; }; /// Definition from ISO/CD 10303-42:1992: This type is used to /// identify the types of entity which can participate in vector computations. @@ -809,6 +867,7 @@ public: class IFC_PARSE_API IfcVectorOrDirection : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcVectorOrDirection > list; }; /// Definition from IAI: A measure of warping stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -816,6 +875,7 @@ public: class IFC_PARSE_API IfcWarpingStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcWarpingStiffnessSelect > list; }; class IFC_PARSE_API IfcActionRequestTypeEnum : public IfcUtil::IfcBaseType { /// IfcActionRequestTypeEnum defines the types of sources through which a request can be made. diff --git a/src/ifcparse/Ifc4x3_add1.h b/src/ifcparse/Ifc4x3_add1.h index 008228268d..a92381f7c3 100644 --- a/src/ifcparse/Ifc4x3_add1.h +++ b/src/ifcparse/Ifc4x3_add1.h @@ -65,6 +65,7 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcActorSelect > list; }; /// IfcAppliedValueSelect defines the selection of whether a value (expressed as a ratio) or an amount should be used as the value for an IfcAppliedValue. /// @@ -83,6 +84,7 @@ public: class IFC_PARSE_API IfcAppliedValueSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcAppliedValueSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type collects together both versions of the placement as used in two dimensional or in three dimensional Cartesian space. This enables entities requiring this information to reference them without specifying the space dimensionality. /// @@ -92,6 +94,7 @@ public: class IFC_PARSE_API IfcAxis2Placement : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcAxis2Placement > list; }; /// Definition from IAI: A select type for selecting between simple measure types for reinforcement bending parameters. /// @@ -99,6 +102,7 @@ public: class IFC_PARSE_API IfcBendingParameterSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcBendingParameterSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies /// all those types of entities which may participate in a Boolean operation to @@ -119,6 +123,7 @@ public: class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcBooleanOperand > list; }; /// IfcClassificationReferenceSelect enables selection of whether a classification reference is a subset of another classification reference or is a top level entry of a classification source. /// @@ -131,6 +136,7 @@ public: class IFC_PARSE_API IfcClassificationReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcClassificationReferenceSelect > list; }; /// IfcClassificationSelect enables selection of whether a classification reference is to be referenced from an external source, or whether a classification is referenced as such. /// @@ -148,6 +154,7 @@ public: class IFC_PARSE_API IfcClassificationSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcClassificationSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The colour entity defines a basic appearance of elements which shall be visualized in a picture. /// @@ -157,6 +164,7 @@ public: class IFC_PARSE_API IfcColour : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcColour > list; }; /// The IfcColourOrFactor enables the selection of either a RGB colour value or a scalar factor value for the use as values of the reflectance components. /// @@ -164,6 +172,7 @@ public: class IFC_PARSE_API IfcColourOrFactor : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcColourOrFactor > list; }; /// IfcCoordinateReferenceSystemSelect is a select between either the local engineering coordinate system, represented by the IfcGeometricRepresentationContext, or another coordinate reference system, represented by IfcCoordinateReferenceSystem, to be the source of a coordinate operation. /// @@ -171,6 +180,7 @@ public: class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCoordinateReferenceSystemSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This type identifies the types of entity which may be selected as the root of a CSG tree including a single CSG primitive as a special case. /// Definition from IAI: The IfcBooleanResult, and subtypes of IfcCsgPrimitive3D are defined as potential root tree expression (at IfcCsgSolid). A subtype of IfcCsgPrimitive3D marks the special case of a CSG solid solely expressed by a single primitive. @@ -181,6 +191,7 @@ public: class IFC_PARSE_API IfcCsgSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCsgSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The curve font or scaled curve font select is a selection of either a curve font style select (being either a predefined curve font or an explicitly defined curve font) or a curve style font and scaling. /// @@ -190,16 +201,19 @@ public: class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveFontOrScaledCurveFontSelect > list; }; class IFC_PARSE_API IfcCurveMeasureSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveMeasureSelect > list; }; class IFC_PARSE_API IfcCurveOnSurface : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveOnSurface > list; }; /// IfcCurveOrEdgeCurve provides the option to either select a geometric curve (IfcCurve /// and subtypes) within a geometric model, or a curve with associated geometry and coordinates (IfcEdgeCurve) within a topological model. @@ -212,6 +226,7 @@ public: class IFC_PARSE_API IfcCurveOrEdgeCurve : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveOrEdgeCurve > list; }; /// Definition from ISO/CD 10303-46:1992: The curve style font select is a selection of a curve style font or a predefined curve style font. /// @@ -221,6 +236,7 @@ public: class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveStyleFontSelect > list; }; /// IfcDefinitionSelectprovides the option to either select an object or type object IfcObjectDefinition, or a property set template or property set, IfcPropertyDefinition. /// SELECT @@ -232,6 +248,7 @@ public: class IFC_PARSE_API IfcDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDefinitionSelect > list; }; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. /// @@ -310,6 +327,7 @@ public: class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDerivedMeasureValue > list; }; /// IfcDocumentSelect enables selection of whether document information is to be contained within an IFC model or is to be referenced from an external source. /// @@ -322,6 +340,7 @@ public: class IFC_PARSE_API IfcDocumentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDocumentSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The fill style select is a selection between different fill area styles. /// @@ -332,6 +351,7 @@ public: class IFC_PARSE_API IfcFillStyleSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcFillStyleSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the types of entities which can occur in a geometric set. /// @@ -341,6 +361,7 @@ public: class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcGeometricSetSelect > list; }; /// IfcGridPlacementDirectionSelect enables the choice of defining a grid placement be either an explicit direction, or by referencing a second grid intersection to provide the direction. /// @@ -353,6 +374,7 @@ public: class IFC_PARSE_API IfcGridPlacementDirectionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcGridPlacementDirectionSelect > list; }; /// The IfcHatchLineDistanceSelect is a selection between different ways to determine the distance and potentially start point of hatch lines, either by an offset distance length measure or by a vector. /// @@ -360,11 +382,13 @@ public: class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcHatchLineDistanceSelect > list; }; class IFC_PARSE_API IfcInterferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcInterferenceSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The layered things type selects those things, which can be grouped in layers. /// @@ -376,6 +400,7 @@ public: class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLayeredItem > list; }; /// IfcLibrarySelect enables selection of whether library information is to be contained within an IFC model or is to be referenced from an external source. /// @@ -390,6 +415,7 @@ public: class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLibrarySelect > list; }; /// A goniometric light gets its intensity distribution function (how much light goes in any one direction) from one of two sources: (i) an industry-standard file, (ii) from distribution data passed directly via the IfcLightIntensityDistribution. /// @@ -416,6 +442,7 @@ public: class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLightDistributionDataSourceSelect > list; }; /// IfcMaterialSelect provides selection of either a material /// definition or a material usage definition that can be assigned to @@ -446,6 +473,7 @@ public: class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMaterialSelect > list; }; /// Definition from ISO/CD 10303-41:1992: A measure value is a value as defined in ISO 31-0 (clause 2). /// @@ -459,6 +487,7 @@ public: class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMeasureValue > list; }; /// IfcMetricValueSelect is a select type that enables selection of the data type for the value component of an IfcMetric. /// @@ -475,6 +504,7 @@ public: class IFC_PARSE_API IfcMetricValueSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMetricValueSelect > list; }; /// Definition from IAI: A measure for modulus of rotational subgrade reaction which expresses the rotational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -482,6 +512,7 @@ public: class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfRotationalSubgradeReactionSelect > list; }; /// Definition from IAI: Bedding measure which expresses the bedding of a structural face item per area. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -489,6 +520,7 @@ public: class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfSubgradeReactionSelect > list; }; /// Definition from IAI: A measure for modulus of translational subgrade reaction which expresses the translational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -496,6 +528,7 @@ public: class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfTranslationalSubgradeReactionSelect > list; }; /// IfcObjectReferenceSelect is a select type, that holds a list of resource level entities that can be used as properties within a property set. /// @@ -503,6 +536,7 @@ public: class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcObjectReferenceSelect > list; }; /// IfcPointOrVertexPoint provides the option to either select a geometric point (IfcPoint and subtypes) within a geometric model, or a vertex with associated point coordinates (IfcVertexPoint) within a topological model. /// SELECT @@ -514,6 +548,7 @@ public: class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPointOrVertexPoint > list; }; /// IfcProcessSelectprovides the option to either /// select a process or activity occurrence, IfcProcess, @@ -528,11 +563,13 @@ public: class IFC_PARSE_API IfcProcessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProcessSelect > list; }; class IFC_PARSE_API IfcProductRepresentationSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProductRepresentationSelect > list; }; /// IfcProductSelectprovides the option to either select a /// product occurrence, IfcProduct, or a product type, @@ -546,11 +583,13 @@ public: class IFC_PARSE_API IfcProductSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProductSelect > list; }; class IFC_PARSE_API IfcPropertySetDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPropertySetDefinitionSelect > list; }; /// IfcResourceObjectSelect enables selection of resource level objects that are to be related to an resource level relationship object. The use of IfcResourceObjectSelect includes the ability to assign an external reference entity (library, classification, or documentation reference) to entities within the resource level. /// @@ -558,6 +597,7 @@ public: class IFC_PARSE_API IfcResourceObjectSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcResourceObjectSelect > list; }; /// IfcResourceSelectprovides the option to either select a /// resource occurrence, IfcResource, or a resource type, @@ -571,6 +611,7 @@ public: class IFC_PARSE_API IfcResourceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcResourceSelect > list; }; /// Definition from IAI: A measure of rotational stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -578,11 +619,13 @@ public: class IFC_PARSE_API IfcRotationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcRotationalStiffnessSelect > list; }; class IFC_PARSE_API IfcSegmentIndexSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSegmentIndexSelect > list; }; /// Definition from ISO/CD 10303-42:1992 This type collects together, for reference when constructing more complex models, the subtypes which have the characteristics of a shell. A shell is a connected object of fixed dimensionality d = 0; 1; or 2, typically used to bound a region. The domain of a shell, if present, includes its bounds and 0 £ X < ¥. /// @@ -598,6 +641,7 @@ public: class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcShell > list; }; /// IfcSimpleValue is a select type for selecting between simple value types. /// @@ -621,6 +665,7 @@ public: class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSimpleValue > list; }; /// Definition from ISO/CD 10303-46:1992: The size select is a selection of a specific positive length measure. /// @@ -637,6 +682,7 @@ public: class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSizeSelect > list; }; /// The IfcSolidOrShell provides the option to either select a geometric volume (IfcSolidModel and subtypes) within a geometric model, or a shell (IfcClosedShell) within a topological model. /// SELECT @@ -648,6 +694,7 @@ public: class IFC_PARSE_API IfcSolidOrShell : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSolidOrShell > list; }; /// Definition from IAI: The /// IfcSpaceBoundarySelectselects either an internal space @@ -664,11 +711,13 @@ public: class IFC_PARSE_API IfcSpaceBoundarySelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpaceBoundarySelect > list; }; class IFC_PARSE_API IfcSpatialReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpatialReferenceSelect > list; }; /// The IfcSpecularHighlightSelect defines the selectable types of value for specular highlight sharpness. /// @@ -683,6 +732,7 @@ public: class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpecularHighlightSelect > list; }; /// Definition from IAI: This type definition shall be used to /// distinguish between a reference to an instance either of @@ -696,6 +746,7 @@ public: class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcStructuralActivityAssignmentSelect > list; }; /// IfcSurfaceOrFaceSurface provides the option to either select a geometric surface (IfcSurface /// and subtypes) within a geometric model, or a face with associated surface geometry and coordinates (IfcFaceSurface) within a topological model. @@ -709,6 +760,7 @@ public: class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSurfaceOrFaceSurface > list; }; /// Definition from ISO/CD 10303-46:1992: The surface style element select is a selection of the different surface styles to use in the presentation of the side of a surface. /// @@ -722,6 +774,7 @@ public: class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSurfaceStyleElementSelect > list; }; /// IfcTextFontSelect allows for either a predefined text font, a text font model or an externally defined text font to be used to describe the font of a text literal. The definition of the text font model is based on W3C TR Cascading Style Sheet Version 1, whereas the definition of predefined text font is based on ISO 10303. /// @@ -733,12 +786,14 @@ public: class IFC_PARSE_API IfcTextFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTextFontSelect > list; }; /// IfcTimeOrRatioSelect allows a value to be selected as being either a ratio or a time measure. /// HISTORY New SELECT in IFC2x4 class IFC_PARSE_API IfcTimeOrRatioSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTimeOrRatioSelect > list; }; /// Definition from IAI: A measure of linear stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -746,6 +801,7 @@ public: class IFC_PARSE_API IfcTranslationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTranslationalStiffnessSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the two possible ways of trimming a parametric curve; by a Cartesian point on the curve, or by a REAL number defining a parameter value within the parametric range of the curve. /// @@ -755,6 +811,7 @@ public: class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTrimmingSelect > list; }; /// Definition from ISO/CD 10303-41:1992: A unit is a physical quantity, with a value of one, which is used as a standard in terms of which other quantities are expressed. /// @@ -772,6 +829,7 @@ public: class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcUnit > list; }; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, /// IfcMeasureValue and IfcDerivedMeasureValue. @@ -786,6 +844,7 @@ public: class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcValue > list; }; /// Definition from ISO/CD 10303-42:1992: This type is used to /// identify the types of entity which can participate in vector computations. @@ -798,6 +857,7 @@ public: class IFC_PARSE_API IfcVectorOrDirection : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcVectorOrDirection > list; }; /// Definition from IAI: A measure of warping stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -805,6 +865,7 @@ public: class IFC_PARSE_API IfcWarpingStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcWarpingStiffnessSelect > list; }; class IFC_PARSE_API IfcActionRequestTypeEnum : public IfcUtil::IfcBaseType { /// IfcActionRequestTypeEnum defines the types of sources through which a request can be made. diff --git a/src/ifcparse/Ifc4x3_rc1.h b/src/ifcparse/Ifc4x3_rc1.h index 26b73912c4..ab5ab49ca6 100644 --- a/src/ifcparse/Ifc4x3_rc1.h +++ b/src/ifcparse/Ifc4x3_rc1.h @@ -65,6 +65,7 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcActorSelect > list; }; /// IfcAppliedValueSelect defines the selection of whether a value (expressed as a ratio) or an amount should be used as the value for an IfcAppliedValue. /// @@ -83,6 +84,7 @@ public: class IFC_PARSE_API IfcAppliedValueSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcAppliedValueSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type collects together both versions of the placement as used in two dimensional or in three dimensional Cartesian space. This enables entities requiring this information to reference them without specifying the space dimensionality. /// @@ -92,6 +94,7 @@ public: class IFC_PARSE_API IfcAxis2Placement : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcAxis2Placement > list; }; /// Definition from IAI: A select type for selecting between simple measure types for reinforcement bending parameters. /// @@ -99,6 +102,7 @@ public: class IFC_PARSE_API IfcBendingParameterSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcBendingParameterSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies /// all those types of entities which may participate in a Boolean operation to @@ -119,6 +123,7 @@ public: class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcBooleanOperand > list; }; /// IfcClassificationReferenceSelect enables selection of whether a classification reference is a subset of another classification reference or is a top level entry of a classification source. /// @@ -131,6 +136,7 @@ public: class IFC_PARSE_API IfcClassificationReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcClassificationReferenceSelect > list; }; /// IfcClassificationSelect enables selection of whether a classification reference is to be referenced from an external source, or whether a classification is referenced as such. /// @@ -148,6 +154,7 @@ public: class IFC_PARSE_API IfcClassificationSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcClassificationSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The colour entity defines a basic appearance of elements which shall be visualized in a picture. /// @@ -157,6 +164,7 @@ public: class IFC_PARSE_API IfcColour : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcColour > list; }; /// The IfcColourOrFactor enables the selection of either a RGB colour value or a scalar factor value for the use as values of the reflectance components. /// @@ -164,6 +172,7 @@ public: class IFC_PARSE_API IfcColourOrFactor : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcColourOrFactor > list; }; /// IfcCoordinateReferenceSystemSelect is a select between either the local engineering coordinate system, represented by the IfcGeometricRepresentationContext, or another coordinate reference system, represented by IfcCoordinateReferenceSystem, to be the source of a coordinate operation. /// @@ -171,6 +180,7 @@ public: class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCoordinateReferenceSystemSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This type identifies the types of entity which may be selected as the root of a CSG tree including a single CSG primitive as a special case. /// Definition from IAI: The IfcBooleanResult, and subtypes of IfcCsgPrimitive3D are defined as potential root tree expression (at IfcCsgSolid). A subtype of IfcCsgPrimitive3D marks the special case of a CSG solid solely expressed by a single primitive. @@ -181,6 +191,7 @@ public: class IFC_PARSE_API IfcCsgSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCsgSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The curve font or scaled curve font select is a selection of either a curve font style select (being either a predefined curve font or an explicitly defined curve font) or a curve style font and scaling. /// @@ -190,11 +201,13 @@ public: class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveFontOrScaledCurveFontSelect > list; }; class IFC_PARSE_API IfcCurveOnSurface : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveOnSurface > list; }; /// IfcCurveOrEdgeCurve provides the option to either select a geometric curve (IfcCurve /// and subtypes) within a geometric model, or a curve with associated geometry and coordinates (IfcEdgeCurve) within a topological model. @@ -207,6 +220,7 @@ public: class IFC_PARSE_API IfcCurveOrEdgeCurve : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveOrEdgeCurve > list; }; /// Definition from ISO/CD 10303-46:1992: The curve style font select is a selection of a curve style font or a predefined curve style font. /// @@ -216,6 +230,7 @@ public: class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveStyleFontSelect > list; }; /// IfcDefinitionSelectprovides the option to either select an object or type object IfcObjectDefinition, or a property set template or property set, IfcPropertyDefinition. /// SELECT @@ -227,6 +242,7 @@ public: class IFC_PARSE_API IfcDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDefinitionSelect > list; }; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. /// @@ -305,6 +321,7 @@ public: class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDerivedMeasureValue > list; }; /// IfcDocumentSelect enables selection of whether document information is to be contained within an IFC model or is to be referenced from an external source. /// @@ -317,11 +334,13 @@ public: class IFC_PARSE_API IfcDocumentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDocumentSelect > list; }; class IFC_PARSE_API IfcFacilityPartTypeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcFacilityPartTypeSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The fill style select is a selection between different fill area styles. /// @@ -332,6 +351,7 @@ public: class IFC_PARSE_API IfcFillStyleSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcFillStyleSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the types of entities which can occur in a geometric set. /// @@ -341,6 +361,7 @@ public: class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcGeometricSetSelect > list; }; /// IfcGridPlacementDirectionSelect enables the choice of defining a grid placement be either an explicit direction, or by referencing a second grid intersection to provide the direction. /// @@ -353,6 +374,7 @@ public: class IFC_PARSE_API IfcGridPlacementDirectionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcGridPlacementDirectionSelect > list; }; /// The IfcHatchLineDistanceSelect is a selection between different ways to determine the distance and potentially start point of hatch lines, either by an offset distance length measure or by a vector. /// @@ -360,16 +382,19 @@ public: class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcHatchLineDistanceSelect > list; }; class IFC_PARSE_API IfcImpactProtectionDeviceTypeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcImpactProtectionDeviceTypeSelect > list; }; class IFC_PARSE_API IfcInterferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcInterferenceSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The layered things type selects those things, which can be grouped in layers. /// @@ -381,6 +406,7 @@ public: class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLayeredItem > list; }; /// IfcLibrarySelect enables selection of whether library information is to be contained within an IFC model or is to be referenced from an external source. /// @@ -395,6 +421,7 @@ public: class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLibrarySelect > list; }; /// A goniometric light gets its intensity distribution function (how much light goes in any one direction) from one of two sources: (i) an industry-standard file, (ii) from distribution data passed directly via the IfcLightIntensityDistribution. /// @@ -421,11 +448,13 @@ public: class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLightDistributionDataSourceSelect > list; }; class IFC_PARSE_API IfcLinearAxisSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLinearAxisSelect > list; }; /// IfcMaterialSelect provides selection of either a material /// definition or a material usage definition that can be assigned to @@ -456,6 +485,7 @@ public: class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMaterialSelect > list; }; /// Definition from ISO/CD 10303-41:1992: A measure value is a value as defined in ISO 31-0 (clause 2). /// @@ -469,6 +499,7 @@ public: class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMeasureValue > list; }; /// IfcMetricValueSelect is a select type that enables selection of the data type for the value component of an IfcMetric. /// @@ -485,6 +516,7 @@ public: class IFC_PARSE_API IfcMetricValueSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMetricValueSelect > list; }; /// Definition from IAI: A measure for modulus of rotational subgrade reaction which expresses the rotational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -492,6 +524,7 @@ public: class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfRotationalSubgradeReactionSelect > list; }; /// Definition from IAI: Bedding measure which expresses the bedding of a structural face item per area. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -499,6 +532,7 @@ public: class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfSubgradeReactionSelect > list; }; /// Definition from IAI: A measure for modulus of translational subgrade reaction which expresses the translational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -506,6 +540,7 @@ public: class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfTranslationalSubgradeReactionSelect > list; }; /// IfcObjectReferenceSelect is a select type, that holds a list of resource level entities that can be used as properties within a property set. /// @@ -513,6 +548,7 @@ public: class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcObjectReferenceSelect > list; }; /// IfcPointOrVertexPoint provides the option to either select a geometric point (IfcPoint and subtypes) within a geometric model, or a vertex with associated point coordinates (IfcVertexPoint) within a topological model. /// SELECT @@ -524,6 +560,7 @@ public: class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPointOrVertexPoint > list; }; /// Definition from ISO/CD 10303-46:1992: The presentation style select is a selection of one of many kinds of styles, a different one for each kind of geometric representation item to be styled. /// @@ -536,6 +573,7 @@ public: class IFC_PARSE_API IfcPresentationStyleSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPresentationStyleSelect > list; }; /// IfcProcessSelectprovides the option to either /// select a process or activity occurrence, IfcProcess, @@ -550,11 +588,13 @@ public: class IFC_PARSE_API IfcProcessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProcessSelect > list; }; class IFC_PARSE_API IfcProductRepresentationSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProductRepresentationSelect > list; }; /// IfcProductSelectprovides the option to either select a /// product occurrence, IfcProduct, or a product type, @@ -568,11 +608,13 @@ public: class IFC_PARSE_API IfcProductSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProductSelect > list; }; class IFC_PARSE_API IfcPropertySetDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPropertySetDefinitionSelect > list; }; /// IfcResourceObjectSelect enables selection of resource level objects that are to be related to an resource level relationship object. The use of IfcResourceObjectSelect includes the ability to assign an external reference entity (library, classification, or documentation reference) to entities within the resource level. /// @@ -580,6 +622,7 @@ public: class IFC_PARSE_API IfcResourceObjectSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcResourceObjectSelect > list; }; /// IfcResourceSelectprovides the option to either select a /// resource occurrence, IfcResource, or a resource type, @@ -593,6 +636,7 @@ public: class IFC_PARSE_API IfcResourceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcResourceSelect > list; }; /// Definition from IAI: A measure of rotational stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -600,11 +644,13 @@ public: class IFC_PARSE_API IfcRotationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcRotationalStiffnessSelect > list; }; class IFC_PARSE_API IfcSegmentIndexSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSegmentIndexSelect > list; }; /// Definition from ISO/CD 10303-42:1992 This type collects together, for reference when constructing more complex models, the subtypes which have the characteristics of a shell. A shell is a connected object of fixed dimensionality d = 0; 1; or 2, typically used to bound a region. The domain of a shell, if present, includes its bounds and 0 £ X < ¥. /// @@ -620,6 +666,7 @@ public: class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcShell > list; }; /// IfcSimpleValue is a select type for selecting between simple value types. /// @@ -643,6 +690,7 @@ public: class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSimpleValue > list; }; /// Definition from ISO/CD 10303-46:1992: The size select is a selection of a specific positive length measure. /// @@ -659,6 +707,7 @@ public: class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSizeSelect > list; }; /// The IfcSolidOrShell provides the option to either select a geometric volume (IfcSolidModel and subtypes) within a geometric model, or a shell (IfcClosedShell) within a topological model. /// SELECT @@ -670,6 +719,7 @@ public: class IFC_PARSE_API IfcSolidOrShell : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSolidOrShell > list; }; /// Definition from IAI: The /// IfcSpaceBoundarySelectselects either an internal space @@ -686,11 +736,13 @@ public: class IFC_PARSE_API IfcSpaceBoundarySelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpaceBoundarySelect > list; }; class IFC_PARSE_API IfcSpatialReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpatialReferenceSelect > list; }; /// The IfcSpecularHighlightSelect defines the selectable types of value for specular highlight sharpness. /// @@ -705,6 +757,7 @@ public: class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpecularHighlightSelect > list; }; /// Definition from IAI: This type definition shall be used to /// distinguish between a reference to an instance either of @@ -718,6 +771,7 @@ public: class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcStructuralActivityAssignmentSelect > list; }; /// The style assignment select is a selection of two wasy of assigning presentation styles to an IfcStyledItem. /// @@ -732,6 +786,7 @@ public: class IFC_PARSE_API IfcStyleAssignmentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcStyleAssignmentSelect > list; }; /// IfcSurfaceOrFaceSurface provides the option to either select a geometric surface (IfcSurface /// and subtypes) within a geometric model, or a face with associated surface geometry and coordinates (IfcFaceSurface) within a topological model. @@ -745,6 +800,7 @@ public: class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSurfaceOrFaceSurface > list; }; /// Definition from ISO/CD 10303-46:1992: The surface style element select is a selection of the different surface styles to use in the presentation of the side of a surface. /// @@ -758,6 +814,7 @@ public: class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSurfaceStyleElementSelect > list; }; /// IfcTextFontSelect allows for either a predefined text font, a text font model or an externally defined text font to be used to describe the font of a text literal. The definition of the text font model is based on W3C TR Cascading Style Sheet Version 1, whereas the definition of predefined text font is based on ISO 10303. /// @@ -769,12 +826,14 @@ public: class IFC_PARSE_API IfcTextFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTextFontSelect > list; }; /// IfcTimeOrRatioSelect allows a value to be selected as being either a ratio or a time measure. /// HISTORY New SELECT in IFC2x4 class IFC_PARSE_API IfcTimeOrRatioSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTimeOrRatioSelect > list; }; /// Definition from IAI: A measure of linear stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -782,11 +841,13 @@ public: class IFC_PARSE_API IfcTranslationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTranslationalStiffnessSelect > list; }; class IFC_PARSE_API IfcTransportElementTypeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTransportElementTypeSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the two possible ways of trimming a parametric curve; by a Cartesian point on the curve, or by a REAL number defining a parameter value within the parametric range of the curve. /// @@ -796,6 +857,7 @@ public: class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTrimmingSelect > list; }; /// Definition from ISO/CD 10303-41:1992: A unit is a physical quantity, with a value of one, which is used as a standard in terms of which other quantities are expressed. /// @@ -813,6 +875,7 @@ public: class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcUnit > list; }; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, /// IfcMeasureValue and IfcDerivedMeasureValue. @@ -827,6 +890,7 @@ public: class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcValue > list; }; /// Definition from ISO/CD 10303-42:1992: This type is used to /// identify the types of entity which can participate in vector computations. @@ -839,6 +903,7 @@ public: class IFC_PARSE_API IfcVectorOrDirection : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcVectorOrDirection > list; }; /// Definition from IAI: A measure of warping stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -846,6 +911,7 @@ public: class IFC_PARSE_API IfcWarpingStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcWarpingStiffnessSelect > list; }; class IFC_PARSE_API IfcActionRequestTypeEnum : public IfcUtil::IfcBaseType { /// IfcActionRequestTypeEnum defines the types of sources through which a request can be made. diff --git a/src/ifcparse/Ifc4x3_rc2.h b/src/ifcparse/Ifc4x3_rc2.h index e628563965..ce2f0b0f75 100644 --- a/src/ifcparse/Ifc4x3_rc2.h +++ b/src/ifcparse/Ifc4x3_rc2.h @@ -65,6 +65,7 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcActorSelect > list; }; /// IfcAppliedValueSelect defines the selection of whether a value (expressed as a ratio) or an amount should be used as the value for an IfcAppliedValue. /// @@ -83,6 +84,7 @@ public: class IFC_PARSE_API IfcAppliedValueSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcAppliedValueSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type collects together both versions of the placement as used in two dimensional or in three dimensional Cartesian space. This enables entities requiring this information to reference them without specifying the space dimensionality. /// @@ -92,6 +94,7 @@ public: class IFC_PARSE_API IfcAxis2Placement : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcAxis2Placement > list; }; /// Definition from IAI: A select type for selecting between simple measure types for reinforcement bending parameters. /// @@ -99,6 +102,7 @@ public: class IFC_PARSE_API IfcBendingParameterSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcBendingParameterSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies /// all those types of entities which may participate in a Boolean operation to @@ -119,6 +123,7 @@ public: class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcBooleanOperand > list; }; /// IfcClassificationReferenceSelect enables selection of whether a classification reference is a subset of another classification reference or is a top level entry of a classification source. /// @@ -131,6 +136,7 @@ public: class IFC_PARSE_API IfcClassificationReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcClassificationReferenceSelect > list; }; /// IfcClassificationSelect enables selection of whether a classification reference is to be referenced from an external source, or whether a classification is referenced as such. /// @@ -148,6 +154,7 @@ public: class IFC_PARSE_API IfcClassificationSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcClassificationSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The colour entity defines a basic appearance of elements which shall be visualized in a picture. /// @@ -157,6 +164,7 @@ public: class IFC_PARSE_API IfcColour : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcColour > list; }; /// The IfcColourOrFactor enables the selection of either a RGB colour value or a scalar factor value for the use as values of the reflectance components. /// @@ -164,6 +172,7 @@ public: class IFC_PARSE_API IfcColourOrFactor : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcColourOrFactor > list; }; /// IfcCoordinateReferenceSystemSelect is a select between either the local engineering coordinate system, represented by the IfcGeometricRepresentationContext, or another coordinate reference system, represented by IfcCoordinateReferenceSystem, to be the source of a coordinate operation. /// @@ -171,6 +180,7 @@ public: class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCoordinateReferenceSystemSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This type identifies the types of entity which may be selected as the root of a CSG tree including a single CSG primitive as a special case. /// Definition from IAI: The IfcBooleanResult, and subtypes of IfcCsgPrimitive3D are defined as potential root tree expression (at IfcCsgSolid). A subtype of IfcCsgPrimitive3D marks the special case of a CSG solid solely expressed by a single primitive. @@ -181,6 +191,7 @@ public: class IFC_PARSE_API IfcCsgSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCsgSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The curve font or scaled curve font select is a selection of either a curve font style select (being either a predefined curve font or an explicitly defined curve font) or a curve style font and scaling. /// @@ -190,16 +201,19 @@ public: class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveFontOrScaledCurveFontSelect > list; }; class IFC_PARSE_API IfcCurveMeasureSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveMeasureSelect > list; }; class IFC_PARSE_API IfcCurveOnSurface : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveOnSurface > list; }; /// IfcCurveOrEdgeCurve provides the option to either select a geometric curve (IfcCurve /// and subtypes) within a geometric model, or a curve with associated geometry and coordinates (IfcEdgeCurve) within a topological model. @@ -212,6 +226,7 @@ public: class IFC_PARSE_API IfcCurveOrEdgeCurve : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveOrEdgeCurve > list; }; /// Definition from ISO/CD 10303-46:1992: The curve style font select is a selection of a curve style font or a predefined curve style font. /// @@ -221,6 +236,7 @@ public: class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveStyleFontSelect > list; }; /// IfcDefinitionSelectprovides the option to either select an object or type object IfcObjectDefinition, or a property set template or property set, IfcPropertyDefinition. /// SELECT @@ -232,6 +248,7 @@ public: class IFC_PARSE_API IfcDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDefinitionSelect > list; }; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. /// @@ -310,6 +327,7 @@ public: class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDerivedMeasureValue > list; }; /// IfcDocumentSelect enables selection of whether document information is to be contained within an IFC model or is to be referenced from an external source. /// @@ -322,11 +340,13 @@ public: class IFC_PARSE_API IfcDocumentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDocumentSelect > list; }; class IFC_PARSE_API IfcFacilityPartTypeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcFacilityPartTypeSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The fill style select is a selection between different fill area styles. /// @@ -337,6 +357,7 @@ public: class IFC_PARSE_API IfcFillStyleSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcFillStyleSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the types of entities which can occur in a geometric set. /// @@ -346,6 +367,7 @@ public: class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcGeometricSetSelect > list; }; /// IfcGridPlacementDirectionSelect enables the choice of defining a grid placement be either an explicit direction, or by referencing a second grid intersection to provide the direction. /// @@ -358,6 +380,7 @@ public: class IFC_PARSE_API IfcGridPlacementDirectionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcGridPlacementDirectionSelect > list; }; /// The IfcHatchLineDistanceSelect is a selection between different ways to determine the distance and potentially start point of hatch lines, either by an offset distance length measure or by a vector. /// @@ -365,16 +388,19 @@ public: class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcHatchLineDistanceSelect > list; }; class IFC_PARSE_API IfcImpactProtectionDeviceTypeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcImpactProtectionDeviceTypeSelect > list; }; class IFC_PARSE_API IfcInterferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcInterferenceSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The layered things type selects those things, which can be grouped in layers. /// @@ -386,6 +412,7 @@ public: class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLayeredItem > list; }; /// IfcLibrarySelect enables selection of whether library information is to be contained within an IFC model or is to be referenced from an external source. /// @@ -400,6 +427,7 @@ public: class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLibrarySelect > list; }; /// A goniometric light gets its intensity distribution function (how much light goes in any one direction) from one of two sources: (i) an industry-standard file, (ii) from distribution data passed directly via the IfcLightIntensityDistribution. /// @@ -426,11 +454,13 @@ public: class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLightDistributionDataSourceSelect > list; }; class IFC_PARSE_API IfcLinearAxisSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLinearAxisSelect > list; }; /// IfcMaterialSelect provides selection of either a material /// definition or a material usage definition that can be assigned to @@ -461,6 +491,7 @@ public: class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMaterialSelect > list; }; /// Definition from ISO/CD 10303-41:1992: A measure value is a value as defined in ISO 31-0 (clause 2). /// @@ -474,6 +505,7 @@ public: class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMeasureValue > list; }; /// IfcMetricValueSelect is a select type that enables selection of the data type for the value component of an IfcMetric. /// @@ -490,6 +522,7 @@ public: class IFC_PARSE_API IfcMetricValueSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMetricValueSelect > list; }; /// Definition from IAI: A measure for modulus of rotational subgrade reaction which expresses the rotational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -497,6 +530,7 @@ public: class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfRotationalSubgradeReactionSelect > list; }; /// Definition from IAI: Bedding measure which expresses the bedding of a structural face item per area. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -504,6 +538,7 @@ public: class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfSubgradeReactionSelect > list; }; /// Definition from IAI: A measure for modulus of translational subgrade reaction which expresses the translational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -511,6 +546,7 @@ public: class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfTranslationalSubgradeReactionSelect > list; }; /// IfcObjectReferenceSelect is a select type, that holds a list of resource level entities that can be used as properties within a property set. /// @@ -518,6 +554,7 @@ public: class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcObjectReferenceSelect > list; }; /// IfcPointOrVertexPoint provides the option to either select a geometric point (IfcPoint and subtypes) within a geometric model, or a vertex with associated point coordinates (IfcVertexPoint) within a topological model. /// SELECT @@ -529,6 +566,7 @@ public: class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPointOrVertexPoint > list; }; /// Definition from ISO/CD 10303-46:1992: The presentation style select is a selection of one of many kinds of styles, a different one for each kind of geometric representation item to be styled. /// @@ -541,6 +579,7 @@ public: class IFC_PARSE_API IfcPresentationStyleSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPresentationStyleSelect > list; }; /// IfcProcessSelectprovides the option to either /// select a process or activity occurrence, IfcProcess, @@ -555,11 +594,13 @@ public: class IFC_PARSE_API IfcProcessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProcessSelect > list; }; class IFC_PARSE_API IfcProductRepresentationSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProductRepresentationSelect > list; }; /// IfcProductSelectprovides the option to either select a /// product occurrence, IfcProduct, or a product type, @@ -573,11 +614,13 @@ public: class IFC_PARSE_API IfcProductSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProductSelect > list; }; class IFC_PARSE_API IfcPropertySetDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPropertySetDefinitionSelect > list; }; /// IfcResourceObjectSelect enables selection of resource level objects that are to be related to an resource level relationship object. The use of IfcResourceObjectSelect includes the ability to assign an external reference entity (library, classification, or documentation reference) to entities within the resource level. /// @@ -585,6 +628,7 @@ public: class IFC_PARSE_API IfcResourceObjectSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcResourceObjectSelect > list; }; /// IfcResourceSelectprovides the option to either select a /// resource occurrence, IfcResource, or a resource type, @@ -598,6 +642,7 @@ public: class IFC_PARSE_API IfcResourceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcResourceSelect > list; }; /// Definition from IAI: A measure of rotational stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -605,11 +650,13 @@ public: class IFC_PARSE_API IfcRotationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcRotationalStiffnessSelect > list; }; class IFC_PARSE_API IfcSegmentIndexSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSegmentIndexSelect > list; }; /// Definition from ISO/CD 10303-42:1992 This type collects together, for reference when constructing more complex models, the subtypes which have the characteristics of a shell. A shell is a connected object of fixed dimensionality d = 0; 1; or 2, typically used to bound a region. The domain of a shell, if present, includes its bounds and 0 £ X < ¥. /// @@ -625,6 +672,7 @@ public: class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcShell > list; }; /// IfcSimpleValue is a select type for selecting between simple value types. /// @@ -648,6 +696,7 @@ public: class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSimpleValue > list; }; /// Definition from ISO/CD 10303-46:1992: The size select is a selection of a specific positive length measure. /// @@ -664,6 +713,7 @@ public: class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSizeSelect > list; }; /// The IfcSolidOrShell provides the option to either select a geometric volume (IfcSolidModel and subtypes) within a geometric model, or a shell (IfcClosedShell) within a topological model. /// SELECT @@ -675,6 +725,7 @@ public: class IFC_PARSE_API IfcSolidOrShell : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSolidOrShell > list; }; /// Definition from IAI: The /// IfcSpaceBoundarySelectselects either an internal space @@ -691,11 +742,13 @@ public: class IFC_PARSE_API IfcSpaceBoundarySelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpaceBoundarySelect > list; }; class IFC_PARSE_API IfcSpatialReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpatialReferenceSelect > list; }; /// The IfcSpecularHighlightSelect defines the selectable types of value for specular highlight sharpness. /// @@ -710,6 +763,7 @@ public: class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpecularHighlightSelect > list; }; /// Definition from IAI: This type definition shall be used to /// distinguish between a reference to an instance either of @@ -723,6 +777,7 @@ public: class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcStructuralActivityAssignmentSelect > list; }; /// The style assignment select is a selection of two wasy of assigning presentation styles to an IfcStyledItem. /// @@ -737,6 +792,7 @@ public: class IFC_PARSE_API IfcStyleAssignmentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcStyleAssignmentSelect > list; }; /// IfcSurfaceOrFaceSurface provides the option to either select a geometric surface (IfcSurface /// and subtypes) within a geometric model, or a face with associated surface geometry and coordinates (IfcFaceSurface) within a topological model. @@ -750,6 +806,7 @@ public: class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSurfaceOrFaceSurface > list; }; /// Definition from ISO/CD 10303-46:1992: The surface style element select is a selection of the different surface styles to use in the presentation of the side of a surface. /// @@ -763,6 +820,7 @@ public: class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSurfaceStyleElementSelect > list; }; /// IfcTextFontSelect allows for either a predefined text font, a text font model or an externally defined text font to be used to describe the font of a text literal. The definition of the text font model is based on W3C TR Cascading Style Sheet Version 1, whereas the definition of predefined text font is based on ISO 10303. /// @@ -774,12 +832,14 @@ public: class IFC_PARSE_API IfcTextFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTextFontSelect > list; }; /// IfcTimeOrRatioSelect allows a value to be selected as being either a ratio or a time measure. /// HISTORY New SELECT in IFC2x4 class IFC_PARSE_API IfcTimeOrRatioSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTimeOrRatioSelect > list; }; /// Definition from IAI: A measure of linear stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -787,11 +847,13 @@ public: class IFC_PARSE_API IfcTranslationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTranslationalStiffnessSelect > list; }; class IFC_PARSE_API IfcTransportElementTypeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTransportElementTypeSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the two possible ways of trimming a parametric curve; by a Cartesian point on the curve, or by a REAL number defining a parameter value within the parametric range of the curve. /// @@ -801,6 +863,7 @@ public: class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTrimmingSelect > list; }; /// Definition from ISO/CD 10303-41:1992: A unit is a physical quantity, with a value of one, which is used as a standard in terms of which other quantities are expressed. /// @@ -818,6 +881,7 @@ public: class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcUnit > list; }; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, /// IfcMeasureValue and IfcDerivedMeasureValue. @@ -832,6 +896,7 @@ public: class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcValue > list; }; /// Definition from ISO/CD 10303-42:1992: This type is used to /// identify the types of entity which can participate in vector computations. @@ -844,6 +909,7 @@ public: class IFC_PARSE_API IfcVectorOrDirection : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcVectorOrDirection > list; }; /// Definition from IAI: A measure of warping stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -851,6 +917,7 @@ public: class IFC_PARSE_API IfcWarpingStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcWarpingStiffnessSelect > list; }; class IFC_PARSE_API IfcActionRequestTypeEnum : public IfcUtil::IfcBaseType { /// IfcActionRequestTypeEnum defines the types of sources through which a request can be made. diff --git a/src/ifcparse/Ifc4x3_rc3.h b/src/ifcparse/Ifc4x3_rc3.h index 7e751ad9c4..51ad0d8fc2 100644 --- a/src/ifcparse/Ifc4x3_rc3.h +++ b/src/ifcparse/Ifc4x3_rc3.h @@ -65,6 +65,7 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcActorSelect > list; }; /// IfcAppliedValueSelect defines the selection of whether a value (expressed as a ratio) or an amount should be used as the value for an IfcAppliedValue. /// @@ -83,6 +84,7 @@ public: class IFC_PARSE_API IfcAppliedValueSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcAppliedValueSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type collects together both versions of the placement as used in two dimensional or in three dimensional Cartesian space. This enables entities requiring this information to reference them without specifying the space dimensionality. /// @@ -92,6 +94,7 @@ public: class IFC_PARSE_API IfcAxis2Placement : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcAxis2Placement > list; }; /// Definition from IAI: A select type for selecting between simple measure types for reinforcement bending parameters. /// @@ -99,6 +102,7 @@ public: class IFC_PARSE_API IfcBendingParameterSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcBendingParameterSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies /// all those types of entities which may participate in a Boolean operation to @@ -119,6 +123,7 @@ public: class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcBooleanOperand > list; }; /// IfcClassificationReferenceSelect enables selection of whether a classification reference is a subset of another classification reference or is a top level entry of a classification source. /// @@ -131,6 +136,7 @@ public: class IFC_PARSE_API IfcClassificationReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcClassificationReferenceSelect > list; }; /// IfcClassificationSelect enables selection of whether a classification reference is to be referenced from an external source, or whether a classification is referenced as such. /// @@ -148,6 +154,7 @@ public: class IFC_PARSE_API IfcClassificationSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcClassificationSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The colour entity defines a basic appearance of elements which shall be visualized in a picture. /// @@ -157,6 +164,7 @@ public: class IFC_PARSE_API IfcColour : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcColour > list; }; /// The IfcColourOrFactor enables the selection of either a RGB colour value or a scalar factor value for the use as values of the reflectance components. /// @@ -164,6 +172,7 @@ public: class IFC_PARSE_API IfcColourOrFactor : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcColourOrFactor > list; }; /// IfcCoordinateReferenceSystemSelect is a select between either the local engineering coordinate system, represented by the IfcGeometricRepresentationContext, or another coordinate reference system, represented by IfcCoordinateReferenceSystem, to be the source of a coordinate operation. /// @@ -171,6 +180,7 @@ public: class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCoordinateReferenceSystemSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This type identifies the types of entity which may be selected as the root of a CSG tree including a single CSG primitive as a special case. /// Definition from IAI: The IfcBooleanResult, and subtypes of IfcCsgPrimitive3D are defined as potential root tree expression (at IfcCsgSolid). A subtype of IfcCsgPrimitive3D marks the special case of a CSG solid solely expressed by a single primitive. @@ -181,6 +191,7 @@ public: class IFC_PARSE_API IfcCsgSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCsgSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The curve font or scaled curve font select is a selection of either a curve font style select (being either a predefined curve font or an explicitly defined curve font) or a curve style font and scaling. /// @@ -190,16 +201,19 @@ public: class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveFontOrScaledCurveFontSelect > list; }; class IFC_PARSE_API IfcCurveMeasureSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveMeasureSelect > list; }; class IFC_PARSE_API IfcCurveOnSurface : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveOnSurface > list; }; /// IfcCurveOrEdgeCurve provides the option to either select a geometric curve (IfcCurve /// and subtypes) within a geometric model, or a curve with associated geometry and coordinates (IfcEdgeCurve) within a topological model. @@ -212,6 +226,7 @@ public: class IFC_PARSE_API IfcCurveOrEdgeCurve : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveOrEdgeCurve > list; }; /// Definition from ISO/CD 10303-46:1992: The curve style font select is a selection of a curve style font or a predefined curve style font. /// @@ -221,6 +236,7 @@ public: class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveStyleFontSelect > list; }; /// IfcDefinitionSelectprovides the option to either select an object or type object IfcObjectDefinition, or a property set template or property set, IfcPropertyDefinition. /// SELECT @@ -232,6 +248,7 @@ public: class IFC_PARSE_API IfcDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDefinitionSelect > list; }; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. /// @@ -310,6 +327,7 @@ public: class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDerivedMeasureValue > list; }; /// IfcDocumentSelect enables selection of whether document information is to be contained within an IFC model or is to be referenced from an external source. /// @@ -322,11 +340,13 @@ public: class IFC_PARSE_API IfcDocumentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDocumentSelect > list; }; class IFC_PARSE_API IfcFacilityPartTypeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcFacilityPartTypeSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The fill style select is a selection between different fill area styles. /// @@ -337,6 +357,7 @@ public: class IFC_PARSE_API IfcFillStyleSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcFillStyleSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the types of entities which can occur in a geometric set. /// @@ -346,6 +367,7 @@ public: class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcGeometricSetSelect > list; }; /// IfcGridPlacementDirectionSelect enables the choice of defining a grid placement be either an explicit direction, or by referencing a second grid intersection to provide the direction. /// @@ -358,6 +380,7 @@ public: class IFC_PARSE_API IfcGridPlacementDirectionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcGridPlacementDirectionSelect > list; }; /// The IfcHatchLineDistanceSelect is a selection between different ways to determine the distance and potentially start point of hatch lines, either by an offset distance length measure or by a vector. /// @@ -365,16 +388,19 @@ public: class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcHatchLineDistanceSelect > list; }; class IFC_PARSE_API IfcImpactProtectionDeviceTypeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcImpactProtectionDeviceTypeSelect > list; }; class IFC_PARSE_API IfcInterferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcInterferenceSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The layered things type selects those things, which can be grouped in layers. /// @@ -386,6 +412,7 @@ public: class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLayeredItem > list; }; /// IfcLibrarySelect enables selection of whether library information is to be contained within an IFC model or is to be referenced from an external source. /// @@ -400,6 +427,7 @@ public: class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLibrarySelect > list; }; /// A goniometric light gets its intensity distribution function (how much light goes in any one direction) from one of two sources: (i) an industry-standard file, (ii) from distribution data passed directly via the IfcLightIntensityDistribution. /// @@ -426,6 +454,7 @@ public: class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLightDistributionDataSourceSelect > list; }; /// IfcMaterialSelect provides selection of either a material /// definition or a material usage definition that can be assigned to @@ -456,6 +485,7 @@ public: class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMaterialSelect > list; }; /// Definition from ISO/CD 10303-41:1992: A measure value is a value as defined in ISO 31-0 (clause 2). /// @@ -469,6 +499,7 @@ public: class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMeasureValue > list; }; /// IfcMetricValueSelect is a select type that enables selection of the data type for the value component of an IfcMetric. /// @@ -485,6 +516,7 @@ public: class IFC_PARSE_API IfcMetricValueSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMetricValueSelect > list; }; /// Definition from IAI: A measure for modulus of rotational subgrade reaction which expresses the rotational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -492,6 +524,7 @@ public: class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfRotationalSubgradeReactionSelect > list; }; /// Definition from IAI: Bedding measure which expresses the bedding of a structural face item per area. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -499,6 +532,7 @@ public: class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfSubgradeReactionSelect > list; }; /// Definition from IAI: A measure for modulus of translational subgrade reaction which expresses the translational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -506,6 +540,7 @@ public: class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfTranslationalSubgradeReactionSelect > list; }; /// IfcObjectReferenceSelect is a select type, that holds a list of resource level entities that can be used as properties within a property set. /// @@ -513,6 +548,7 @@ public: class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcObjectReferenceSelect > list; }; /// IfcPointOrVertexPoint provides the option to either select a geometric point (IfcPoint and subtypes) within a geometric model, or a vertex with associated point coordinates (IfcVertexPoint) within a topological model. /// SELECT @@ -524,6 +560,7 @@ public: class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPointOrVertexPoint > list; }; /// IfcProcessSelectprovides the option to either /// select a process or activity occurrence, IfcProcess, @@ -538,11 +575,13 @@ public: class IFC_PARSE_API IfcProcessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProcessSelect > list; }; class IFC_PARSE_API IfcProductRepresentationSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProductRepresentationSelect > list; }; /// IfcProductSelectprovides the option to either select a /// product occurrence, IfcProduct, or a product type, @@ -556,11 +595,13 @@ public: class IFC_PARSE_API IfcProductSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProductSelect > list; }; class IFC_PARSE_API IfcPropertySetDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPropertySetDefinitionSelect > list; }; /// IfcResourceObjectSelect enables selection of resource level objects that are to be related to an resource level relationship object. The use of IfcResourceObjectSelect includes the ability to assign an external reference entity (library, classification, or documentation reference) to entities within the resource level. /// @@ -568,6 +609,7 @@ public: class IFC_PARSE_API IfcResourceObjectSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcResourceObjectSelect > list; }; /// IfcResourceSelectprovides the option to either select a /// resource occurrence, IfcResource, or a resource type, @@ -581,6 +623,7 @@ public: class IFC_PARSE_API IfcResourceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcResourceSelect > list; }; /// Definition from IAI: A measure of rotational stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -588,11 +631,13 @@ public: class IFC_PARSE_API IfcRotationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcRotationalStiffnessSelect > list; }; class IFC_PARSE_API IfcSegmentIndexSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSegmentIndexSelect > list; }; /// Definition from ISO/CD 10303-42:1992 This type collects together, for reference when constructing more complex models, the subtypes which have the characteristics of a shell. A shell is a connected object of fixed dimensionality d = 0; 1; or 2, typically used to bound a region. The domain of a shell, if present, includes its bounds and 0 £ X < ¥. /// @@ -608,6 +653,7 @@ public: class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcShell > list; }; /// IfcSimpleValue is a select type for selecting between simple value types. /// @@ -631,6 +677,7 @@ public: class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSimpleValue > list; }; /// Definition from ISO/CD 10303-46:1992: The size select is a selection of a specific positive length measure. /// @@ -647,6 +694,7 @@ public: class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSizeSelect > list; }; /// The IfcSolidOrShell provides the option to either select a geometric volume (IfcSolidModel and subtypes) within a geometric model, or a shell (IfcClosedShell) within a topological model. /// SELECT @@ -658,6 +706,7 @@ public: class IFC_PARSE_API IfcSolidOrShell : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSolidOrShell > list; }; /// Definition from IAI: The /// IfcSpaceBoundarySelectselects either an internal space @@ -674,11 +723,13 @@ public: class IFC_PARSE_API IfcSpaceBoundarySelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpaceBoundarySelect > list; }; class IFC_PARSE_API IfcSpatialReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpatialReferenceSelect > list; }; /// The IfcSpecularHighlightSelect defines the selectable types of value for specular highlight sharpness. /// @@ -693,6 +744,7 @@ public: class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpecularHighlightSelect > list; }; /// Definition from IAI: This type definition shall be used to /// distinguish between a reference to an instance either of @@ -706,6 +758,7 @@ public: class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcStructuralActivityAssignmentSelect > list; }; /// IfcSurfaceOrFaceSurface provides the option to either select a geometric surface (IfcSurface /// and subtypes) within a geometric model, or a face with associated surface geometry and coordinates (IfcFaceSurface) within a topological model. @@ -719,6 +772,7 @@ public: class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSurfaceOrFaceSurface > list; }; /// Definition from ISO/CD 10303-46:1992: The surface style element select is a selection of the different surface styles to use in the presentation of the side of a surface. /// @@ -732,6 +786,7 @@ public: class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSurfaceStyleElementSelect > list; }; /// IfcTextFontSelect allows for either a predefined text font, a text font model or an externally defined text font to be used to describe the font of a text literal. The definition of the text font model is based on W3C TR Cascading Style Sheet Version 1, whereas the definition of predefined text font is based on ISO 10303. /// @@ -743,12 +798,14 @@ public: class IFC_PARSE_API IfcTextFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTextFontSelect > list; }; /// IfcTimeOrRatioSelect allows a value to be selected as being either a ratio or a time measure. /// HISTORY New SELECT in IFC2x4 class IFC_PARSE_API IfcTimeOrRatioSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTimeOrRatioSelect > list; }; /// Definition from IAI: A measure of linear stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -756,11 +813,13 @@ public: class IFC_PARSE_API IfcTranslationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTranslationalStiffnessSelect > list; }; class IFC_PARSE_API IfcTransportElementTypeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTransportElementTypeSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the two possible ways of trimming a parametric curve; by a Cartesian point on the curve, or by a REAL number defining a parameter value within the parametric range of the curve. /// @@ -770,6 +829,7 @@ public: class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTrimmingSelect > list; }; /// Definition from ISO/CD 10303-41:1992: A unit is a physical quantity, with a value of one, which is used as a standard in terms of which other quantities are expressed. /// @@ -787,6 +847,7 @@ public: class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcUnit > list; }; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, /// IfcMeasureValue and IfcDerivedMeasureValue. @@ -801,6 +862,7 @@ public: class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcValue > list; }; /// Definition from ISO/CD 10303-42:1992: This type is used to /// identify the types of entity which can participate in vector computations. @@ -813,6 +875,7 @@ public: class IFC_PARSE_API IfcVectorOrDirection : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcVectorOrDirection > list; }; /// Definition from IAI: A measure of warping stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -820,6 +883,7 @@ public: class IFC_PARSE_API IfcWarpingStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcWarpingStiffnessSelect > list; }; class IFC_PARSE_API IfcActionRequestTypeEnum : public IfcUtil::IfcBaseType { /// IfcActionRequestTypeEnum defines the types of sources through which a request can be made. diff --git a/src/ifcparse/Ifc4x3_rc4.h b/src/ifcparse/Ifc4x3_rc4.h index eb3eca5b1b..fa0730d1e4 100644 --- a/src/ifcparse/Ifc4x3_rc4.h +++ b/src/ifcparse/Ifc4x3_rc4.h @@ -65,6 +65,7 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcActorSelect > list; }; /// IfcAppliedValueSelect defines the selection of whether a value (expressed as a ratio) or an amount should be used as the value for an IfcAppliedValue. /// @@ -83,6 +84,7 @@ public: class IFC_PARSE_API IfcAppliedValueSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcAppliedValueSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type collects together both versions of the placement as used in two dimensional or in three dimensional Cartesian space. This enables entities requiring this information to reference them without specifying the space dimensionality. /// @@ -92,6 +94,7 @@ public: class IFC_PARSE_API IfcAxis2Placement : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcAxis2Placement > list; }; /// Definition from IAI: A select type for selecting between simple measure types for reinforcement bending parameters. /// @@ -99,6 +102,7 @@ public: class IFC_PARSE_API IfcBendingParameterSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcBendingParameterSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies /// all those types of entities which may participate in a Boolean operation to @@ -119,6 +123,7 @@ public: class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcBooleanOperand > list; }; /// IfcClassificationReferenceSelect enables selection of whether a classification reference is a subset of another classification reference or is a top level entry of a classification source. /// @@ -131,6 +136,7 @@ public: class IFC_PARSE_API IfcClassificationReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcClassificationReferenceSelect > list; }; /// IfcClassificationSelect enables selection of whether a classification reference is to be referenced from an external source, or whether a classification is referenced as such. /// @@ -148,6 +154,7 @@ public: class IFC_PARSE_API IfcClassificationSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcClassificationSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The colour entity defines a basic appearance of elements which shall be visualized in a picture. /// @@ -157,6 +164,7 @@ public: class IFC_PARSE_API IfcColour : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcColour > list; }; /// The IfcColourOrFactor enables the selection of either a RGB colour value or a scalar factor value for the use as values of the reflectance components. /// @@ -164,6 +172,7 @@ public: class IFC_PARSE_API IfcColourOrFactor : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcColourOrFactor > list; }; /// IfcCoordinateReferenceSystemSelect is a select between either the local engineering coordinate system, represented by the IfcGeometricRepresentationContext, or another coordinate reference system, represented by IfcCoordinateReferenceSystem, to be the source of a coordinate operation. /// @@ -171,6 +180,7 @@ public: class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCoordinateReferenceSystemSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This type identifies the types of entity which may be selected as the root of a CSG tree including a single CSG primitive as a special case. /// Definition from IAI: The IfcBooleanResult, and subtypes of IfcCsgPrimitive3D are defined as potential root tree expression (at IfcCsgSolid). A subtype of IfcCsgPrimitive3D marks the special case of a CSG solid solely expressed by a single primitive. @@ -181,6 +191,7 @@ public: class IFC_PARSE_API IfcCsgSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCsgSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The curve font or scaled curve font select is a selection of either a curve font style select (being either a predefined curve font or an explicitly defined curve font) or a curve style font and scaling. /// @@ -190,16 +201,19 @@ public: class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveFontOrScaledCurveFontSelect > list; }; class IFC_PARSE_API IfcCurveMeasureSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveMeasureSelect > list; }; class IFC_PARSE_API IfcCurveOnSurface : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveOnSurface > list; }; /// IfcCurveOrEdgeCurve provides the option to either select a geometric curve (IfcCurve /// and subtypes) within a geometric model, or a curve with associated geometry and coordinates (IfcEdgeCurve) within a topological model. @@ -212,6 +226,7 @@ public: class IFC_PARSE_API IfcCurveOrEdgeCurve : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveOrEdgeCurve > list; }; /// Definition from ISO/CD 10303-46:1992: The curve style font select is a selection of a curve style font or a predefined curve style font. /// @@ -221,6 +236,7 @@ public: class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveStyleFontSelect > list; }; /// IfcDefinitionSelectprovides the option to either select an object or type object IfcObjectDefinition, or a property set template or property set, IfcPropertyDefinition. /// SELECT @@ -232,6 +248,7 @@ public: class IFC_PARSE_API IfcDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDefinitionSelect > list; }; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. /// @@ -310,6 +327,7 @@ public: class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDerivedMeasureValue > list; }; /// IfcDocumentSelect enables selection of whether document information is to be contained within an IFC model or is to be referenced from an external source. /// @@ -322,11 +340,13 @@ public: class IFC_PARSE_API IfcDocumentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDocumentSelect > list; }; class IFC_PARSE_API IfcFacilityPartTypeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcFacilityPartTypeSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The fill style select is a selection between different fill area styles. /// @@ -337,6 +357,7 @@ public: class IFC_PARSE_API IfcFillStyleSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcFillStyleSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the types of entities which can occur in a geometric set. /// @@ -346,6 +367,7 @@ public: class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcGeometricSetSelect > list; }; /// IfcGridPlacementDirectionSelect enables the choice of defining a grid placement be either an explicit direction, or by referencing a second grid intersection to provide the direction. /// @@ -358,6 +380,7 @@ public: class IFC_PARSE_API IfcGridPlacementDirectionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcGridPlacementDirectionSelect > list; }; /// The IfcHatchLineDistanceSelect is a selection between different ways to determine the distance and potentially start point of hatch lines, either by an offset distance length measure or by a vector. /// @@ -365,16 +388,19 @@ public: class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcHatchLineDistanceSelect > list; }; class IFC_PARSE_API IfcImpactProtectionDeviceTypeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcImpactProtectionDeviceTypeSelect > list; }; class IFC_PARSE_API IfcInterferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcInterferenceSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The layered things type selects those things, which can be grouped in layers. /// @@ -386,6 +412,7 @@ public: class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLayeredItem > list; }; /// IfcLibrarySelect enables selection of whether library information is to be contained within an IFC model or is to be referenced from an external source. /// @@ -400,6 +427,7 @@ public: class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLibrarySelect > list; }; /// A goniometric light gets its intensity distribution function (how much light goes in any one direction) from one of two sources: (i) an industry-standard file, (ii) from distribution data passed directly via the IfcLightIntensityDistribution. /// @@ -426,6 +454,7 @@ public: class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLightDistributionDataSourceSelect > list; }; /// IfcMaterialSelect provides selection of either a material /// definition or a material usage definition that can be assigned to @@ -456,6 +485,7 @@ public: class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMaterialSelect > list; }; /// Definition from ISO/CD 10303-41:1992: A measure value is a value as defined in ISO 31-0 (clause 2). /// @@ -469,6 +499,7 @@ public: class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMeasureValue > list; }; /// IfcMetricValueSelect is a select type that enables selection of the data type for the value component of an IfcMetric. /// @@ -485,6 +516,7 @@ public: class IFC_PARSE_API IfcMetricValueSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMetricValueSelect > list; }; /// Definition from IAI: A measure for modulus of rotational subgrade reaction which expresses the rotational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -492,6 +524,7 @@ public: class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfRotationalSubgradeReactionSelect > list; }; /// Definition from IAI: Bedding measure which expresses the bedding of a structural face item per area. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -499,6 +532,7 @@ public: class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfSubgradeReactionSelect > list; }; /// Definition from IAI: A measure for modulus of translational subgrade reaction which expresses the translational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -506,6 +540,7 @@ public: class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfTranslationalSubgradeReactionSelect > list; }; /// IfcObjectReferenceSelect is a select type, that holds a list of resource level entities that can be used as properties within a property set. /// @@ -513,6 +548,7 @@ public: class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcObjectReferenceSelect > list; }; /// IfcPointOrVertexPoint provides the option to either select a geometric point (IfcPoint and subtypes) within a geometric model, or a vertex with associated point coordinates (IfcVertexPoint) within a topological model. /// SELECT @@ -524,6 +560,7 @@ public: class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPointOrVertexPoint > list; }; /// IfcProcessSelectprovides the option to either /// select a process or activity occurrence, IfcProcess, @@ -538,11 +575,13 @@ public: class IFC_PARSE_API IfcProcessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProcessSelect > list; }; class IFC_PARSE_API IfcProductRepresentationSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProductRepresentationSelect > list; }; /// IfcProductSelectprovides the option to either select a /// product occurrence, IfcProduct, or a product type, @@ -556,11 +595,13 @@ public: class IFC_PARSE_API IfcProductSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProductSelect > list; }; class IFC_PARSE_API IfcPropertySetDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPropertySetDefinitionSelect > list; }; /// IfcResourceObjectSelect enables selection of resource level objects that are to be related to an resource level relationship object. The use of IfcResourceObjectSelect includes the ability to assign an external reference entity (library, classification, or documentation reference) to entities within the resource level. /// @@ -568,6 +609,7 @@ public: class IFC_PARSE_API IfcResourceObjectSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcResourceObjectSelect > list; }; /// IfcResourceSelectprovides the option to either select a /// resource occurrence, IfcResource, or a resource type, @@ -581,6 +623,7 @@ public: class IFC_PARSE_API IfcResourceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcResourceSelect > list; }; /// Definition from IAI: A measure of rotational stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -588,11 +631,13 @@ public: class IFC_PARSE_API IfcRotationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcRotationalStiffnessSelect > list; }; class IFC_PARSE_API IfcSegmentIndexSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSegmentIndexSelect > list; }; /// Definition from ISO/CD 10303-42:1992 This type collects together, for reference when constructing more complex models, the subtypes which have the characteristics of a shell. A shell is a connected object of fixed dimensionality d = 0; 1; or 2, typically used to bound a region. The domain of a shell, if present, includes its bounds and 0 £ X < ¥. /// @@ -608,6 +653,7 @@ public: class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcShell > list; }; /// IfcSimpleValue is a select type for selecting between simple value types. /// @@ -631,6 +677,7 @@ public: class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSimpleValue > list; }; /// Definition from ISO/CD 10303-46:1992: The size select is a selection of a specific positive length measure. /// @@ -647,6 +694,7 @@ public: class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSizeSelect > list; }; /// The IfcSolidOrShell provides the option to either select a geometric volume (IfcSolidModel and subtypes) within a geometric model, or a shell (IfcClosedShell) within a topological model. /// SELECT @@ -658,6 +706,7 @@ public: class IFC_PARSE_API IfcSolidOrShell : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSolidOrShell > list; }; /// Definition from IAI: The /// IfcSpaceBoundarySelectselects either an internal space @@ -674,11 +723,13 @@ public: class IFC_PARSE_API IfcSpaceBoundarySelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpaceBoundarySelect > list; }; class IFC_PARSE_API IfcSpatialReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpatialReferenceSelect > list; }; /// The IfcSpecularHighlightSelect defines the selectable types of value for specular highlight sharpness. /// @@ -693,6 +744,7 @@ public: class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpecularHighlightSelect > list; }; /// Definition from IAI: This type definition shall be used to /// distinguish between a reference to an instance either of @@ -706,6 +758,7 @@ public: class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcStructuralActivityAssignmentSelect > list; }; /// IfcSurfaceOrFaceSurface provides the option to either select a geometric surface (IfcSurface /// and subtypes) within a geometric model, or a face with associated surface geometry and coordinates (IfcFaceSurface) within a topological model. @@ -719,6 +772,7 @@ public: class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSurfaceOrFaceSurface > list; }; /// Definition from ISO/CD 10303-46:1992: The surface style element select is a selection of the different surface styles to use in the presentation of the side of a surface. /// @@ -732,6 +786,7 @@ public: class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSurfaceStyleElementSelect > list; }; /// IfcTextFontSelect allows for either a predefined text font, a text font model or an externally defined text font to be used to describe the font of a text literal. The definition of the text font model is based on W3C TR Cascading Style Sheet Version 1, whereas the definition of predefined text font is based on ISO 10303. /// @@ -743,12 +798,14 @@ public: class IFC_PARSE_API IfcTextFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTextFontSelect > list; }; /// IfcTimeOrRatioSelect allows a value to be selected as being either a ratio or a time measure. /// HISTORY New SELECT in IFC2x4 class IFC_PARSE_API IfcTimeOrRatioSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTimeOrRatioSelect > list; }; /// Definition from IAI: A measure of linear stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -756,11 +813,13 @@ public: class IFC_PARSE_API IfcTranslationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTranslationalStiffnessSelect > list; }; class IFC_PARSE_API IfcTransportElementTypeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTransportElementTypeSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the two possible ways of trimming a parametric curve; by a Cartesian point on the curve, or by a REAL number defining a parameter value within the parametric range of the curve. /// @@ -770,6 +829,7 @@ public: class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTrimmingSelect > list; }; /// Definition from ISO/CD 10303-41:1992: A unit is a physical quantity, with a value of one, which is used as a standard in terms of which other quantities are expressed. /// @@ -787,6 +847,7 @@ public: class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcUnit > list; }; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, /// IfcMeasureValue and IfcDerivedMeasureValue. @@ -801,6 +862,7 @@ public: class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcValue > list; }; /// Definition from ISO/CD 10303-42:1992: This type is used to /// identify the types of entity which can participate in vector computations. @@ -813,6 +875,7 @@ public: class IFC_PARSE_API IfcVectorOrDirection : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcVectorOrDirection > list; }; /// Definition from IAI: A measure of warping stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -820,6 +883,7 @@ public: class IFC_PARSE_API IfcWarpingStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcWarpingStiffnessSelect > list; }; class IFC_PARSE_API IfcActionRequestTypeEnum : public IfcUtil::IfcBaseType { /// IfcActionRequestTypeEnum defines the types of sources through which a request can be made. diff --git a/src/ifcparse/Ifc4x3_tc1.h b/src/ifcparse/Ifc4x3_tc1.h index 7874b23318..14b1e37aaa 100644 --- a/src/ifcparse/Ifc4x3_tc1.h +++ b/src/ifcparse/Ifc4x3_tc1.h @@ -65,6 +65,7 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcActorSelect > list; }; /// IfcAppliedValueSelect defines the selection of whether a value (expressed as a ratio) or an amount should be used as the value for an IfcAppliedValue. /// @@ -83,6 +84,7 @@ public: class IFC_PARSE_API IfcAppliedValueSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcAppliedValueSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type collects together both versions of the placement as used in two dimensional or in three dimensional Cartesian space. This enables entities requiring this information to reference them without specifying the space dimensionality. /// @@ -92,6 +94,7 @@ public: class IFC_PARSE_API IfcAxis2Placement : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcAxis2Placement > list; }; /// Definition from IAI: A select type for selecting between simple measure types for reinforcement bending parameters. /// @@ -99,6 +102,7 @@ public: class IFC_PARSE_API IfcBendingParameterSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcBendingParameterSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies /// all those types of entities which may participate in a Boolean operation to @@ -119,6 +123,7 @@ public: class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcBooleanOperand > list; }; /// IfcClassificationReferenceSelect enables selection of whether a classification reference is a subset of another classification reference or is a top level entry of a classification source. /// @@ -131,6 +136,7 @@ public: class IFC_PARSE_API IfcClassificationReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcClassificationReferenceSelect > list; }; /// IfcClassificationSelect enables selection of whether a classification reference is to be referenced from an external source, or whether a classification is referenced as such. /// @@ -148,6 +154,7 @@ public: class IFC_PARSE_API IfcClassificationSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcClassificationSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The colour entity defines a basic appearance of elements which shall be visualized in a picture. /// @@ -157,6 +164,7 @@ public: class IFC_PARSE_API IfcColour : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcColour > list; }; /// The IfcColourOrFactor enables the selection of either a RGB colour value or a scalar factor value for the use as values of the reflectance components. /// @@ -164,6 +172,7 @@ public: class IFC_PARSE_API IfcColourOrFactor : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcColourOrFactor > list; }; /// IfcCoordinateReferenceSystemSelect is a select between either the local engineering coordinate system, represented by the IfcGeometricRepresentationContext, or another coordinate reference system, represented by IfcCoordinateReferenceSystem, to be the source of a coordinate operation. /// @@ -171,6 +180,7 @@ public: class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCoordinateReferenceSystemSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This type identifies the types of entity which may be selected as the root of a CSG tree including a single CSG primitive as a special case. /// Definition from IAI: The IfcBooleanResult, and subtypes of IfcCsgPrimitive3D are defined as potential root tree expression (at IfcCsgSolid). A subtype of IfcCsgPrimitive3D marks the special case of a CSG solid solely expressed by a single primitive. @@ -181,6 +191,7 @@ public: class IFC_PARSE_API IfcCsgSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCsgSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The curve font or scaled curve font select is a selection of either a curve font style select (being either a predefined curve font or an explicitly defined curve font) or a curve style font and scaling. /// @@ -190,16 +201,19 @@ public: class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveFontOrScaledCurveFontSelect > list; }; class IFC_PARSE_API IfcCurveMeasureSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveMeasureSelect > list; }; class IFC_PARSE_API IfcCurveOnSurface : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveOnSurface > list; }; /// IfcCurveOrEdgeCurve provides the option to either select a geometric curve (IfcCurve /// and subtypes) within a geometric model, or a curve with associated geometry and coordinates (IfcEdgeCurve) within a topological model. @@ -212,6 +226,7 @@ public: class IFC_PARSE_API IfcCurveOrEdgeCurve : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveOrEdgeCurve > list; }; /// Definition from ISO/CD 10303-46:1992: The curve style font select is a selection of a curve style font or a predefined curve style font. /// @@ -221,6 +236,7 @@ public: class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveStyleFontSelect > list; }; /// IfcDefinitionSelectprovides the option to either select an object or type object IfcObjectDefinition, or a property set template or property set, IfcPropertyDefinition. /// SELECT @@ -232,6 +248,7 @@ public: class IFC_PARSE_API IfcDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDefinitionSelect > list; }; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. /// @@ -310,6 +327,7 @@ public: class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDerivedMeasureValue > list; }; /// IfcDocumentSelect enables selection of whether document information is to be contained within an IFC model or is to be referenced from an external source. /// @@ -322,6 +340,7 @@ public: class IFC_PARSE_API IfcDocumentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDocumentSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The fill style select is a selection between different fill area styles. /// @@ -332,6 +351,7 @@ public: class IFC_PARSE_API IfcFillStyleSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcFillStyleSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the types of entities which can occur in a geometric set. /// @@ -341,6 +361,7 @@ public: class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcGeometricSetSelect > list; }; /// IfcGridPlacementDirectionSelect enables the choice of defining a grid placement be either an explicit direction, or by referencing a second grid intersection to provide the direction. /// @@ -353,6 +374,7 @@ public: class IFC_PARSE_API IfcGridPlacementDirectionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcGridPlacementDirectionSelect > list; }; /// The IfcHatchLineDistanceSelect is a selection between different ways to determine the distance and potentially start point of hatch lines, either by an offset distance length measure or by a vector. /// @@ -360,11 +382,13 @@ public: class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcHatchLineDistanceSelect > list; }; class IFC_PARSE_API IfcInterferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcInterferenceSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The layered things type selects those things, which can be grouped in layers. /// @@ -376,6 +400,7 @@ public: class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLayeredItem > list; }; /// IfcLibrarySelect enables selection of whether library information is to be contained within an IFC model or is to be referenced from an external source. /// @@ -390,6 +415,7 @@ public: class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLibrarySelect > list; }; /// A goniometric light gets its intensity distribution function (how much light goes in any one direction) from one of two sources: (i) an industry-standard file, (ii) from distribution data passed directly via the IfcLightIntensityDistribution. /// @@ -416,6 +442,7 @@ public: class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLightDistributionDataSourceSelect > list; }; /// IfcMaterialSelect provides selection of either a material /// definition or a material usage definition that can be assigned to @@ -446,6 +473,7 @@ public: class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMaterialSelect > list; }; /// Definition from ISO/CD 10303-41:1992: A measure value is a value as defined in ISO 31-0 (clause 2). /// @@ -459,6 +487,7 @@ public: class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMeasureValue > list; }; /// IfcMetricValueSelect is a select type that enables selection of the data type for the value component of an IfcMetric. /// @@ -475,6 +504,7 @@ public: class IFC_PARSE_API IfcMetricValueSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMetricValueSelect > list; }; /// Definition from IAI: A measure for modulus of rotational subgrade reaction which expresses the rotational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -482,6 +512,7 @@ public: class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfRotationalSubgradeReactionSelect > list; }; /// Definition from IAI: Bedding measure which expresses the bedding of a structural face item per area. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -489,6 +520,7 @@ public: class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfSubgradeReactionSelect > list; }; /// Definition from IAI: A measure for modulus of translational subgrade reaction which expresses the translational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -496,6 +528,7 @@ public: class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfTranslationalSubgradeReactionSelect > list; }; /// IfcObjectReferenceSelect is a select type, that holds a list of resource level entities that can be used as properties within a property set. /// @@ -503,6 +536,7 @@ public: class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcObjectReferenceSelect > list; }; /// IfcPointOrVertexPoint provides the option to either select a geometric point (IfcPoint and subtypes) within a geometric model, or a vertex with associated point coordinates (IfcVertexPoint) within a topological model. /// SELECT @@ -514,6 +548,7 @@ public: class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPointOrVertexPoint > list; }; /// IfcProcessSelectprovides the option to either /// select a process or activity occurrence, IfcProcess, @@ -528,11 +563,13 @@ public: class IFC_PARSE_API IfcProcessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProcessSelect > list; }; class IFC_PARSE_API IfcProductRepresentationSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProductRepresentationSelect > list; }; /// IfcProductSelectprovides the option to either select a /// product occurrence, IfcProduct, or a product type, @@ -546,11 +583,13 @@ public: class IFC_PARSE_API IfcProductSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProductSelect > list; }; class IFC_PARSE_API IfcPropertySetDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPropertySetDefinitionSelect > list; }; /// IfcResourceObjectSelect enables selection of resource level objects that are to be related to an resource level relationship object. The use of IfcResourceObjectSelect includes the ability to assign an external reference entity (library, classification, or documentation reference) to entities within the resource level. /// @@ -558,6 +597,7 @@ public: class IFC_PARSE_API IfcResourceObjectSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcResourceObjectSelect > list; }; /// IfcResourceSelectprovides the option to either select a /// resource occurrence, IfcResource, or a resource type, @@ -571,6 +611,7 @@ public: class IFC_PARSE_API IfcResourceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcResourceSelect > list; }; /// Definition from IAI: A measure of rotational stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -578,11 +619,13 @@ public: class IFC_PARSE_API IfcRotationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcRotationalStiffnessSelect > list; }; class IFC_PARSE_API IfcSegmentIndexSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSegmentIndexSelect > list; }; /// Definition from ISO/CD 10303-42:1992 This type collects together, for reference when constructing more complex models, the subtypes which have the characteristics of a shell. A shell is a connected object of fixed dimensionality d = 0; 1; or 2, typically used to bound a region. The domain of a shell, if present, includes its bounds and 0 £ X < ¥. /// @@ -598,6 +641,7 @@ public: class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcShell > list; }; /// IfcSimpleValue is a select type for selecting between simple value types. /// @@ -621,6 +665,7 @@ public: class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSimpleValue > list; }; /// Definition from ISO/CD 10303-46:1992: The size select is a selection of a specific positive length measure. /// @@ -637,6 +682,7 @@ public: class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSizeSelect > list; }; /// The IfcSolidOrShell provides the option to either select a geometric volume (IfcSolidModel and subtypes) within a geometric model, or a shell (IfcClosedShell) within a topological model. /// SELECT @@ -648,6 +694,7 @@ public: class IFC_PARSE_API IfcSolidOrShell : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSolidOrShell > list; }; /// Definition from IAI: The /// IfcSpaceBoundarySelectselects either an internal space @@ -664,11 +711,13 @@ public: class IFC_PARSE_API IfcSpaceBoundarySelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpaceBoundarySelect > list; }; class IFC_PARSE_API IfcSpatialReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpatialReferenceSelect > list; }; /// The IfcSpecularHighlightSelect defines the selectable types of value for specular highlight sharpness. /// @@ -683,6 +732,7 @@ public: class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpecularHighlightSelect > list; }; /// Definition from IAI: This type definition shall be used to /// distinguish between a reference to an instance either of @@ -696,6 +746,7 @@ public: class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcStructuralActivityAssignmentSelect > list; }; /// IfcSurfaceOrFaceSurface provides the option to either select a geometric surface (IfcSurface /// and subtypes) within a geometric model, or a face with associated surface geometry and coordinates (IfcFaceSurface) within a topological model. @@ -709,6 +760,7 @@ public: class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSurfaceOrFaceSurface > list; }; /// Definition from ISO/CD 10303-46:1992: The surface style element select is a selection of the different surface styles to use in the presentation of the side of a surface. /// @@ -722,6 +774,7 @@ public: class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSurfaceStyleElementSelect > list; }; /// IfcTextFontSelect allows for either a predefined text font, a text font model or an externally defined text font to be used to describe the font of a text literal. The definition of the text font model is based on W3C TR Cascading Style Sheet Version 1, whereas the definition of predefined text font is based on ISO 10303. /// @@ -733,12 +786,14 @@ public: class IFC_PARSE_API IfcTextFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTextFontSelect > list; }; /// IfcTimeOrRatioSelect allows a value to be selected as being either a ratio or a time measure. /// HISTORY New SELECT in IFC2x4 class IFC_PARSE_API IfcTimeOrRatioSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTimeOrRatioSelect > list; }; /// Definition from IAI: A measure of linear stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -746,6 +801,7 @@ public: class IFC_PARSE_API IfcTranslationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTranslationalStiffnessSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the two possible ways of trimming a parametric curve; by a Cartesian point on the curve, or by a REAL number defining a parameter value within the parametric range of the curve. /// @@ -755,6 +811,7 @@ public: class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTrimmingSelect > list; }; /// Definition from ISO/CD 10303-41:1992: A unit is a physical quantity, with a value of one, which is used as a standard in terms of which other quantities are expressed. /// @@ -772,6 +829,7 @@ public: class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcUnit > list; }; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, /// IfcMeasureValue and IfcDerivedMeasureValue. @@ -786,6 +844,7 @@ public: class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcValue > list; }; /// Definition from ISO/CD 10303-42:1992: This type is used to /// identify the types of entity which can participate in vector computations. @@ -798,6 +857,7 @@ public: class IFC_PARSE_API IfcVectorOrDirection : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcVectorOrDirection > list; }; /// Definition from IAI: A measure of warping stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -805,6 +865,7 @@ public: class IFC_PARSE_API IfcWarpingStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcWarpingStiffnessSelect > list; }; class IFC_PARSE_API IfcActionRequestTypeEnum : public IfcUtil::IfcBaseType { /// IfcActionRequestTypeEnum defines the types of sources through which a request can be made. From ed5d28de54893e338389f812b4b947a8fca0cfcd Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Thu, 22 Jun 2023 10:08:41 +0200 Subject: [PATCH 170/225] #2805 update hierarchy helper --- src/ifcparse/IfcHierarchyHelper.cpp | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/ifcparse/IfcHierarchyHelper.cpp b/src/ifcparse/IfcHierarchyHelper.cpp index a80eb54d91..81978dcc1d 100644 --- a/src/ifcparse/IfcHierarchyHelper.cpp +++ b/src/ifcparse/IfcHierarchyHelper.cpp @@ -99,7 +99,7 @@ template typename Schema::IfcProject* IfcHierarchyHelper::addProject(typename Schema::IfcOwnerHistory* owner_hist) { typename Schema::IfcRepresentationContext::list::ptr rep_contexts (new typename Schema::IfcRepresentationContext::list); - aggregate_of_instance::ptr units (new aggregate_of_instance); + typename Schema::IfcUnit::list::ptr units (new typename Schema::IfcUnit::list); typename Schema::IfcDimensionalExponents* dimexp = new typename Schema::IfcDimensionalExponents(0, 0, 0, 0, 0, 0, 0); typename Schema::IfcSIUnit* unit1 = new typename Schema::IfcSIUnit(Schema::IfcUnitEnum::IfcUnit_LENGTHUNIT, Schema::IfcSIPrefix::IfcSIPrefix_MILLI, Schema::IfcSIUnitName::IfcSIUnitName_METRE); @@ -416,7 +416,7 @@ typename Schema::IfcSurfaceStyle* getSurfaceStyle(IfcHierarchyHelper& fi : new typename Schema::IfcSurfaceStyleRendering(colour, 1.0 - a, 0, 0, 0, 0, 0, 0, Schema::IfcReflectanceMethodEnum::IfcReflectanceMethod_FLAT); - aggregate_of_instance::ptr styles(new aggregate_of_instance()); + typename Schema::IfcSurfaceStyleElementSelect::list::ptr styles(new typename Schema::IfcSurfaceStyleElementSelect::list); styles->push(rendering); typename Schema::IfcSurfaceStyle* surface_style = new typename Schema::IfcSurfaceStyle( boost::none, Schema::IfcSurfaceSide::IfcSurfaceSide_BOTH, styles); @@ -432,7 +432,7 @@ template typename Schema::IfcPresentationStyleAssignment* addStyleAssignment_2x3(IfcHierarchyHelper& file, double r, double g, double b, double a = 1.0) { auto surface_style = getSurfaceStyle(file, r, g, b, a); - aggregate_of_instance::ptr surface_styles(new aggregate_of_instance()); + typename Schema::IfcPresentationStyleSelect::list::ptr surface_styles(new typename Schema::IfcPresentationStyleSelect::list); surface_styles->push(surface_style); typename Schema::IfcPresentationStyleAssignment* style_assignment = new typename Schema::IfcPresentationStyleAssignment(surface_styles); @@ -506,7 +506,7 @@ Ifc2x3::IfcStyledItem* create_styled_item(Ifc2x3::IfcRepresentationItem* item, I #ifdef HAS_SCHEMA_4 Ifc4::IfcStyledItem* create_styled_item(Ifc4::IfcRepresentationItem* item, Ifc4::IfcPresentationStyleAssignment* style_assignment) { - aggregate_of_instance::ptr style_assignments(new aggregate_of_instance); + Ifc4::IfcStyleAssignmentSelect::list::ptr style_assignments(new Ifc4::IfcStyleAssignmentSelect::list); style_assignments->push(style_assignment); return new Ifc4::IfcStyledItem(item, style_assignments, boost::none); } @@ -514,33 +514,33 @@ Ifc4::IfcStyledItem* create_styled_item(Ifc4::IfcRepresentationItem* item, Ifc4: #ifdef HAS_SCHEMA_4x1 Ifc4x1::IfcStyledItem* create_styled_item(Ifc4x1::IfcRepresentationItem* item, Ifc4x1::IfcPresentationStyleAssignment* style_assignment) { - aggregate_of_instance::ptr style_assignments(new aggregate_of_instance); + Ifc4x1::IfcStyleAssignmentSelect::list::ptr style_assignments(new Ifc4x1::IfcStyleAssignmentSelect::list); style_assignments->push(style_assignment); - return new Ifc4x1::IfcStyledItem(item, style_assignments, boost::none); + return new Ifc4::IfcStyledItem(item, style_assignments, boost::none); } #endif #ifdef HAS_SCHEMA_4x2 Ifc4x2::IfcStyledItem* create_styled_item(Ifc4x2::IfcRepresentationItem* item, Ifc4x2::IfcPresentationStyleAssignment* style_assignment) { - aggregate_of_instance::ptr style_assignments(new aggregate_of_instance); + Ifc4x2::IfcStyleAssignmentSelect::list::ptr style_assignments(new Ifc4x2::IfcStyleAssignmentSelect::list); style_assignments->push(style_assignment); - return new Ifc4x2::IfcStyledItem(item, style_assignments, boost::none); + return new Ifc4::IfcStyledItem(item, style_assignments, boost::none); } #endif #ifdef HAS_SCHEMA_4x3_rc1 Ifc4x3_rc1::IfcStyledItem* create_styled_item(Ifc4x3_rc1::IfcRepresentationItem* item, Ifc4x3_rc1::IfcPresentationStyleAssignment* style_assignment) { - aggregate_of_instance::ptr style_assignments(new aggregate_of_instance); + Ifc4x3_rc1::IfcStyleAssignmentSelect::list::ptr style_assignments(new Ifc4x3_rc1::IfcStyleAssignmentSelect::list); style_assignments->push(style_assignment); - return new Ifc4x3_rc1::IfcStyledItem(item, style_assignments, boost::none); + return new Ifc4::IfcStyledItem(item, style_assignments, boost::none); } #endif #ifdef HAS_SCHEMA_4x3_rc2 Ifc4x3_rc2::IfcStyledItem* create_styled_item(Ifc4x3_rc2::IfcRepresentationItem* item, Ifc4x3_rc2::IfcPresentationStyleAssignment* style_assignment) { - aggregate_of_instance::ptr style_assignments(new aggregate_of_instance); - style_assignments->push(style_assignment); - return new Ifc4x3_rc2::IfcStyledItem(item, style_assignments, boost::none); + Ifc4x3_rc2::IfcStyleAssignmentSelect::list::ptr style_assignments(new Ifc4x3_rc2::IfcStyleAssignmentSelect::list); + style_assignments->push(style_assignment); + return new Ifc4::IfcStyledItem(item, style_assignments, boost::none); } #endif From 97c6b99d57597cf79bbba8971b6164bc15e06771 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Thu, 22 Jun 2023 10:30:42 +0200 Subject: [PATCH 171/225] #2805 Use dynamic cast for generalize() due to virtual inheritance of selects --- src/ifcparse/aggregate_of_instance.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ifcparse/aggregate_of_instance.h b/src/ifcparse/aggregate_of_instance.h index db09a2bb44..f304e67351 100644 --- a/src/ifcparse/aggregate_of_instance.h +++ b/src/ifcparse/aggregate_of_instance.h @@ -67,7 +67,7 @@ public: unsigned int size() const { return (unsigned int)ls.size(); } aggregate_of_instance::ptr generalize() { aggregate_of_instance::ptr r(new aggregate_of_instance()); - for (it i = begin(); i != end(); ++i) r->push(*i); + for (it i = begin(); i != end(); ++i) r->push((*i)->as()); return r; } bool contains(T* t) const { return std::find(ls.begin(), ls.end(), t) != ls.end(); } From 0cdf72fde143be4dde77657a126478068b282e0a Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Thu, 22 Jun 2023 10:30:57 +0200 Subject: [PATCH 172/225] #2805 Rerun codegen --- src/ifcparse/Ifc2x3.cpp | 178 ++++++++++++++++----------------- src/ifcparse/Ifc4.cpp | 180 ++++++++++++++++----------------- src/ifcparse/Ifc4x1.cpp | 180 ++++++++++++++++----------------- src/ifcparse/Ifc4x2.cpp | 180 ++++++++++++++++----------------- src/ifcparse/Ifc4x3_add1.cpp | 176 ++++++++++++++++---------------- src/ifcparse/Ifc4x3_rc1.cpp | 188 +++++++++++++++++------------------ src/ifcparse/Ifc4x3_rc2.cpp | 188 +++++++++++++++++------------------ src/ifcparse/Ifc4x3_rc3.cpp | 176 ++++++++++++++++---------------- src/ifcparse/Ifc4x3_rc4.cpp | 176 ++++++++++++++++---------------- src/ifcparse/Ifc4x3_tc1.cpp | 176 ++++++++++++++++---------------- 10 files changed, 899 insertions(+), 899 deletions(-) diff --git a/src/ifcparse/Ifc2x3.cpp b/src/ifcparse/Ifc2x3.cpp index 02db53339d..74762b88ec 100644 --- a/src/ifcparse/Ifc2x3.cpp +++ b/src/ifcparse/Ifc2x3.cpp @@ -9097,7 +9097,7 @@ Ifc2x3::IfcAlarmType::IfcAlarmType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHi const IfcParse::entity& Ifc2x3::IfcAngularDimension::declaration() const { return *IFC2X3_IfcAngularDimension_type; } const IfcParse::entity& Ifc2x3::IfcAngularDimension::Class() { return *IFC2X3_IfcAngularDimension_type; } Ifc2x3::IfcAngularDimension::IfcAngularDimension(IfcEntityInstanceData* e) : IfcDimensionCurveDirectedCallout((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC2X3_IfcAngularDimension_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcAngularDimension::IfcAngularDimension(aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v1_Contents) : IfcDimensionCurveDirectedCallout((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcAngularDimension_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Contents));data_->setArgument(0,attr);} } +Ifc2x3::IfcAngularDimension::IfcAngularDimension(aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v1_Contents) : IfcDimensionCurveDirectedCallout((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcAngularDimension_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Contents)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcAnnotation @@ -10265,14 +10265,14 @@ Ifc2x3::IfcConstraintAggregationRelationship::IfcConstraintAggregationRelationsh // Function implementations for IfcConstraintClassificationRelationship ::Ifc2x3::IfcConstraint* Ifc2x3::IfcConstraintClassificationRelationship::ClassifiedConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcConstraint>(true); } void Ifc2x3::IfcConstraintClassificationRelationship::setClassifiedConstraint(::Ifc2x3::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of< ::Ifc2x3::IfcClassificationNotationSelect >::ptr Ifc2x3::IfcConstraintClassificationRelationship::RelatedClassifications() const { aggregate_of< ::Ifc2x3::IfcClassificationNotationSelect >::ptr v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcConstraintClassificationRelationship::setRelatedClassifications(aggregate_of< ::Ifc2x3::IfcClassificationNotationSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc2x3::IfcClassificationNotationSelect >::ptr Ifc2x3::IfcConstraintClassificationRelationship::RelatedClassifications() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc2x3::IfcClassificationNotationSelect >(); } +void Ifc2x3::IfcConstraintClassificationRelationship::setRelatedClassifications(aggregate_of< ::Ifc2x3::IfcClassificationNotationSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } const IfcParse::entity& Ifc2x3::IfcConstraintClassificationRelationship::declaration() const { return *IFC2X3_IfcConstraintClassificationRelationship_type; } const IfcParse::entity& Ifc2x3::IfcConstraintClassificationRelationship::Class() { return *IFC2X3_IfcConstraintClassificationRelationship_type; } Ifc2x3::IfcConstraintClassificationRelationship::IfcConstraintClassificationRelationship(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC2X3_IfcConstraintClassificationRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcConstraintClassificationRelationship::IfcConstraintClassificationRelationship(::Ifc2x3::IfcConstraint* v1_ClassifiedConstraint, aggregate_of< ::Ifc2x3::IfcClassificationNotationSelect >::ptr v2_RelatedClassifications) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcConstraintClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ClassifiedConstraint));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_RelatedClassifications));data_->setArgument(1,attr);} } +Ifc2x3::IfcConstraintClassificationRelationship::IfcConstraintClassificationRelationship(::Ifc2x3::IfcConstraint* v1_ClassifiedConstraint, aggregate_of< ::Ifc2x3::IfcClassificationNotationSelect >::ptr v2_RelatedClassifications) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcConstraintClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ClassifiedConstraint));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_RelatedClassifications)->generalize());data_->setArgument(1,attr);} } // Function implementations for IfcConstraintRelationship boost::optional< std::string > Ifc2x3::IfcConstraintRelationship::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -10299,8 +10299,8 @@ Ifc2x3::IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(IfcEn Ifc2x3::IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(std::string v1_GlobalId, ::Ifc2x3::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< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit* v9_BaseQuantity) : IfcConstructionResource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcConstructionEquipmentResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_ResourceIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_ResourceIdentifier));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_ResourceGroup) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_ResourceGroup));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_ResourceConsumption) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_ResourceConsumption,::Ifc2x3::IfcResourceConsumptionEnum::ToString(*v8_ResourceConsumption))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_BaseQuantity));data_->setArgument(8,attr);} } // Function implementations for IfcConstructionMaterialResource -boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > Ifc2x3::IfcConstructionMaterialResource::Suppliers() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr v = *data_->getArgument(9); return v; } -void Ifc2x3::IfcConstructionMaterialResource::setSuppliers(boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } +boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > Ifc2x3::IfcConstructionMaterialResource::Suppliers() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc2x3::IfcActorSelect >(); } +void Ifc2x3::IfcConstructionMaterialResource::setSuppliers(boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(9,attr);} } boost::optional< double > Ifc2x3::IfcConstructionMaterialResource::UsageRatio() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } void Ifc2x3::IfcConstructionMaterialResource::setUsageRatio(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } @@ -10308,7 +10308,7 @@ void Ifc2x3::IfcConstructionMaterialResource::setUsageRatio(boost::optional< dou const IfcParse::entity& Ifc2x3::IfcConstructionMaterialResource::declaration() const { return *IFC2X3_IfcConstructionMaterialResource_type; } const IfcParse::entity& Ifc2x3::IfcConstructionMaterialResource::Class() { return *IFC2X3_IfcConstructionMaterialResource_type; } Ifc2x3::IfcConstructionMaterialResource::IfcConstructionMaterialResource(IfcEntityInstanceData* e) : IfcConstructionResource((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC2X3_IfcConstructionMaterialResource_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcConstructionMaterialResource::IfcConstructionMaterialResource(std::string v1_GlobalId, ::Ifc2x3::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< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit* v9_BaseQuantity, boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > v10_Suppliers, boost::optional< double > v11_UsageRatio) : IfcConstructionResource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcConstructionMaterialResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_ResourceIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_ResourceIdentifier));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_ResourceGroup) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_ResourceGroup));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_ResourceConsumption) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_ResourceConsumption,::Ifc2x3::IfcResourceConsumptionEnum::ToString(*v8_ResourceConsumption))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_BaseQuantity));data_->setArgument(8,attr);} if (v10_Suppliers) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Suppliers));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_UsageRatio) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_UsageRatio));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } +Ifc2x3::IfcConstructionMaterialResource::IfcConstructionMaterialResource(std::string v1_GlobalId, ::Ifc2x3::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< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit* v9_BaseQuantity, boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > v10_Suppliers, boost::optional< double > v11_UsageRatio) : IfcConstructionResource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcConstructionMaterialResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_ResourceIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_ResourceIdentifier));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_ResourceGroup) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_ResourceGroup));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_ResourceConsumption) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_ResourceConsumption,::Ifc2x3::IfcResourceConsumptionEnum::ToString(*v8_ResourceConsumption))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_BaseQuantity));data_->setArgument(8,attr);} if (v10_Suppliers) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Suppliers)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_UsageRatio) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_UsageRatio));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } // Function implementations for IfcConstructionProductResource @@ -10426,8 +10426,8 @@ void Ifc2x3::IfcCostSchedule::setPreparedBy(::Ifc2x3::IfcActorSelect* v) { {IfcW void Ifc2x3::IfcCostSchedule::setSubmittedOn(::Ifc2x3::IfcDateTimeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } boost::optional< std::string > Ifc2x3::IfcCostSchedule::Status() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } void Ifc2x3::IfcCostSchedule::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } -boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > Ifc2x3::IfcCostSchedule::TargetUsers() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr v = *data_->getArgument(9); return v; } -void Ifc2x3::IfcCostSchedule::setTargetUsers(boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } +boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > Ifc2x3::IfcCostSchedule::TargetUsers() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc2x3::IfcActorSelect >(); } +void Ifc2x3::IfcCostSchedule::setTargetUsers(boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(9,attr);} } ::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcCostSchedule::UpdateDate() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcCostSchedule::setUpdateDate(::Ifc2x3::IfcDateTimeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } std::string Ifc2x3::IfcCostSchedule::ID() const { std::string v = *data_->getArgument(11); return v; } @@ -10439,7 +10439,7 @@ void Ifc2x3::IfcCostSchedule::setPredefinedType(::Ifc2x3::IfcCostScheduleTypeEnu const IfcParse::entity& Ifc2x3::IfcCostSchedule::declaration() const { return *IFC2X3_IfcCostSchedule_type; } const IfcParse::entity& Ifc2x3::IfcCostSchedule::Class() { return *IFC2X3_IfcCostSchedule_type; } Ifc2x3::IfcCostSchedule::IfcCostSchedule(IfcEntityInstanceData* e) : IfcControl((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC2X3_IfcCostSchedule_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcCostSchedule::IfcCostSchedule(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcActorSelect* v6_SubmittedBy, ::Ifc2x3::IfcActorSelect* v7_PreparedBy, ::Ifc2x3::IfcDateTimeSelect* v8_SubmittedOn, boost::optional< std::string > v9_Status, boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > v10_TargetUsers, ::Ifc2x3::IfcDateTimeSelect* v11_UpdateDate, std::string v12_ID, ::Ifc2x3::IfcCostScheduleTypeEnum::Value v13_PredefinedType) : IfcControl((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcCostSchedule_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_SubmittedBy));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_PreparedBy));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_SubmittedOn));data_->setArgument(7,attr);} if (v9_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_Status));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_TargetUsers) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_TargetUsers));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_UpdateDate));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v12_ID));data_->setArgument(11,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v13_PredefinedType,::Ifc2x3::IfcCostScheduleTypeEnum::ToString(v13_PredefinedType))));data_->setArgument(12,attr);} } +Ifc2x3::IfcCostSchedule::IfcCostSchedule(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcActorSelect* v6_SubmittedBy, ::Ifc2x3::IfcActorSelect* v7_PreparedBy, ::Ifc2x3::IfcDateTimeSelect* v8_SubmittedOn, boost::optional< std::string > v9_Status, boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > v10_TargetUsers, ::Ifc2x3::IfcDateTimeSelect* v11_UpdateDate, std::string v12_ID, ::Ifc2x3::IfcCostScheduleTypeEnum::Value v13_PredefinedType) : IfcControl((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcCostSchedule_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_SubmittedBy));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_PreparedBy));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_SubmittedOn));data_->setArgument(7,attr);} if (v9_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_Status));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_TargetUsers) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_TargetUsers)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_UpdateDate));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v12_ID));data_->setArgument(11,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v13_PredefinedType,::Ifc2x3::IfcCostScheduleTypeEnum::ToString(v13_PredefinedType))));data_->setArgument(12,attr);} } // Function implementations for IfcCostValue std::string Ifc2x3::IfcCostValue::CostType() const { std::string v = *data_->getArgument(6); return v; } @@ -10751,7 +10751,7 @@ Ifc2x3::IfcDerivedUnitElement::IfcDerivedUnitElement(::Ifc2x3::IfcNamedUnit* v1_ const IfcParse::entity& Ifc2x3::IfcDiameterDimension::declaration() const { return *IFC2X3_IfcDiameterDimension_type; } const IfcParse::entity& Ifc2x3::IfcDiameterDimension::Class() { return *IFC2X3_IfcDiameterDimension_type; } Ifc2x3::IfcDiameterDimension::IfcDiameterDimension(IfcEntityInstanceData* e) : IfcDimensionCurveDirectedCallout((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC2X3_IfcDiameterDimension_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcDiameterDimension::IfcDiameterDimension(aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v1_Contents) : IfcDimensionCurveDirectedCallout((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcDiameterDimension_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Contents));data_->setArgument(0,attr);} } +Ifc2x3::IfcDiameterDimension::IfcDiameterDimension(aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v1_Contents) : IfcDimensionCurveDirectedCallout((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcDiameterDimension_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Contents)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcDimensionCalloutRelationship @@ -10776,7 +10776,7 @@ Ifc2x3::IfcDimensionCurve::IfcDimensionCurve(::Ifc2x3::IfcRepresentationItem* v1 const IfcParse::entity& Ifc2x3::IfcDimensionCurveDirectedCallout::declaration() const { return *IFC2X3_IfcDimensionCurveDirectedCallout_type; } const IfcParse::entity& Ifc2x3::IfcDimensionCurveDirectedCallout::Class() { return *IFC2X3_IfcDimensionCurveDirectedCallout_type; } Ifc2x3::IfcDimensionCurveDirectedCallout::IfcDimensionCurveDirectedCallout(IfcEntityInstanceData* e) : IfcDraughtingCallout((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC2X3_IfcDimensionCurveDirectedCallout_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcDimensionCurveDirectedCallout::IfcDimensionCurveDirectedCallout(aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v1_Contents) : IfcDraughtingCallout((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcDimensionCurveDirectedCallout_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Contents));data_->setArgument(0,attr);} } +Ifc2x3::IfcDimensionCurveDirectedCallout::IfcDimensionCurveDirectedCallout(aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v1_Contents) : IfcDraughtingCallout((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcDimensionCurveDirectedCallout_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Contents)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcDimensionCurveTerminator ::Ifc2x3::IfcDimensionExtentUsage::Value Ifc2x3::IfcDimensionCurveTerminator::Role() const { return ::Ifc2x3::IfcDimensionExtentUsage::FromString(*data_->getArgument(4)); } @@ -10957,8 +10957,8 @@ boost::optional< std::string > Ifc2x3::IfcDocumentInformation::Revision() const void Ifc2x3::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc2x3::IfcActorSelect* Ifc2x3::IfcDocumentInformation::DocumentOwner() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc2x3::IfcActorSelect>(true); } void Ifc2x3::IfcDocumentInformation::setDocumentOwner(::Ifc2x3::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > Ifc2x3::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr v = *data_->getArgument(9); return v; } -void Ifc2x3::IfcDocumentInformation::setEditors(boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } +boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > Ifc2x3::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc2x3::IfcActorSelect >(); } +void Ifc2x3::IfcDocumentInformation::setEditors(boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(9,attr);} } ::Ifc2x3::IfcDateAndTime* Ifc2x3::IfcDocumentInformation::CreationTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc2x3::IfcDateAndTime>(true); } void Ifc2x3::IfcDocumentInformation::setCreationTime(::Ifc2x3::IfcDateAndTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } ::Ifc2x3::IfcDateAndTime* Ifc2x3::IfcDocumentInformation::LastRevisionTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc2x3::IfcDateAndTime>(true); } @@ -10980,7 +10980,7 @@ void Ifc2x3::IfcDocumentInformation::setStatus(boost::optional< ::Ifc2x3::IfcDoc const IfcParse::entity& Ifc2x3::IfcDocumentInformation::declaration() const { return *IFC2X3_IfcDocumentInformation_type; } const IfcParse::entity& Ifc2x3::IfcDocumentInformation::Class() { return *IFC2X3_IfcDocumentInformation_type; } Ifc2x3::IfcDocumentInformation::IfcDocumentInformation(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC2X3_IfcDocumentInformation_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcDocumentInformation::IfcDocumentInformation(std::string v1_DocumentId, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< aggregate_of< ::Ifc2x3::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, ::Ifc2x3::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > v10_Editors, ::Ifc2x3::IfcDateAndTime* v11_CreationTime, ::Ifc2x3::IfcDateAndTime* v12_LastRevisionTime, ::Ifc2x3::IfcDocumentElectronicFormat* v13_ElectronicFormat, ::Ifc2x3::IfcCalendarDate* v14_ValidFrom, ::Ifc2x3::IfcCalendarDate* v15_ValidUntil, boost::optional< ::Ifc2x3::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc2x3::IfcDocumentStatusEnum::Value > v17_Status) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_DocumentId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DocumentReferences) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DocumentReferences)->generalize());data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_CreationTime));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v12_LastRevisionTime));data_->setArgument(11,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v13_ElectronicFormat));data_->setArgument(12,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v14_ValidFrom));data_->setArgument(13,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v15_ValidUntil));data_->setArgument(14,attr);} if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc2x3::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc2x3::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } +Ifc2x3::IfcDocumentInformation::IfcDocumentInformation(std::string v1_DocumentId, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< aggregate_of< ::Ifc2x3::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, ::Ifc2x3::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > v10_Editors, ::Ifc2x3::IfcDateAndTime* v11_CreationTime, ::Ifc2x3::IfcDateAndTime* v12_LastRevisionTime, ::Ifc2x3::IfcDocumentElectronicFormat* v13_ElectronicFormat, ::Ifc2x3::IfcCalendarDate* v14_ValidFrom, ::Ifc2x3::IfcCalendarDate* v15_ValidUntil, boost::optional< ::Ifc2x3::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc2x3::IfcDocumentStatusEnum::Value > v17_Status) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_DocumentId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DocumentReferences) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DocumentReferences)->generalize());data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_CreationTime));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v12_LastRevisionTime));data_->setArgument(11,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v13_ElectronicFormat));data_->setArgument(12,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v14_ValidFrom));data_->setArgument(13,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v15_ValidUntil));data_->setArgument(14,attr);} if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc2x3::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc2x3::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } // Function implementations for IfcDocumentInformationRelationship ::Ifc2x3::IfcDocumentInformation* Ifc2x3::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcDocumentInformation>(true); } @@ -11082,8 +11082,8 @@ Ifc2x3::IfcDoorStyle::IfcDoorStyle(IfcEntityInstanceData* e) : IfcTypeProduct((I Ifc2x3::IfcDoorStyle::IfcDoorStyle(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, ::Ifc2x3::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc2x3::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcDoorStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_OperationType,::Ifc2x3::IfcDoorStyleOperationEnum::ToString(v9_OperationType))));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_ConstructionType,::Ifc2x3::IfcDoorStyleConstructionEnum::ToString(v10_ConstructionType))));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_ParameterTakesPrecedence));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v12_Sizeable));data_->setArgument(11,attr);} } // Function implementations for IfcDraughtingCallout -aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr Ifc2x3::IfcDraughtingCallout::Contents() const { aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v = *data_->getArgument(0); return v; } -void Ifc2x3::IfcDraughtingCallout::setContents(aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr Ifc2x3::IfcDraughtingCallout::Contents() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc2x3::IfcDraughtingCalloutElement >(); } +void Ifc2x3::IfcDraughtingCallout::setContents(aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } ::Ifc2x3::IfcDraughtingCalloutRelationship::list::ptr Ifc2x3::IfcDraughtingCallout::IsRelatedFromCallout() const { return data_->getInverse(IFC2X3_IfcDraughtingCalloutRelationship_type, 3)->as(); } ::Ifc2x3::IfcDraughtingCalloutRelationship::list::ptr Ifc2x3::IfcDraughtingCallout::IsRelatedToCallout() const { return data_->getInverse(IFC2X3_IfcDraughtingCalloutRelationship_type, 2)->as(); } @@ -11091,7 +11091,7 @@ void Ifc2x3::IfcDraughtingCallout::setContents(aggregate_of< ::Ifc2x3::IfcDraugh const IfcParse::entity& Ifc2x3::IfcDraughtingCallout::declaration() const { return *IFC2X3_IfcDraughtingCallout_type; } const IfcParse::entity& Ifc2x3::IfcDraughtingCallout::Class() { return *IFC2X3_IfcDraughtingCallout_type; } Ifc2x3::IfcDraughtingCallout::IfcDraughtingCallout(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC2X3_IfcDraughtingCallout_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcDraughtingCallout::IfcDraughtingCallout(aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v1_Contents) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcDraughtingCallout_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Contents));data_->setArgument(0,attr);} } +Ifc2x3::IfcDraughtingCallout::IfcDraughtingCallout(aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v1_Contents) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcDraughtingCallout_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Contents)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcDraughtingCalloutRelationship boost::optional< std::string > Ifc2x3::IfcDraughtingCalloutRelationship::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -11718,14 +11718,14 @@ Ifc2x3::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcEntityInst Ifc2x3::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcFeatureElementSubtraction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcFillAreaStyle -aggregate_of< ::Ifc2x3::IfcFillStyleSelect >::ptr Ifc2x3::IfcFillAreaStyle::FillStyles() const { aggregate_of< ::Ifc2x3::IfcFillStyleSelect >::ptr v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcFillAreaStyle::setFillStyles(aggregate_of< ::Ifc2x3::IfcFillStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc2x3::IfcFillStyleSelect >::ptr Ifc2x3::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc2x3::IfcFillStyleSelect >(); } +void Ifc2x3::IfcFillAreaStyle::setFillStyles(aggregate_of< ::Ifc2x3::IfcFillStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } const IfcParse::entity& Ifc2x3::IfcFillAreaStyle::declaration() const { return *IFC2X3_IfcFillAreaStyle_type; } const IfcParse::entity& Ifc2x3::IfcFillAreaStyle::Class() { return *IFC2X3_IfcFillAreaStyle_type; } Ifc2x3::IfcFillAreaStyle::IfcFillAreaStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC2X3_IfcFillAreaStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc2x3::IfcFillStyleSelect >::ptr v2_FillStyles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles));data_->setArgument(1,attr);} } +Ifc2x3::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc2x3::IfcFillStyleSelect >::ptr v2_FillStyles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles)->generalize());data_->setArgument(1,attr);} } // Function implementations for IfcFillAreaStyleHatching ::Ifc2x3::IfcCurveStyle* Ifc2x3::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcCurveStyle>(true); } @@ -11758,8 +11758,8 @@ Ifc2x3::IfcFillAreaStyleTileSymbolWithStyle::IfcFillAreaStyleTileSymbolWithStyle // Function implementations for IfcFillAreaStyleTiles ::Ifc2x3::IfcOneDirectionRepeatFactor* Ifc2x3::IfcFillAreaStyleTiles::TilingPattern() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcOneDirectionRepeatFactor>(true); } void Ifc2x3::IfcFillAreaStyleTiles::setTilingPattern(::Ifc2x3::IfcOneDirectionRepeatFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of< ::Ifc2x3::IfcFillAreaStyleTileShapeSelect >::ptr Ifc2x3::IfcFillAreaStyleTiles::Tiles() const { aggregate_of< ::Ifc2x3::IfcFillAreaStyleTileShapeSelect >::ptr v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcFillAreaStyleTiles::setTiles(aggregate_of< ::Ifc2x3::IfcFillAreaStyleTileShapeSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc2x3::IfcFillAreaStyleTileShapeSelect >::ptr Ifc2x3::IfcFillAreaStyleTiles::Tiles() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc2x3::IfcFillAreaStyleTileShapeSelect >(); } +void Ifc2x3::IfcFillAreaStyleTiles::setTiles(aggregate_of< ::Ifc2x3::IfcFillAreaStyleTileShapeSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } double Ifc2x3::IfcFillAreaStyleTiles::TilingScale() const { double v = *data_->getArgument(2); return v; } void Ifc2x3::IfcFillAreaStyleTiles::setTilingScale(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -11767,7 +11767,7 @@ void Ifc2x3::IfcFillAreaStyleTiles::setTilingScale(double v) { {IfcWrite::IfcWri const IfcParse::entity& Ifc2x3::IfcFillAreaStyleTiles::declaration() const { return *IFC2X3_IfcFillAreaStyleTiles_type; } const IfcParse::entity& Ifc2x3::IfcFillAreaStyleTiles::Class() { return *IFC2X3_IfcFillAreaStyleTiles_type; } Ifc2x3::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC2X3_IfcFillAreaStyleTiles_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(::Ifc2x3::IfcOneDirectionRepeatFactor* v1_TilingPattern, aggregate_of< ::Ifc2x3::IfcFillAreaStyleTileShapeSelect >::ptr v2_Tiles, double v3_TilingScale) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcFillAreaStyleTiles_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TilingPattern));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Tiles));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_TilingScale));data_->setArgument(2,attr);} } +Ifc2x3::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(::Ifc2x3::IfcOneDirectionRepeatFactor* v1_TilingPattern, aggregate_of< ::Ifc2x3::IfcFillAreaStyleTileShapeSelect >::ptr v2_Tiles, double v3_TilingScale) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcFillAreaStyleTiles_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TilingPattern));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Tiles)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_TilingScale));data_->setArgument(2,attr);} } // Function implementations for IfcFilterType ::Ifc2x3::IfcFilterTypeEnum::Value Ifc2x3::IfcFilterType::PredefinedType() const { return ::Ifc2x3::IfcFilterTypeEnum::FromString(*data_->getArgument(9)); } @@ -12067,7 +12067,7 @@ Ifc2x3::IfcGeneralProfileProperties::IfcGeneralProfileProperties(boost::optional const IfcParse::entity& Ifc2x3::IfcGeometricCurveSet::declaration() const { return *IFC2X3_IfcGeometricCurveSet_type; } const IfcParse::entity& Ifc2x3::IfcGeometricCurveSet::Class() { return *IFC2X3_IfcGeometricCurveSet_type; } Ifc2x3::IfcGeometricCurveSet::IfcGeometricCurveSet(IfcEntityInstanceData* e) : IfcGeometricSet((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC2X3_IfcGeometricCurveSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc2x3::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcGeometricCurveSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } +Ifc2x3::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc2x3::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcGeometricCurveSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcGeometricRepresentationContext int Ifc2x3::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = *data_->getArgument(2); return v; } @@ -12111,14 +12111,14 @@ Ifc2x3::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubConte Ifc2x3::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, ::Ifc2x3::IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, ::Ifc2x3::IfcGeometricProjectionEnum::Value v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcGeometricRepresentationSubContext_type); if (v1_ContextIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_ContextIdentifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_ContextType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ContextType));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ParentContext));data_->setArgument(6,attr);} if (v8_TargetScale) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_TargetScale));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_TargetView,::Ifc2x3::IfcGeometricProjectionEnum::ToString(v9_TargetView))));data_->setArgument(8,attr);} if (v10_UserDefinedTargetView) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_UserDefinedTargetView));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcGeometricSet -aggregate_of< ::Ifc2x3::IfcGeometricSetSelect >::ptr Ifc2x3::IfcGeometricSet::Elements() const { aggregate_of< ::Ifc2x3::IfcGeometricSetSelect >::ptr v = *data_->getArgument(0); return v; } -void Ifc2x3::IfcGeometricSet::setElements(aggregate_of< ::Ifc2x3::IfcGeometricSetSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc2x3::IfcGeometricSetSelect >::ptr Ifc2x3::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc2x3::IfcGeometricSetSelect >(); } +void Ifc2x3::IfcGeometricSet::setElements(aggregate_of< ::Ifc2x3::IfcGeometricSetSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc2x3::IfcGeometricSet::declaration() const { return *IFC2X3_IfcGeometricSet_type; } const IfcParse::entity& Ifc2x3::IfcGeometricSet::Class() { return *IFC2X3_IfcGeometricSet_type; } Ifc2x3::IfcGeometricSet::IfcGeometricSet(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC2X3_IfcGeometricSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc2x3::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcGeometricSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } +Ifc2x3::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc2x3::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcGeometricSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcGrid aggregate_of< ::Ifc2x3::IfcGridAxis >::ptr Ifc2x3::IfcGrid::UAxes() const { aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc2x3::IfcGridAxis >(); } @@ -12285,14 +12285,14 @@ Ifc2x3::IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, boos // Function implementations for IfcIrregularTimeSeriesValue ::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcIrregularTimeSeriesValue::TimeStamp() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcIrregularTimeSeriesValue::setTimeStamp(::Ifc2x3::IfcDateTimeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of< ::Ifc2x3::IfcValue >::ptr Ifc2x3::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of< ::Ifc2x3::IfcValue >::ptr v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcIrregularTimeSeriesValue::setListValues(aggregate_of< ::Ifc2x3::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc2x3::IfcValue >::ptr Ifc2x3::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc2x3::IfcValue >(); } +void Ifc2x3::IfcIrregularTimeSeriesValue::setListValues(aggregate_of< ::Ifc2x3::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } const IfcParse::entity& Ifc2x3::IfcIrregularTimeSeriesValue::declaration() const { return *IFC2X3_IfcIrregularTimeSeriesValue_type; } const IfcParse::entity& Ifc2x3::IfcIrregularTimeSeriesValue::Class() { return *IFC2X3_IfcIrregularTimeSeriesValue_type; } Ifc2x3::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC2X3_IfcIrregularTimeSeriesValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(::Ifc2x3::IfcDateTimeSelect* v1_TimeStamp, aggregate_of< ::Ifc2x3::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcIrregularTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TimeStamp));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ListValues));data_->setArgument(1,attr);} } +Ifc2x3::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(::Ifc2x3::IfcDateTimeSelect* v1_TimeStamp, aggregate_of< ::Ifc2x3::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcIrregularTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TimeStamp));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ListValues)->generalize());data_->setArgument(1,attr);} } // Function implementations for IfcJunctionBoxType ::Ifc2x3::IfcJunctionBoxTypeEnum::Value Ifc2x3::IfcJunctionBoxType::PredefinedType() const { return ::Ifc2x3::IfcJunctionBoxTypeEnum::FromString(*data_->getArgument(9)); } @@ -12517,7 +12517,7 @@ Ifc2x3::IfcLine::IfcLine(::Ifc2x3::IfcCartesianPoint* v1_Pnt, ::Ifc2x3::IfcVecto const IfcParse::entity& Ifc2x3::IfcLinearDimension::declaration() const { return *IFC2X3_IfcLinearDimension_type; } const IfcParse::entity& Ifc2x3::IfcLinearDimension::Class() { return *IFC2X3_IfcLinearDimension_type; } Ifc2x3::IfcLinearDimension::IfcLinearDimension(IfcEntityInstanceData* e) : IfcDimensionCurveDirectedCallout((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC2X3_IfcLinearDimension_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcLinearDimension::IfcLinearDimension(aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v1_Contents) : IfcDimensionCurveDirectedCallout((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcLinearDimension_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Contents));data_->setArgument(0,attr);} } +Ifc2x3::IfcLinearDimension::IfcLinearDimension(aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v1_Contents) : IfcDimensionCurveDirectedCallout((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcLinearDimension_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Contents)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcLocalPlacement ::Ifc2x3::IfcObjectPlacement* Ifc2x3::IfcLocalPlacement::PlacementRelTo() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcObjectPlacement>(true); } @@ -12592,8 +12592,8 @@ Ifc2x3::IfcMaterial::IfcMaterial(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEnt Ifc2x3::IfcMaterial::IfcMaterial(std::string v1_Name) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} } // Function implementations for IfcMaterialClassificationRelationship -aggregate_of< ::Ifc2x3::IfcClassificationNotationSelect >::ptr Ifc2x3::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of< ::Ifc2x3::IfcClassificationNotationSelect >::ptr v = *data_->getArgument(0); return v; } -void Ifc2x3::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of< ::Ifc2x3::IfcClassificationNotationSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc2x3::IfcClassificationNotationSelect >::ptr Ifc2x3::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc2x3::IfcClassificationNotationSelect >(); } +void Ifc2x3::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of< ::Ifc2x3::IfcClassificationNotationSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } ::Ifc2x3::IfcMaterial* Ifc2x3::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcMaterial>(true); } void Ifc2x3::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc2x3::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -12601,7 +12601,7 @@ void Ifc2x3::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc2 const IfcParse::entity& Ifc2x3::IfcMaterialClassificationRelationship::declaration() const { return *IFC2X3_IfcMaterialClassificationRelationship_type; } const IfcParse::entity& Ifc2x3::IfcMaterialClassificationRelationship::Class() { return *IFC2X3_IfcMaterialClassificationRelationship_type; } Ifc2x3::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC2X3_IfcMaterialClassificationRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc2x3::IfcClassificationNotationSelect >::ptr v1_MaterialClassifications, ::Ifc2x3::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcMaterialClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialClassifications));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ClassifiedMaterial));data_->setArgument(1,attr);} } +Ifc2x3::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc2x3::IfcClassificationNotationSelect >::ptr v1_MaterialClassifications, ::Ifc2x3::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcMaterialClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialClassifications)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ClassifiedMaterial));data_->setArgument(1,attr);} } // Function implementations for IfcMaterialDefinitionRepresentation ::Ifc2x3::IfcMaterial* Ifc2x3::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcMaterial>(true); } @@ -13493,8 +13493,8 @@ std::string Ifc2x3::IfcPresentationLayerAssignment::Name() const { std::string void Ifc2x3::IfcPresentationLayerAssignment::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc2x3::IfcPresentationLayerAssignment::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc2x3::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } -aggregate_of< ::Ifc2x3::IfcLayeredItem >::ptr Ifc2x3::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of< ::Ifc2x3::IfcLayeredItem >::ptr v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of< ::Ifc2x3::IfcLayeredItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc2x3::IfcLayeredItem >::ptr Ifc2x3::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc2x3::IfcLayeredItem >(); } +void Ifc2x3::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of< ::Ifc2x3::IfcLayeredItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } boost::optional< std::string > Ifc2x3::IfcPresentationLayerAssignment::Identifier() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc2x3::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } @@ -13502,7 +13502,7 @@ void Ifc2x3::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std: const IfcParse::entity& Ifc2x3::IfcPresentationLayerAssignment::declaration() const { return *IFC2X3_IfcPresentationLayerAssignment_type; } const IfcParse::entity& Ifc2x3::IfcPresentationLayerAssignment::Class() { return *IFC2X3_IfcPresentationLayerAssignment_type; } Ifc2x3::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC2X3_IfcPresentationLayerAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc2x3::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcPresentationLayerAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } +Ifc2x3::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc2x3::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcPresentationLayerAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems)->generalize());data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcPresentationLayerWithStyle boost::logic::tribool Ifc2x3::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = *data_->getArgument(4); return v; } @@ -13511,14 +13511,14 @@ boost::logic::tribool Ifc2x3::IfcPresentationLayerWithStyle::LayerFrozen() const void Ifc2x3::IfcPresentationLayerWithStyle::setLayerFrozen(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } boost::logic::tribool Ifc2x3::IfcPresentationLayerWithStyle::LayerBlocked() const { boost::logic::tribool v = *data_->getArgument(6); return v; } void Ifc2x3::IfcPresentationLayerWithStyle::setLayerBlocked(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -aggregate_of< ::Ifc2x3::IfcPresentationStyleSelect >::ptr Ifc2x3::IfcPresentationLayerWithStyle::LayerStyles() const { aggregate_of< ::Ifc2x3::IfcPresentationStyleSelect >::ptr v = *data_->getArgument(7); return v; } -void Ifc2x3::IfcPresentationLayerWithStyle::setLayerStyles(aggregate_of< ::Ifc2x3::IfcPresentationStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } +aggregate_of< ::Ifc2x3::IfcPresentationStyleSelect >::ptr Ifc2x3::IfcPresentationLayerWithStyle::LayerStyles() const { aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc2x3::IfcPresentationStyleSelect >(); } +void Ifc2x3::IfcPresentationLayerWithStyle::setLayerStyles(aggregate_of< ::Ifc2x3::IfcPresentationStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(7,attr);} } const IfcParse::entity& Ifc2x3::IfcPresentationLayerWithStyle::declaration() const { return *IFC2X3_IfcPresentationLayerWithStyle_type; } const IfcParse::entity& Ifc2x3::IfcPresentationLayerWithStyle::Class() { return *IFC2X3_IfcPresentationLayerWithStyle_type; } Ifc2x3::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcEntityInstanceData* e) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC2X3_IfcPresentationLayerWithStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc2x3::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc2x3::IfcPresentationStyleSelect >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcPresentationLayerWithStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_LayerOn));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LayerFrozen));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LayerBlocked));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LayerStyles));data_->setArgument(7,attr);} } +Ifc2x3::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc2x3::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc2x3::IfcPresentationStyleSelect >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcPresentationLayerWithStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems)->generalize());data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_LayerOn));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LayerFrozen));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LayerBlocked));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LayerStyles)->generalize());data_->setArgument(7,attr);} } // Function implementations for IfcPresentationStyle boost::optional< std::string > Ifc2x3::IfcPresentationStyle::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -13531,14 +13531,14 @@ Ifc2x3::IfcPresentationStyle::IfcPresentationStyle(IfcEntityInstanceData* e) : I Ifc2x3::IfcPresentationStyle::IfcPresentationStyle(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcPresentationStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } } // Function implementations for IfcPresentationStyleAssignment -aggregate_of< ::Ifc2x3::IfcPresentationStyleSelect >::ptr Ifc2x3::IfcPresentationStyleAssignment::Styles() const { aggregate_of< ::Ifc2x3::IfcPresentationStyleSelect >::ptr v = *data_->getArgument(0); return v; } -void Ifc2x3::IfcPresentationStyleAssignment::setStyles(aggregate_of< ::Ifc2x3::IfcPresentationStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc2x3::IfcPresentationStyleSelect >::ptr Ifc2x3::IfcPresentationStyleAssignment::Styles() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc2x3::IfcPresentationStyleSelect >(); } +void Ifc2x3::IfcPresentationStyleAssignment::setStyles(aggregate_of< ::Ifc2x3::IfcPresentationStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc2x3::IfcPresentationStyleAssignment::declaration() const { return *IFC2X3_IfcPresentationStyleAssignment_type; } const IfcParse::entity& Ifc2x3::IfcPresentationStyleAssignment::Class() { return *IFC2X3_IfcPresentationStyleAssignment_type; } Ifc2x3::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC2X3_IfcPresentationStyleAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(aggregate_of< ::Ifc2x3::IfcPresentationStyleSelect >::ptr v1_Styles) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcPresentationStyleAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Styles));data_->setArgument(0,attr);} } +Ifc2x3::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(aggregate_of< ::Ifc2x3::IfcPresentationStyleSelect >::ptr v1_Styles) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcPresentationStyleAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Styles)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcProcedure std::string Ifc2x3::IfcProcedure::ProcedureID() const { std::string v = *data_->getArgument(5); return v; } @@ -13773,8 +13773,8 @@ Ifc2x3::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(Ifc Ifc2x3::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(::Ifc2x3::IfcProperty* v1_DependingProperty, ::Ifc2x3::IfcProperty* v2_DependantProperty, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_Expression) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcPropertyDependencyRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_DependingProperty));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_DependantProperty));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcPropertyEnumeratedValue -aggregate_of< ::Ifc2x3::IfcValue >::ptr Ifc2x3::IfcPropertyEnumeratedValue::EnumerationValues() const { aggregate_of< ::Ifc2x3::IfcValue >::ptr v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcPropertyEnumeratedValue::setEnumerationValues(aggregate_of< ::Ifc2x3::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc2x3::IfcValue >::ptr Ifc2x3::IfcPropertyEnumeratedValue::EnumerationValues() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc2x3::IfcValue >(); } +void Ifc2x3::IfcPropertyEnumeratedValue::setEnumerationValues(aggregate_of< ::Ifc2x3::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } ::Ifc2x3::IfcPropertyEnumeration* Ifc2x3::IfcPropertyEnumeratedValue::EnumerationReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcPropertyEnumeration>(true); } void Ifc2x3::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc2x3::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -13782,13 +13782,13 @@ void Ifc2x3::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc2x3::IfcPr const IfcParse::entity& Ifc2x3::IfcPropertyEnumeratedValue::declaration() const { return *IFC2X3_IfcPropertyEnumeratedValue_type; } const IfcParse::entity& Ifc2x3::IfcPropertyEnumeratedValue::Class() { return *IFC2X3_IfcPropertyEnumeratedValue_type; } Ifc2x3::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC2X3_IfcPropertyEnumeratedValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc2x3::IfcValue >::ptr v3_EnumerationValues, ::Ifc2x3::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcPropertyEnumeratedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_EnumerationValues));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EnumerationReference));data_->setArgument(3,attr);} } +Ifc2x3::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc2x3::IfcValue >::ptr v3_EnumerationValues, ::Ifc2x3::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcPropertyEnumeratedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_EnumerationValues)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EnumerationReference));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyEnumeration std::string Ifc2x3::IfcPropertyEnumeration::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc2x3::IfcPropertyEnumeration::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of< ::Ifc2x3::IfcValue >::ptr Ifc2x3::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of< ::Ifc2x3::IfcValue >::ptr v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcPropertyEnumeration::setEnumerationValues(aggregate_of< ::Ifc2x3::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc2x3::IfcValue >::ptr Ifc2x3::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc2x3::IfcValue >(); } +void Ifc2x3::IfcPropertyEnumeration::setEnumerationValues(aggregate_of< ::Ifc2x3::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } ::Ifc2x3::IfcUnit* Ifc2x3::IfcPropertyEnumeration::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcUnit>(true); } void Ifc2x3::IfcPropertyEnumeration::setUnit(::Ifc2x3::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -13796,11 +13796,11 @@ void Ifc2x3::IfcPropertyEnumeration::setUnit(::Ifc2x3::IfcUnit* v) { {IfcWrite:: const IfcParse::entity& Ifc2x3::IfcPropertyEnumeration::declaration() const { return *IFC2X3_IfcPropertyEnumeration_type; } const IfcParse::entity& Ifc2x3::IfcPropertyEnumeration::Class() { return *IFC2X3_IfcPropertyEnumeration_type; } Ifc2x3::IfcPropertyEnumeration::IfcPropertyEnumeration(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC2X3_IfcPropertyEnumeration_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc2x3::IfcValue >::ptr v2_EnumerationValues, ::Ifc2x3::IfcUnit* v3_Unit) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcPropertyEnumeration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EnumerationValues));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);} } +Ifc2x3::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc2x3::IfcValue >::ptr v2_EnumerationValues, ::Ifc2x3::IfcUnit* v3_Unit) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcPropertyEnumeration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EnumerationValues)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);} } // Function implementations for IfcPropertyListValue -aggregate_of< ::Ifc2x3::IfcValue >::ptr Ifc2x3::IfcPropertyListValue::ListValues() const { aggregate_of< ::Ifc2x3::IfcValue >::ptr v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcPropertyListValue::setListValues(aggregate_of< ::Ifc2x3::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc2x3::IfcValue >::ptr Ifc2x3::IfcPropertyListValue::ListValues() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc2x3::IfcValue >(); } +void Ifc2x3::IfcPropertyListValue::setListValues(aggregate_of< ::Ifc2x3::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } ::Ifc2x3::IfcUnit* Ifc2x3::IfcPropertyListValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcUnit>(true); } void Ifc2x3::IfcPropertyListValue::setUnit(::Ifc2x3::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -13808,7 +13808,7 @@ void Ifc2x3::IfcPropertyListValue::setUnit(::Ifc2x3::IfcUnit* v) { {IfcWrite::If const IfcParse::entity& Ifc2x3::IfcPropertyListValue::declaration() const { return *IFC2X3_IfcPropertyListValue_type; } const IfcParse::entity& Ifc2x3::IfcPropertyListValue::Class() { return *IFC2X3_IfcPropertyListValue_type; } Ifc2x3::IfcPropertyListValue::IfcPropertyListValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC2X3_IfcPropertyListValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc2x3::IfcValue >::ptr v3_ListValues, ::Ifc2x3::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcPropertyListValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ListValues));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } +Ifc2x3::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc2x3::IfcValue >::ptr v3_ListValues, ::Ifc2x3::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcPropertyListValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ListValues)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyReferenceValue boost::optional< std::string > Ifc2x3::IfcPropertyReferenceValue::UsageName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } @@ -13855,10 +13855,10 @@ Ifc2x3::IfcPropertySingleValue::IfcPropertySingleValue(IfcEntityInstanceData* e) Ifc2x3::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcValue* v3_NominalValue, ::Ifc2x3::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcPropertySingleValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_NominalValue));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyTableValue -aggregate_of< ::Ifc2x3::IfcValue >::ptr Ifc2x3::IfcPropertyTableValue::DefiningValues() const { aggregate_of< ::Ifc2x3::IfcValue >::ptr v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcPropertyTableValue::setDefiningValues(aggregate_of< ::Ifc2x3::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -aggregate_of< ::Ifc2x3::IfcValue >::ptr Ifc2x3::IfcPropertyTableValue::DefinedValues() const { aggregate_of< ::Ifc2x3::IfcValue >::ptr v = *data_->getArgument(3); return v; } -void Ifc2x3::IfcPropertyTableValue::setDefinedValues(aggregate_of< ::Ifc2x3::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +aggregate_of< ::Ifc2x3::IfcValue >::ptr Ifc2x3::IfcPropertyTableValue::DefiningValues() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc2x3::IfcValue >(); } +void Ifc2x3::IfcPropertyTableValue::setDefiningValues(aggregate_of< ::Ifc2x3::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } +aggregate_of< ::Ifc2x3::IfcValue >::ptr Ifc2x3::IfcPropertyTableValue::DefinedValues() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc2x3::IfcValue >(); } +void Ifc2x3::IfcPropertyTableValue::setDefinedValues(aggregate_of< ::Ifc2x3::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } boost::optional< std::string > Ifc2x3::IfcPropertyTableValue::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc2x3::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc2x3::IfcUnit* Ifc2x3::IfcPropertyTableValue::DefiningUnit() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcUnit>(true); } @@ -13870,7 +13870,7 @@ void Ifc2x3::IfcPropertyTableValue::setDefinedUnit(::Ifc2x3::IfcUnit* v) { {IfcW const IfcParse::entity& Ifc2x3::IfcPropertyTableValue::declaration() const { return *IFC2X3_IfcPropertyTableValue_type; } const IfcParse::entity& Ifc2x3::IfcPropertyTableValue::Class() { return *IFC2X3_IfcPropertyTableValue_type; } Ifc2x3::IfcPropertyTableValue::IfcPropertyTableValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC2X3_IfcPropertyTableValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc2x3::IfcValue >::ptr v3_DefiningValues, aggregate_of< ::Ifc2x3::IfcValue >::ptr v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc2x3::IfcUnit* v6_DefiningUnit, ::Ifc2x3::IfcUnit* v7_DefinedUnit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcPropertyTableValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_DefiningValues));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_DefinedValues));data_->setArgument(3,attr);} if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_DefiningUnit));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_DefinedUnit));data_->setArgument(6,attr);} } +Ifc2x3::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc2x3::IfcValue >::ptr v3_DefiningValues, aggregate_of< ::Ifc2x3::IfcValue >::ptr v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc2x3::IfcUnit* v6_DefiningUnit, ::Ifc2x3::IfcUnit* v7_DefinedUnit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcPropertyTableValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_DefiningValues)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_DefinedValues)->generalize());data_->setArgument(3,attr);} if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_DefiningUnit));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_DefinedUnit));data_->setArgument(6,attr);} } // Function implementations for IfcProtectiveDeviceType ::Ifc2x3::IfcProtectiveDeviceTypeEnum::Value Ifc2x3::IfcProtectiveDeviceType::PredefinedType() const { return ::Ifc2x3::IfcProtectiveDeviceTypeEnum::FromString(*data_->getArgument(9)); } @@ -13970,7 +13970,7 @@ Ifc2x3::IfcQuantityWeight::IfcQuantityWeight(std::string v1_Name, boost::optiona const IfcParse::entity& Ifc2x3::IfcRadiusDimension::declaration() const { return *IFC2X3_IfcRadiusDimension_type; } const IfcParse::entity& Ifc2x3::IfcRadiusDimension::Class() { return *IFC2X3_IfcRadiusDimension_type; } Ifc2x3::IfcRadiusDimension::IfcRadiusDimension(IfcEntityInstanceData* e) : IfcDimensionCurveDirectedCallout((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC2X3_IfcRadiusDimension_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcRadiusDimension::IfcRadiusDimension(aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v1_Contents) : IfcDimensionCurveDirectedCallout((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcRadiusDimension_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Contents));data_->setArgument(0,attr);} } +Ifc2x3::IfcRadiusDimension::IfcRadiusDimension(aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v1_Contents) : IfcDimensionCurveDirectedCallout((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcRadiusDimension_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Contents)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcRailing boost::optional< ::Ifc2x3::IfcRailingTypeEnum::Value > Ifc2x3::IfcRailing::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc2x3::IfcRailingTypeEnum::FromString(*data_->getArgument(8)); } @@ -15141,14 +15141,14 @@ Ifc2x3::IfcShapeRepresentation::IfcShapeRepresentation(IfcEntityInstanceData* e) Ifc2x3::IfcShapeRepresentation::IfcShapeRepresentation(::Ifc2x3::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc2x3::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcShapeRepresentation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ContextOfItems));data_->setArgument(0,attr);} if (v2_RepresentationIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_RepresentationIdentifier));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_RepresentationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_RepresentationType));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Items)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcShellBasedSurfaceModel -aggregate_of< ::Ifc2x3::IfcShell >::ptr Ifc2x3::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of< ::Ifc2x3::IfcShell >::ptr v = *data_->getArgument(0); return v; } -void Ifc2x3::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of< ::Ifc2x3::IfcShell >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc2x3::IfcShell >::ptr Ifc2x3::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc2x3::IfcShell >(); } +void Ifc2x3::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of< ::Ifc2x3::IfcShell >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc2x3::IfcShellBasedSurfaceModel::declaration() const { return *IFC2X3_IfcShellBasedSurfaceModel_type; } const IfcParse::entity& Ifc2x3::IfcShellBasedSurfaceModel::Class() { return *IFC2X3_IfcShellBasedSurfaceModel_type; } Ifc2x3::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC2X3_IfcShellBasedSurfaceModel_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc2x3::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcShellBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SbsmBoundary));data_->setArgument(0,attr);} } +Ifc2x3::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc2x3::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcShellBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SbsmBoundary)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcSimpleProperty @@ -15846,7 +15846,7 @@ Ifc2x3::IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(std const IfcParse::entity& Ifc2x3::IfcStructuredDimensionCallout::declaration() const { return *IFC2X3_IfcStructuredDimensionCallout_type; } const IfcParse::entity& Ifc2x3::IfcStructuredDimensionCallout::Class() { return *IFC2X3_IfcStructuredDimensionCallout_type; } Ifc2x3::IfcStructuredDimensionCallout::IfcStructuredDimensionCallout(IfcEntityInstanceData* e) : IfcDraughtingCallout((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC2X3_IfcStructuredDimensionCallout_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcStructuredDimensionCallout::IfcStructuredDimensionCallout(aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v1_Contents) : IfcDraughtingCallout((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcStructuredDimensionCallout_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Contents));data_->setArgument(0,attr);} } +Ifc2x3::IfcStructuredDimensionCallout::IfcStructuredDimensionCallout(aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v1_Contents) : IfcDraughtingCallout((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcStructuredDimensionCallout_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Contents)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcStyleModel @@ -15949,14 +15949,14 @@ Ifc2x3::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(::Ifc2x3::IfcProfileDef* // Function implementations for IfcSurfaceStyle ::Ifc2x3::IfcSurfaceSide::Value Ifc2x3::IfcSurfaceStyle::Side() const { return ::Ifc2x3::IfcSurfaceSide::FromString(*data_->getArgument(1)); } void Ifc2x3::IfcSurfaceStyle::setSide(::Ifc2x3::IfcSurfaceSide::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcSurfaceSide::ToString(v)));data_->setArgument(1,attr);} } -aggregate_of< ::Ifc2x3::IfcSurfaceStyleElementSelect >::ptr Ifc2x3::IfcSurfaceStyle::Styles() const { aggregate_of< ::Ifc2x3::IfcSurfaceStyleElementSelect >::ptr v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcSurfaceStyle::setStyles(aggregate_of< ::Ifc2x3::IfcSurfaceStyleElementSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc2x3::IfcSurfaceStyleElementSelect >::ptr Ifc2x3::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc2x3::IfcSurfaceStyleElementSelect >(); } +void Ifc2x3::IfcSurfaceStyle::setStyles(aggregate_of< ::Ifc2x3::IfcSurfaceStyleElementSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } const IfcParse::entity& Ifc2x3::IfcSurfaceStyle::declaration() const { return *IFC2X3_IfcSurfaceStyle_type; } const IfcParse::entity& Ifc2x3::IfcSurfaceStyle::Class() { return *IFC2X3_IfcSurfaceStyle_type; } Ifc2x3::IfcSurfaceStyle::IfcSurfaceStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC2X3_IfcSurfaceStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc2x3::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc2x3::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc2x3::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles));data_->setArgument(2,attr);} } +Ifc2x3::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc2x3::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc2x3::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc2x3::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles)->generalize());data_->setArgument(2,attr);} } // Function implementations for IfcSurfaceStyleLighting ::Ifc2x3::IfcColourRgb* Ifc2x3::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcColourRgb>(true); } @@ -16166,8 +16166,8 @@ Ifc2x3::IfcTable::IfcTable(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() Ifc2x3::IfcTable::IfcTable(std::string v1_Name, aggregate_of< ::Ifc2x3::IfcTableRow >::ptr v2_Rows) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcTable_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Rows)->generalize());data_->setArgument(1,attr);} } // Function implementations for IfcTableRow -aggregate_of< ::Ifc2x3::IfcValue >::ptr Ifc2x3::IfcTableRow::RowCells() const { aggregate_of< ::Ifc2x3::IfcValue >::ptr v = *data_->getArgument(0); return v; } -void Ifc2x3::IfcTableRow::setRowCells(aggregate_of< ::Ifc2x3::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc2x3::IfcValue >::ptr Ifc2x3::IfcTableRow::RowCells() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc2x3::IfcValue >(); } +void Ifc2x3::IfcTableRow::setRowCells(aggregate_of< ::Ifc2x3::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } bool Ifc2x3::IfcTableRow::IsHeading() const { bool v = *data_->getArgument(1); return v; } void Ifc2x3::IfcTableRow::setIsHeading(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -16176,7 +16176,7 @@ void Ifc2x3::IfcTableRow::setIsHeading(bool v) { {IfcWrite::IfcWriteArgument* at const IfcParse::entity& Ifc2x3::IfcTableRow::declaration() const { return *IFC2X3_IfcTableRow_type; } const IfcParse::entity& Ifc2x3::IfcTableRow::Class() { return *IFC2X3_IfcTableRow_type; } Ifc2x3::IfcTableRow::IfcTableRow(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC2X3_IfcTableRow_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcTableRow::IfcTableRow(aggregate_of< ::Ifc2x3::IfcValue >::ptr v1_RowCells, bool v2_IsHeading) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcTableRow_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_RowCells));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_IsHeading));data_->setArgument(1,attr);} } +Ifc2x3::IfcTableRow::IfcTableRow(aggregate_of< ::Ifc2x3::IfcValue >::ptr v1_RowCells, bool v2_IsHeading) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcTableRow_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_RowCells)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_IsHeading));data_->setArgument(1,attr);} } // Function implementations for IfcTankType ::Ifc2x3::IfcTankTypeEnum::Value Ifc2x3::IfcTankType::PredefinedType() const { return ::Ifc2x3::IfcTankTypeEnum::FromString(*data_->getArgument(9)); } @@ -16388,14 +16388,14 @@ Ifc2x3::IfcTextureCoordinate::IfcTextureCoordinate() : IfcUtil::IfcBaseEntity() // Function implementations for IfcTextureCoordinateGenerator std::string Ifc2x3::IfcTextureCoordinateGenerator::Mode() const { std::string v = *data_->getArgument(0); return v; } void Ifc2x3::IfcTextureCoordinateGenerator::setMode(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of< ::Ifc2x3::IfcSimpleValue >::ptr Ifc2x3::IfcTextureCoordinateGenerator::Parameter() const { aggregate_of< ::Ifc2x3::IfcSimpleValue >::ptr v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcTextureCoordinateGenerator::setParameter(aggregate_of< ::Ifc2x3::IfcSimpleValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc2x3::IfcSimpleValue >::ptr Ifc2x3::IfcTextureCoordinateGenerator::Parameter() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc2x3::IfcSimpleValue >(); } +void Ifc2x3::IfcTextureCoordinateGenerator::setParameter(aggregate_of< ::Ifc2x3::IfcSimpleValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } const IfcParse::entity& Ifc2x3::IfcTextureCoordinateGenerator::declaration() const { return *IFC2X3_IfcTextureCoordinateGenerator_type; } const IfcParse::entity& Ifc2x3::IfcTextureCoordinateGenerator::Class() { return *IFC2X3_IfcTextureCoordinateGenerator_type; } Ifc2x3::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(IfcEntityInstanceData* e) : IfcTextureCoordinate((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC2X3_IfcTextureCoordinateGenerator_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(std::string v1_Mode, aggregate_of< ::Ifc2x3::IfcSimpleValue >::ptr v2_Parameter) : IfcTextureCoordinate((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcTextureCoordinateGenerator_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Mode));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Parameter));data_->setArgument(1,attr);} } +Ifc2x3::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(std::string v1_Mode, aggregate_of< ::Ifc2x3::IfcSimpleValue >::ptr v2_Parameter) : IfcTextureCoordinate((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcTextureCoordinateGenerator_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Mode));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Parameter)->generalize());data_->setArgument(1,attr);} } // Function implementations for IfcTextureMap aggregate_of< ::Ifc2x3::IfcVertexBasedTextureMap >::ptr Ifc2x3::IfcTextureMap::TextureMaps() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc2x3::IfcVertexBasedTextureMap >(); } @@ -16461,18 +16461,18 @@ Ifc2x3::IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std:: // Function implementations for IfcTimeSeriesReferenceRelationship ::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcTimeSeriesReferenceRelationship::ReferencedTimeSeries() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcTimeSeries>(true); } void Ifc2x3::IfcTimeSeriesReferenceRelationship::setReferencedTimeSeries(::Ifc2x3::IfcTimeSeries* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of< ::Ifc2x3::IfcDocumentSelect >::ptr Ifc2x3::IfcTimeSeriesReferenceRelationship::TimeSeriesReferences() const { aggregate_of< ::Ifc2x3::IfcDocumentSelect >::ptr v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcTimeSeriesReferenceRelationship::setTimeSeriesReferences(aggregate_of< ::Ifc2x3::IfcDocumentSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc2x3::IfcDocumentSelect >::ptr Ifc2x3::IfcTimeSeriesReferenceRelationship::TimeSeriesReferences() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc2x3::IfcDocumentSelect >(); } +void Ifc2x3::IfcTimeSeriesReferenceRelationship::setTimeSeriesReferences(aggregate_of< ::Ifc2x3::IfcDocumentSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } const IfcParse::entity& Ifc2x3::IfcTimeSeriesReferenceRelationship::declaration() const { return *IFC2X3_IfcTimeSeriesReferenceRelationship_type; } const IfcParse::entity& Ifc2x3::IfcTimeSeriesReferenceRelationship::Class() { return *IFC2X3_IfcTimeSeriesReferenceRelationship_type; } Ifc2x3::IfcTimeSeriesReferenceRelationship::IfcTimeSeriesReferenceRelationship(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC2X3_IfcTimeSeriesReferenceRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcTimeSeriesReferenceRelationship::IfcTimeSeriesReferenceRelationship(::Ifc2x3::IfcTimeSeries* v1_ReferencedTimeSeries, aggregate_of< ::Ifc2x3::IfcDocumentSelect >::ptr v2_TimeSeriesReferences) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcTimeSeriesReferenceRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ReferencedTimeSeries));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_TimeSeriesReferences));data_->setArgument(1,attr);} } +Ifc2x3::IfcTimeSeriesReferenceRelationship::IfcTimeSeriesReferenceRelationship(::Ifc2x3::IfcTimeSeries* v1_ReferencedTimeSeries, aggregate_of< ::Ifc2x3::IfcDocumentSelect >::ptr v2_TimeSeriesReferences) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcTimeSeriesReferenceRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ReferencedTimeSeries));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_TimeSeriesReferences)->generalize());data_->setArgument(1,attr);} } // Function implementations for IfcTimeSeriesSchedule -boost::optional< aggregate_of< ::Ifc2x3::IfcDateTimeSelect >::ptr > Ifc2x3::IfcTimeSeriesSchedule::ApplicableDates() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } aggregate_of< ::Ifc2x3::IfcDateTimeSelect >::ptr v = *data_->getArgument(5); return v; } -void Ifc2x3::IfcTimeSeriesSchedule::setApplicableDates(boost::optional< aggregate_of< ::Ifc2x3::IfcDateTimeSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } +boost::optional< aggregate_of< ::Ifc2x3::IfcDateTimeSelect >::ptr > Ifc2x3::IfcTimeSeriesSchedule::ApplicableDates() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc2x3::IfcDateTimeSelect >(); } +void Ifc2x3::IfcTimeSeriesSchedule::setApplicableDates(boost::optional< aggregate_of< ::Ifc2x3::IfcDateTimeSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(5,attr);} } ::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::Value Ifc2x3::IfcTimeSeriesSchedule::TimeSeriesScheduleType() const { return ::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::FromString(*data_->getArgument(6)); } void Ifc2x3::IfcTimeSeriesSchedule::setTimeSeriesScheduleType(::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::ToString(v)));data_->setArgument(6,attr);} } ::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcTimeSeriesSchedule::TimeSeries() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc2x3::IfcTimeSeries>(true); } @@ -16482,17 +16482,17 @@ void Ifc2x3::IfcTimeSeriesSchedule::setTimeSeries(::Ifc2x3::IfcTimeSeries* v) { const IfcParse::entity& Ifc2x3::IfcTimeSeriesSchedule::declaration() const { return *IFC2X3_IfcTimeSeriesSchedule_type; } const IfcParse::entity& Ifc2x3::IfcTimeSeriesSchedule::Class() { return *IFC2X3_IfcTimeSeriesSchedule_type; } Ifc2x3::IfcTimeSeriesSchedule::IfcTimeSeriesSchedule(IfcEntityInstanceData* e) : IfcControl((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC2X3_IfcTimeSeriesSchedule_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcTimeSeriesSchedule::IfcTimeSeriesSchedule(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< aggregate_of< ::Ifc2x3::IfcDateTimeSelect >::ptr > v6_ApplicableDates, ::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::Value v7_TimeSeriesScheduleType, ::Ifc2x3::IfcTimeSeries* v8_TimeSeries) : IfcControl((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcTimeSeriesSchedule_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_ApplicableDates) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_ApplicableDates));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v7_TimeSeriesScheduleType,::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::ToString(v7_TimeSeriesScheduleType))));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_TimeSeries));data_->setArgument(7,attr);} } +Ifc2x3::IfcTimeSeriesSchedule::IfcTimeSeriesSchedule(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< aggregate_of< ::Ifc2x3::IfcDateTimeSelect >::ptr > v6_ApplicableDates, ::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::Value v7_TimeSeriesScheduleType, ::Ifc2x3::IfcTimeSeries* v8_TimeSeries) : IfcControl((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcTimeSeriesSchedule_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_ApplicableDates) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_ApplicableDates)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v7_TimeSeriesScheduleType,::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::ToString(v7_TimeSeriesScheduleType))));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_TimeSeries));data_->setArgument(7,attr);} } // Function implementations for IfcTimeSeriesValue -aggregate_of< ::Ifc2x3::IfcValue >::ptr Ifc2x3::IfcTimeSeriesValue::ListValues() const { aggregate_of< ::Ifc2x3::IfcValue >::ptr v = *data_->getArgument(0); return v; } -void Ifc2x3::IfcTimeSeriesValue::setListValues(aggregate_of< ::Ifc2x3::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc2x3::IfcValue >::ptr Ifc2x3::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc2x3::IfcValue >(); } +void Ifc2x3::IfcTimeSeriesValue::setListValues(aggregate_of< ::Ifc2x3::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc2x3::IfcTimeSeriesValue::declaration() const { return *IFC2X3_IfcTimeSeriesValue_type; } const IfcParse::entity& Ifc2x3::IfcTimeSeriesValue::Class() { return *IFC2X3_IfcTimeSeriesValue_type; } Ifc2x3::IfcTimeSeriesValue::IfcTimeSeriesValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC2X3_IfcTimeSeriesValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc2x3::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ListValues));data_->setArgument(0,attr);} } +Ifc2x3::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc2x3::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ListValues)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcTopologicalRepresentationItem @@ -16563,10 +16563,10 @@ Ifc2x3::IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(::Ifc2x3::IfcProfileTypeE // Function implementations for IfcTrimmedCurve ::Ifc2x3::IfcCurve* Ifc2x3::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcCurve>(true); } void Ifc2x3::IfcTrimmedCurve::setBasisCurve(::Ifc2x3::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of< ::Ifc2x3::IfcTrimmingSelect >::ptr Ifc2x3::IfcTrimmedCurve::Trim1() const { aggregate_of< ::Ifc2x3::IfcTrimmingSelect >::ptr v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcTrimmedCurve::setTrim1(aggregate_of< ::Ifc2x3::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -aggregate_of< ::Ifc2x3::IfcTrimmingSelect >::ptr Ifc2x3::IfcTrimmedCurve::Trim2() const { aggregate_of< ::Ifc2x3::IfcTrimmingSelect >::ptr v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcTrimmedCurve::setTrim2(aggregate_of< ::Ifc2x3::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc2x3::IfcTrimmingSelect >::ptr Ifc2x3::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc2x3::IfcTrimmingSelect >(); } +void Ifc2x3::IfcTrimmedCurve::setTrim1(aggregate_of< ::Ifc2x3::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } +aggregate_of< ::Ifc2x3::IfcTrimmingSelect >::ptr Ifc2x3::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc2x3::IfcTrimmingSelect >(); } +void Ifc2x3::IfcTrimmedCurve::setTrim2(aggregate_of< ::Ifc2x3::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } bool Ifc2x3::IfcTrimmedCurve::SenseAgreement() const { bool v = *data_->getArgument(3); return v; } void Ifc2x3::IfcTrimmedCurve::setSenseAgreement(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc2x3::IfcTrimmingPreference::Value Ifc2x3::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc2x3::IfcTrimmingPreference::FromString(*data_->getArgument(4)); } @@ -16576,7 +16576,7 @@ void Ifc2x3::IfcTrimmedCurve::setMasterRepresentation(::Ifc2x3::IfcTrimmingPrefe const IfcParse::entity& Ifc2x3::IfcTrimmedCurve::declaration() const { return *IFC2X3_IfcTrimmedCurve_type; } const IfcParse::entity& Ifc2x3::IfcTrimmedCurve::Class() { return *IFC2X3_IfcTrimmedCurve_type; } Ifc2x3::IfcTrimmedCurve::IfcTrimmedCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC2X3_IfcTrimmedCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc2x3::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc2x3::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc2x3::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc2x3::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcTrimmedCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Trim1));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Trim2));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SenseAgreement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_MasterRepresentation,::Ifc2x3::IfcTrimmingPreference::ToString(v5_MasterRepresentation))));data_->setArgument(4,attr);} } +Ifc2x3::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc2x3::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc2x3::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc2x3::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc2x3::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcTrimmedCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Trim1)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Trim2)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SenseAgreement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_MasterRepresentation,::Ifc2x3::IfcTrimmingPreference::ToString(v5_MasterRepresentation))));data_->setArgument(4,attr);} } // Function implementations for IfcTubeBundleType ::Ifc2x3::IfcTubeBundleTypeEnum::Value Ifc2x3::IfcTubeBundleType::PredefinedType() const { return ::Ifc2x3::IfcTubeBundleTypeEnum::FromString(*data_->getArgument(9)); } @@ -16648,14 +16648,14 @@ Ifc2x3::IfcUShapeProfileDef::IfcUShapeProfileDef(IfcEntityInstanceData* e) : Ifc Ifc2x3::IfcUShapeProfileDef::IfcUShapeProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::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((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcUShapeProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc2x3::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_FlangeWidth));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_WebThickness));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_FlangeThickness));data_->setArgument(6,attr);} if (v8_FilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_FilletRadius));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_EdgeRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_EdgeRadius));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_FlangeSlope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_FlangeSlope));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CentreOfGravityInX) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CentreOfGravityInX));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } // Function implementations for IfcUnitAssignment -aggregate_of< ::Ifc2x3::IfcUnit >::ptr Ifc2x3::IfcUnitAssignment::Units() const { aggregate_of< ::Ifc2x3::IfcUnit >::ptr v = *data_->getArgument(0); return v; } -void Ifc2x3::IfcUnitAssignment::setUnits(aggregate_of< ::Ifc2x3::IfcUnit >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc2x3::IfcUnit >::ptr Ifc2x3::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc2x3::IfcUnit >(); } +void Ifc2x3::IfcUnitAssignment::setUnits(aggregate_of< ::Ifc2x3::IfcUnit >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc2x3::IfcUnitAssignment::declaration() const { return *IFC2X3_IfcUnitAssignment_type; } const IfcParse::entity& Ifc2x3::IfcUnitAssignment::Class() { return *IFC2X3_IfcUnitAssignment_type; } Ifc2x3::IfcUnitAssignment::IfcUnitAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC2X3_IfcUnitAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc2x3::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc2x3::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcUnitAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Units));data_->setArgument(0,attr);} } +Ifc2x3::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc2x3::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcUnitAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Units)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcUnitaryEquipmentType ::Ifc2x3::IfcUnitaryEquipmentTypeEnum::Value Ifc2x3::IfcUnitaryEquipmentType::PredefinedType() const { return ::Ifc2x3::IfcUnitaryEquipmentTypeEnum::FromString(*data_->getArgument(9)); } diff --git a/src/ifcparse/Ifc4.cpp b/src/ifcparse/Ifc4.cpp index 2352139ac0..49d13fd375 100644 --- a/src/ifcparse/Ifc4.cpp +++ b/src/ifcparse/Ifc4.cpp @@ -13335,8 +13335,8 @@ boost::optional< std::string > Ifc4::IfcDocumentInformation::Revision() const { void Ifc4::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4::IfcActorSelect* Ifc4::IfcDocumentInformation::DocumentOwner() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4::IfcActorSelect>(true); } void Ifc4::IfcDocumentInformation::setDocumentOwner(::Ifc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -boost::optional< aggregate_of< ::Ifc4::IfcActorSelect >::ptr > Ifc4::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of< ::Ifc4::IfcActorSelect >::ptr v = *data_->getArgument(9); return v; } -void Ifc4::IfcDocumentInformation::setEditors(boost::optional< aggregate_of< ::Ifc4::IfcActorSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } +boost::optional< aggregate_of< ::Ifc4::IfcActorSelect >::ptr > Ifc4::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc4::IfcActorSelect >(); } +void Ifc4::IfcDocumentInformation::setEditors(boost::optional< aggregate_of< ::Ifc4::IfcActorSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4::IfcDocumentInformation::CreationTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } void Ifc4::IfcDocumentInformation::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4::IfcDocumentInformation::LastRevisionTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } @@ -13360,7 +13360,7 @@ void Ifc4::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4::IfcDocumen const IfcParse::entity& Ifc4::IfcDocumentInformation::declaration() const { return *IFC4_IfcDocumentInformation_type; } const IfcParse::entity& Ifc4::IfcDocumentInformation::Class() { return *IFC4_IfcDocumentInformation_type; } Ifc4::IfcDocumentInformation::IfcDocumentInformation(IfcEntityInstanceData* e) : IfcExternalInformation((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcDocumentInformation_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::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, ::Ifc4::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4::IfcActorSelect >::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< ::Ifc4::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Identification));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Location));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CreationTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LastRevisionTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LastRevisionTime));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ElectronicFormat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ElectronicFormat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ValidFrom) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ValidFrom));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ValidUntil) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ValidUntil));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc4::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc4::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } +Ifc4::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, ::Ifc4::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4::IfcActorSelect >::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< ::Ifc4::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Identification));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Location));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CreationTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LastRevisionTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LastRevisionTime));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ElectronicFormat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ElectronicFormat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ValidFrom) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ValidFrom));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ValidUntil) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ValidUntil));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc4::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc4::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } // Function implementations for IfcDocumentInformationRelationship ::Ifc4::IfcDocumentInformation* Ifc4::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcDocumentInformation>(true); } @@ -14007,14 +14007,14 @@ Ifc4::IfcExternalReference::IfcExternalReference(boost::optional< std::string > // Function implementations for IfcExternalReferenceRelationship ::Ifc4::IfcExternalReference* Ifc4::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcExternalReference>(true); } void Ifc4::IfcExternalReferenceRelationship::setRelatingReference(::Ifc4::IfcExternalReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr Ifc4::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr v = *data_->getArgument(3); return v; } -void Ifc4::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr Ifc4::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4::IfcResourceObjectSelect >(); } +void Ifc4::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcExternalReferenceRelationship::declaration() const { return *IFC4_IfcExternalReferenceRelationship_type; } const IfcParse::entity& Ifc4::IfcExternalReferenceRelationship::Class() { return *IFC4_IfcExternalReferenceRelationship_type; } Ifc4::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcExternalReferenceRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcExternalReferenceRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingReference));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } +Ifc4::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcExternalReferenceRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingReference));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcExternalSpatialElement boost::optional< ::Ifc4::IfcExternalSpatialElementTypeEnum::Value > Ifc4::IfcExternalSpatialElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcExternalSpatialElementTypeEnum::FromString(*data_->getArgument(8)); } @@ -14239,8 +14239,8 @@ Ifc4::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcEntityInstan Ifc4::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFeatureElementSubtraction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcFillAreaStyle -aggregate_of< ::Ifc4::IfcFillStyleSelect >::ptr Ifc4::IfcFillAreaStyle::FillStyles() const { aggregate_of< ::Ifc4::IfcFillStyleSelect >::ptr v = *data_->getArgument(1); return v; } -void Ifc4::IfcFillAreaStyle::setFillStyles(aggregate_of< ::Ifc4::IfcFillStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4::IfcFillStyleSelect >::ptr Ifc4::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4::IfcFillStyleSelect >(); } +void Ifc4::IfcFillAreaStyle::setFillStyles(aggregate_of< ::Ifc4::IfcFillStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } boost::optional< bool > Ifc4::IfcFillAreaStyle::ModelorDraughting() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } void Ifc4::IfcFillAreaStyle::setModelorDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } @@ -14248,7 +14248,7 @@ void Ifc4::IfcFillAreaStyle::setModelorDraughting(boost::optional< bool > v) { { const IfcParse::entity& Ifc4::IfcFillAreaStyle::declaration() const { return *IFC4_IfcFillAreaStyle_type; } const IfcParse::entity& Ifc4::IfcFillAreaStyle::Class() { return *IFC4_IfcFillAreaStyle_type; } Ifc4::IfcFillAreaStyle::IfcFillAreaStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFillAreaStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelorDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles));data_->setArgument(1,attr);} if (v3_ModelorDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ModelorDraughting));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelorDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles)->generalize());data_->setArgument(1,attr);} if (v3_ModelorDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ModelorDraughting));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcFillAreaStyleHatching ::Ifc4::IfcCurveStyle* Ifc4::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCurveStyle>(true); } @@ -14574,7 +14574,7 @@ Ifc4::IfcGeographicElementType::IfcGeographicElementType(std::string v1_GlobalId const IfcParse::entity& Ifc4::IfcGeometricCurveSet::declaration() const { return *IFC4_IfcGeometricCurveSet_type; } const IfcParse::entity& Ifc4::IfcGeometricCurveSet::Class() { return *IFC4_IfcGeometricCurveSet_type; } Ifc4::IfcGeometricCurveSet::IfcGeometricCurveSet(IfcEntityInstanceData* e) : IfcGeometricSet((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcGeometricCurveSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcGeometricCurveSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } +Ifc4::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcGeometricCurveSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcGeometricRepresentationContext int Ifc4::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = *data_->getArgument(2); return v; } @@ -14619,14 +14619,14 @@ Ifc4::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext Ifc4::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, ::Ifc4::IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, ::Ifc4::IfcGeometricProjectionEnum::Value v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcGeometricRepresentationSubContext_type); if (v1_ContextIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_ContextIdentifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_ContextType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ContextType));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ParentContext));data_->setArgument(6,attr);} if (v8_TargetScale) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_TargetScale));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_TargetView,::Ifc4::IfcGeometricProjectionEnum::ToString(v9_TargetView))));data_->setArgument(8,attr);} if (v10_UserDefinedTargetView) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_UserDefinedTargetView));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcGeometricSet -aggregate_of< ::Ifc4::IfcGeometricSetSelect >::ptr Ifc4::IfcGeometricSet::Elements() const { aggregate_of< ::Ifc4::IfcGeometricSetSelect >::ptr v = *data_->getArgument(0); return v; } -void Ifc4::IfcGeometricSet::setElements(aggregate_of< ::Ifc4::IfcGeometricSetSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4::IfcGeometricSetSelect >::ptr Ifc4::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4::IfcGeometricSetSelect >(); } +void Ifc4::IfcGeometricSet::setElements(aggregate_of< ::Ifc4::IfcGeometricSetSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcGeometricSet::declaration() const { return *IFC4_IfcGeometricSet_type; } const IfcParse::entity& Ifc4::IfcGeometricSet::Class() { return *IFC4_IfcGeometricSet_type; } Ifc4::IfcGeometricSet::IfcGeometricSet(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcGeometricSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcGeometricSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } +Ifc4::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcGeometricSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcGrid aggregate_of< ::Ifc4::IfcGridAxis >::ptr Ifc4::IfcGrid::UAxes() const { aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4::IfcGridAxis >(); } @@ -14787,8 +14787,8 @@ Ifc4::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4::IfcTessellatedFaceSet* v1 // Function implementations for IfcIndexedPolyCurve ::Ifc4::IfcCartesianPointList* Ifc4::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCartesianPointList>(true); } void Ifc4::IfcIndexedPolyCurve::setPoints(::Ifc4::IfcCartesianPointList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -boost::optional< aggregate_of< ::Ifc4::IfcSegmentIndexSelect >::ptr > Ifc4::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of< ::Ifc4::IfcSegmentIndexSelect >::ptr v = *data_->getArgument(1); return v; } -void Ifc4::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of< ::Ifc4::IfcSegmentIndexSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } +boost::optional< aggregate_of< ::Ifc4::IfcSegmentIndexSelect >::ptr > Ifc4::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4::IfcSegmentIndexSelect >(); } +void Ifc4::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of< ::Ifc4::IfcSegmentIndexSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(1,attr);} } boost::optional< bool > Ifc4::IfcIndexedPolyCurve::SelfIntersect() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } void Ifc4::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } @@ -14796,7 +14796,7 @@ void Ifc4::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { {I const IfcParse::entity& Ifc4::IfcIndexedPolyCurve::declaration() const { return *IFC4_IfcIndexedPolyCurve_type; } const IfcParse::entity& Ifc4::IfcIndexedPolyCurve::Class() { return *IFC4_IfcIndexedPolyCurve_type; } Ifc4::IfcIndexedPolyCurve::IfcIndexedPolyCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcIndexedPolyCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcIndexedPolyCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Points));data_->setArgument(0,attr);} if (v2_Segments) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Segments));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_SelfIntersect) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_SelfIntersect));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcIndexedPolyCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Points));data_->setArgument(0,attr);} if (v2_Segments) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Segments)->generalize());data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_SelfIntersect) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_SelfIntersect));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcIndexedPolygonalFace std::vector< int > /*[3:?]*/ Ifc4::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = *data_->getArgument(0); return v; } @@ -14902,14 +14902,14 @@ Ifc4::IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, boost: // Function implementations for IfcIrregularTimeSeriesValue std::string Ifc4::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcIrregularTimeSeriesValue::setTimeStamp(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of< ::Ifc4::IfcValue >::ptr Ifc4::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of< ::Ifc4::IfcValue >::ptr v = *data_->getArgument(1); return v; } -void Ifc4::IfcIrregularTimeSeriesValue::setListValues(aggregate_of< ::Ifc4::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4::IfcValue >::ptr Ifc4::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4::IfcValue >(); } +void Ifc4::IfcIrregularTimeSeriesValue::setListValues(aggregate_of< ::Ifc4::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcIrregularTimeSeriesValue::declaration() const { return *IFC4_IfcIrregularTimeSeriesValue_type; } const IfcParse::entity& Ifc4::IfcIrregularTimeSeriesValue::Class() { return *IFC4_IfcIrregularTimeSeriesValue_type; } Ifc4::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcIrregularTimeSeriesValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcIrregularTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TimeStamp));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ListValues));data_->setArgument(1,attr);} } +Ifc4::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcIrregularTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TimeStamp));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ListValues)->generalize());data_->setArgument(1,attr);} } // Function implementations for IfcJunctionBox boost::optional< ::Ifc4::IfcJunctionBoxTypeEnum::Value > Ifc4::IfcJunctionBox::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcJunctionBoxTypeEnum::FromString(*data_->getArgument(8)); } @@ -15266,8 +15266,8 @@ Ifc4::IfcMaterial::IfcMaterial(IfcEntityInstanceData* e) : IfcMaterialDefinition Ifc4::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_Category) : IfcMaterialDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Category) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Category));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcMaterialClassificationRelationship -aggregate_of< ::Ifc4::IfcClassificationSelect >::ptr Ifc4::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of< ::Ifc4::IfcClassificationSelect >::ptr v = *data_->getArgument(0); return v; } -void Ifc4::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of< ::Ifc4::IfcClassificationSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4::IfcClassificationSelect >::ptr Ifc4::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4::IfcClassificationSelect >(); } +void Ifc4::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of< ::Ifc4::IfcClassificationSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } ::Ifc4::IfcMaterial* Ifc4::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcMaterial>(true); } void Ifc4::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc4::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -15275,7 +15275,7 @@ void Ifc4::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc4:: const IfcParse::entity& Ifc4::IfcMaterialClassificationRelationship::declaration() const { return *IFC4_IfcMaterialClassificationRelationship_type; } const IfcParse::entity& Ifc4::IfcMaterialClassificationRelationship::Class() { return *IFC4_IfcMaterialClassificationRelationship_type; } Ifc4::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcMaterialClassificationRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcMaterialClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialClassifications));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ClassifiedMaterial));data_->setArgument(1,attr);} } +Ifc4::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcMaterialClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialClassifications)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ClassifiedMaterial));data_->setArgument(1,attr);} } // Function implementations for IfcMaterialConstituent boost::optional< std::string > Ifc4::IfcMaterialConstituent::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -16364,8 +16364,8 @@ std::string Ifc4::IfcPresentationLayerAssignment::Name() const { std::string v void Ifc4::IfcPresentationLayerAssignment::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcPresentationLayerAssignment::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } -aggregate_of< ::Ifc4::IfcLayeredItem >::ptr Ifc4::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of< ::Ifc4::IfcLayeredItem >::ptr v = *data_->getArgument(2); return v; } -void Ifc4::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of< ::Ifc4::IfcLayeredItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4::IfcLayeredItem >::ptr Ifc4::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4::IfcLayeredItem >(); } +void Ifc4::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of< ::Ifc4::IfcLayeredItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4::IfcPresentationLayerAssignment::Identifier() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } @@ -16373,7 +16373,7 @@ void Ifc4::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::s const IfcParse::entity& Ifc4::IfcPresentationLayerAssignment::declaration() const { return *IFC4_IfcPresentationLayerAssignment_type; } const IfcParse::entity& Ifc4::IfcPresentationLayerAssignment::Class() { return *IFC4_IfcPresentationLayerAssignment_type; } Ifc4::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcPresentationLayerAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcPresentationLayerAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } +Ifc4::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcPresentationLayerAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems)->generalize());data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcPresentationLayerWithStyle boost::logic::tribool Ifc4::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = *data_->getArgument(4); return v; } @@ -16389,7 +16389,7 @@ void Ifc4::IfcPresentationLayerWithStyle::setLayerStyles(aggregate_of< ::Ifc4::I const IfcParse::entity& Ifc4::IfcPresentationLayerWithStyle::declaration() const { return *IFC4_IfcPresentationLayerWithStyle_type; } const IfcParse::entity& Ifc4::IfcPresentationLayerWithStyle::Class() { return *IFC4_IfcPresentationLayerWithStyle_type; } Ifc4::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcEntityInstanceData* e) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPresentationLayerWithStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPresentationLayerWithStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_LayerOn));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LayerFrozen));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LayerBlocked));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LayerStyles)->generalize());data_->setArgument(7,attr);} } +Ifc4::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPresentationLayerWithStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems)->generalize());data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_LayerOn));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LayerFrozen));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LayerBlocked));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LayerStyles)->generalize());data_->setArgument(7,attr);} } // Function implementations for IfcPresentationStyle boost::optional< std::string > Ifc4::IfcPresentationStyle::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -16402,14 +16402,14 @@ Ifc4::IfcPresentationStyle::IfcPresentationStyle(IfcEntityInstanceData* e) : Ifc Ifc4::IfcPresentationStyle::IfcPresentationStyle(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcPresentationStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } } // Function implementations for IfcPresentationStyleAssignment -aggregate_of< ::Ifc4::IfcPresentationStyleSelect >::ptr Ifc4::IfcPresentationStyleAssignment::Styles() const { aggregate_of< ::Ifc4::IfcPresentationStyleSelect >::ptr v = *data_->getArgument(0); return v; } -void Ifc4::IfcPresentationStyleAssignment::setStyles(aggregate_of< ::Ifc4::IfcPresentationStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4::IfcPresentationStyleSelect >::ptr Ifc4::IfcPresentationStyleAssignment::Styles() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4::IfcPresentationStyleSelect >(); } +void Ifc4::IfcPresentationStyleAssignment::setStyles(aggregate_of< ::Ifc4::IfcPresentationStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcPresentationStyleAssignment::declaration() const { return *IFC4_IfcPresentationStyleAssignment_type; } const IfcParse::entity& Ifc4::IfcPresentationStyleAssignment::Class() { return *IFC4_IfcPresentationStyleAssignment_type; } Ifc4::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcPresentationStyleAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(aggregate_of< ::Ifc4::IfcPresentationStyleSelect >::ptr v1_Styles) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcPresentationStyleAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Styles));data_->setArgument(0,attr);} } +Ifc4::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(aggregate_of< ::Ifc4::IfcPresentationStyleSelect >::ptr v1_Styles) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcPresentationStyleAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Styles)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcProcedure boost::optional< ::Ifc4::IfcProcedureTypeEnum::Value > Ifc4::IfcProcedure::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4::IfcProcedureTypeEnum::FromString(*data_->getArgument(7)); } @@ -16629,8 +16629,8 @@ Ifc4::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(IfcEn Ifc4::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcProperty* v3_DependingProperty, ::Ifc4::IfcProperty* v4_DependantProperty, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPropertyDependencyRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_DependingProperty));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_DependantProperty));data_->setArgument(3,attr);} if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcPropertyEnumeratedValue -boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > Ifc4::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4::IfcValue >::ptr v = *data_->getArgument(2); return v; } -void Ifc4::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > Ifc4::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4::IfcValue >(); } +void Ifc4::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } ::Ifc4::IfcPropertyEnumeration* Ifc4::IfcPropertyEnumeratedValue::EnumerationReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcPropertyEnumeration>(true); } void Ifc4::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -16638,13 +16638,13 @@ void Ifc4::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4::IfcProper const IfcParse::entity& Ifc4::IfcPropertyEnumeratedValue::declaration() const { return *IFC4_IfcPropertyEnumeratedValue_type; } const IfcParse::entity& Ifc4::IfcPropertyEnumeratedValue::Class() { return *IFC4_IfcPropertyEnumeratedValue_type; } Ifc4::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPropertyEnumeratedValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPropertyEnumeratedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EnumerationValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EnumerationValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EnumerationReference));data_->setArgument(3,attr);} } +Ifc4::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPropertyEnumeratedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EnumerationValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EnumerationValues)->generalize());data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EnumerationReference));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyEnumeration std::string Ifc4::IfcPropertyEnumeration::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcPropertyEnumeration::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of< ::Ifc4::IfcValue >::ptr Ifc4::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of< ::Ifc4::IfcValue >::ptr v = *data_->getArgument(1); return v; } -void Ifc4::IfcPropertyEnumeration::setEnumerationValues(aggregate_of< ::Ifc4::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4::IfcValue >::ptr Ifc4::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4::IfcValue >(); } +void Ifc4::IfcPropertyEnumeration::setEnumerationValues(aggregate_of< ::Ifc4::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } ::Ifc4::IfcUnit* Ifc4::IfcPropertyEnumeration::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcUnit>(true); } void Ifc4::IfcPropertyEnumeration::setUnit(::Ifc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -16652,11 +16652,11 @@ void Ifc4::IfcPropertyEnumeration::setUnit(::Ifc4::IfcUnit* v) { {IfcWrite::IfcW const IfcParse::entity& Ifc4::IfcPropertyEnumeration::declaration() const { return *IFC4_IfcPropertyEnumeration_type; } const IfcParse::entity& Ifc4::IfcPropertyEnumeration::Class() { return *IFC4_IfcPropertyEnumeration_type; } Ifc4::IfcPropertyEnumeration::IfcPropertyEnumeration(IfcEntityInstanceData* e) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPropertyEnumeration_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4::IfcValue >::ptr v2_EnumerationValues, ::Ifc4::IfcUnit* v3_Unit) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPropertyEnumeration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EnumerationValues));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);} } +Ifc4::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4::IfcValue >::ptr v2_EnumerationValues, ::Ifc4::IfcUnit* v3_Unit) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPropertyEnumeration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EnumerationValues)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);} } // Function implementations for IfcPropertyListValue -boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > Ifc4::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4::IfcValue >::ptr v = *data_->getArgument(2); return v; } -void Ifc4::IfcPropertyListValue::setListValues(boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > Ifc4::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4::IfcValue >(); } +void Ifc4::IfcPropertyListValue::setListValues(boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } ::Ifc4::IfcUnit* Ifc4::IfcPropertyListValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcUnit>(true); } void Ifc4::IfcPropertyListValue::setUnit(::Ifc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -16664,7 +16664,7 @@ void Ifc4::IfcPropertyListValue::setUnit(::Ifc4::IfcUnit* v) { {IfcWrite::IfcWri const IfcParse::entity& Ifc4::IfcPropertyListValue::declaration() const { return *IFC4_IfcPropertyListValue_type; } const IfcParse::entity& Ifc4::IfcPropertyListValue::Class() { return *IFC4_IfcPropertyListValue_type; } Ifc4::IfcPropertyListValue::IfcPropertyListValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPropertyListValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v3_ListValues, ::Ifc4::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPropertyListValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ListValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ListValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } +Ifc4::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v3_ListValues, ::Ifc4::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPropertyListValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ListValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ListValues)->generalize());data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyReferenceValue boost::optional< std::string > Ifc4::IfcPropertyReferenceValue::UsageName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } @@ -16727,10 +16727,10 @@ Ifc4::IfcPropertySingleValue::IfcPropertySingleValue(IfcEntityInstanceData* e) : Ifc4::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcValue* v3_NominalValue, ::Ifc4::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPropertySingleValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_NominalValue));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyTableValue -boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > Ifc4::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4::IfcValue >::ptr v = *data_->getArgument(2); return v; } -void Ifc4::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } -boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > Ifc4::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of< ::Ifc4::IfcValue >::ptr v = *data_->getArgument(3); return v; } -void Ifc4::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } +boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > Ifc4::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4::IfcValue >(); } +void Ifc4::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > Ifc4::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4::IfcValue >(); } +void Ifc4::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcPropertyTableValue::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4::IfcUnit* Ifc4::IfcPropertyTableValue::DefiningUnit() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcUnit>(true); } @@ -16744,7 +16744,7 @@ void Ifc4::IfcPropertyTableValue::setCurveInterpolation(boost::optional< ::Ifc4: const IfcParse::entity& Ifc4::IfcPropertyTableValue::declaration() const { return *IFC4_IfcPropertyTableValue_type; } const IfcParse::entity& Ifc4::IfcPropertyTableValue::Class() { return *IFC4_IfcPropertyTableValue_type; } Ifc4::IfcPropertyTableValue::IfcPropertyTableValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPropertyTableValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4::IfcUnit* v6_DefiningUnit, ::Ifc4::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPropertyTableValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_DefiningValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_DefiningValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DefinedValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DefinedValues));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_DefiningUnit));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_DefinedUnit));data_->setArgument(6,attr);} if (v8_CurveInterpolation) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_CurveInterpolation,::Ifc4::IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } +Ifc4::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4::IfcUnit* v6_DefiningUnit, ::Ifc4::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPropertyTableValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_DefiningValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_DefiningValues)->generalize());data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DefinedValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DefinedValues)->generalize());data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_DefiningUnit));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_DefinedUnit));data_->setArgument(6,attr);} if (v8_CurveInterpolation) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_CurveInterpolation,::Ifc4::IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcPropertyTemplate @@ -17175,14 +17175,14 @@ boost::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > Ifc4::IfcReinforc void Ifc4::IfcReinforcingBarType::setBarSurface(boost::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcReinforcingBarSurfaceEnum::ToString(*v)));}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4::IfcReinforcingBarType::BendingShapeCode() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } void Ifc4::IfcReinforcingBarType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } -boost::optional< aggregate_of< ::Ifc4::IfcBendingParameterSelect >::ptr > Ifc4::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of< ::Ifc4::IfcBendingParameterSelect >::ptr v = *data_->getArgument(15); return v; } -void Ifc4::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } +boost::optional< aggregate_of< ::Ifc4::IfcBendingParameterSelect >::ptr > Ifc4::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(15); return es->as< ::Ifc4::IfcBendingParameterSelect >(); } +void Ifc4::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(15,attr);} } const IfcParse::entity& Ifc4::IfcReinforcingBarType::declaration() const { return *IFC4_IfcReinforcingBarType_type; } const IfcParse::entity& Ifc4::IfcReinforcingBarType::Class() { return *IFC4_IfcReinforcingBarType_type; } Ifc4::IfcReinforcingBarType::IfcReinforcingBarType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcReinforcingBarType_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcReinforcingBarType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcReinforcingBarTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_BarLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_BarLength));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_BarSurface) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_BarSurface,::Ifc4::IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_BendingShapeCode));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_BendingParameters));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } } +Ifc4::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcReinforcingBarType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcReinforcingBarTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_BarLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_BarLength));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_BarSurface) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_BarSurface,::Ifc4::IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_BendingShapeCode));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_BendingParameters)->generalize());data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } } // Function implementations for IfcReinforcingElement boost::optional< std::string > Ifc4::IfcReinforcingElement::SteelGrade() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } @@ -17249,14 +17249,14 @@ boost::optional< double > Ifc4::IfcReinforcingMeshType::TransverseBarSpacing() c void Ifc4::IfcReinforcingMeshType::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(17,attr);} } boost::optional< std::string > Ifc4::IfcReinforcingMeshType::BendingShapeCode() const { if(!data_->getArgument(18) || data_->getArgument(18)->isNull()) { return boost::none; } std::string v = *data_->getArgument(18); return v; } void Ifc4::IfcReinforcingMeshType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(18,attr);} } -boost::optional< aggregate_of< ::Ifc4::IfcBendingParameterSelect >::ptr > Ifc4::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of< ::Ifc4::IfcBendingParameterSelect >::ptr v = *data_->getArgument(19); return v; } -void Ifc4::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(19,attr);} } +boost::optional< aggregate_of< ::Ifc4::IfcBendingParameterSelect >::ptr > Ifc4::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(19); return es->as< ::Ifc4::IfcBendingParameterSelect >(); } +void Ifc4::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(19,attr);} } const IfcParse::entity& Ifc4::IfcReinforcingMeshType::declaration() const { return *IFC4_IfcReinforcingMeshType_type; } const IfcParse::entity& Ifc4::IfcReinforcingMeshType::Class() { return *IFC4_IfcReinforcingMeshType_type; } Ifc4::IfcReinforcingMeshType::IfcReinforcingMeshType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcReinforcingMeshType_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of< ::Ifc4::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcReinforcingMeshType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshLength));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_MeshWidth));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LongitudinalBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TransverseBarNominalDiameter));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LongitudinalBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_TransverseBarCrossSectionArea));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LongitudinalBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_TransverseBarSpacing));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_BendingShapeCode));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_BendingParameters));data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } +Ifc4::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of< ::Ifc4::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcReinforcingMeshType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshLength));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_MeshWidth));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LongitudinalBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TransverseBarNominalDiameter));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LongitudinalBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_TransverseBarCrossSectionArea));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LongitudinalBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_TransverseBarSpacing));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_BendingShapeCode));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_BendingParameters)->generalize());data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } // Function implementations for IfcRelAggregates ::Ifc4::IfcObjectDefinition* Ifc4::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcObjectDefinition>(true); } @@ -17357,14 +17357,14 @@ Ifc4::IfcRelAssignsToResource::IfcRelAssignsToResource(IfcEntityInstanceData* e) Ifc4::IfcRelAssignsToResource::IfcRelAssignsToResource(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcResourceSelect* v7_RelatingResource) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssignsToResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingResource));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociates -aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr Ifc4::IfcRelAssociates::RelatedObjects() const { aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v = *data_->getArgument(4); return v; } -void Ifc4::IfcRelAssociates::setRelatedObjects(aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr Ifc4::IfcRelAssociates::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4::IfcDefinitionSelect >(); } +void Ifc4::IfcRelAssociates::setRelatedObjects(aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcRelAssociates::declaration() const { return *IFC4_IfcRelAssociates_type; } const IfcParse::entity& Ifc4::IfcRelAssociates::Class() { return *IFC4_IfcRelAssociates_type; } Ifc4::IfcRelAssociates::IfcRelAssociates(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelAssociates_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} } +Ifc4::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} } // Function implementations for IfcRelAssociatesApproval ::Ifc4::IfcApproval* Ifc4::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcApproval>(true); } @@ -17374,7 +17374,7 @@ void Ifc4::IfcRelAssociatesApproval::setRelatingApproval(::Ifc4::IfcApproval* v) const IfcParse::entity& Ifc4::IfcRelAssociatesApproval::declaration() const { return *IFC4_IfcRelAssociatesApproval_type; } const IfcParse::entity& Ifc4::IfcRelAssociatesApproval::Class() { return *IFC4_IfcRelAssociatesApproval_type; } Ifc4::IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelAssociatesApproval_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4::IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } +Ifc4::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4::IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesClassification ::Ifc4::IfcClassificationSelect* Ifc4::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcClassificationSelect>(true); } @@ -17384,7 +17384,7 @@ void Ifc4::IfcRelAssociatesClassification::setRelatingClassification(::Ifc4::Ifc const IfcParse::entity& Ifc4::IfcRelAssociatesClassification::declaration() const { return *IFC4_IfcRelAssociatesClassification_type; } const IfcParse::entity& Ifc4::IfcRelAssociatesClassification::Class() { return *IFC4_IfcRelAssociatesClassification_type; } Ifc4::IfcRelAssociatesClassification::IfcRelAssociatesClassification(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelAssociatesClassification_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssociatesClassification_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingClassification));data_->setArgument(5,attr);} } +Ifc4::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssociatesClassification_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingClassification));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesConstraint boost::optional< std::string > Ifc4::IfcRelAssociatesConstraint::Intent() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } @@ -17396,7 +17396,7 @@ void Ifc4::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc4::IfcConstrai const IfcParse::entity& Ifc4::IfcRelAssociatesConstraint::declaration() const { return *IFC4_IfcRelAssociatesConstraint_type; } const IfcParse::entity& Ifc4::IfcRelAssociatesConstraint::Class() { return *IFC4_IfcRelAssociatesConstraint_type; } Ifc4::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelAssociatesConstraint_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} if (v6_Intent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Intent));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } +Ifc4::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_Intent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Intent));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociatesDocument ::Ifc4::IfcDocumentSelect* Ifc4::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcDocumentSelect>(true); } @@ -17406,7 +17406,7 @@ void Ifc4::IfcRelAssociatesDocument::setRelatingDocument(::Ifc4::IfcDocumentSele const IfcParse::entity& Ifc4::IfcRelAssociatesDocument::declaration() const { return *IFC4_IfcRelAssociatesDocument_type; } const IfcParse::entity& Ifc4::IfcRelAssociatesDocument::Class() { return *IFC4_IfcRelAssociatesDocument_type; } Ifc4::IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelAssociatesDocument_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } +Ifc4::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesLibrary ::Ifc4::IfcLibrarySelect* Ifc4::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcLibrarySelect>(true); } @@ -17416,7 +17416,7 @@ void Ifc4::IfcRelAssociatesLibrary::setRelatingLibrary(::Ifc4::IfcLibrarySelect* const IfcParse::entity& Ifc4::IfcRelAssociatesLibrary::declaration() const { return *IFC4_IfcRelAssociatesLibrary_type; } const IfcParse::entity& Ifc4::IfcRelAssociatesLibrary::Class() { return *IFC4_IfcRelAssociatesLibrary_type; } Ifc4::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelAssociatesLibrary_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } +Ifc4::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesMaterial ::Ifc4::IfcMaterialSelect* Ifc4::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcMaterialSelect>(true); } @@ -17426,7 +17426,7 @@ void Ifc4::IfcRelAssociatesMaterial::setRelatingMaterial(::Ifc4::IfcMaterialSele const IfcParse::entity& Ifc4::IfcRelAssociatesMaterial::declaration() const { return *IFC4_IfcRelAssociatesMaterial_type; } const IfcParse::entity& Ifc4::IfcRelAssociatesMaterial::Class() { return *IFC4_IfcRelAssociatesMaterial_type; } Ifc4::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelAssociatesMaterial_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssociatesMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingMaterial));data_->setArgument(5,attr);} } +Ifc4::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssociatesMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingMaterial));data_->setArgument(5,attr);} } // Function implementations for IfcRelConnects @@ -17585,14 +17585,14 @@ Ifc4::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::Ifc4::If // Function implementations for IfcRelDeclares ::Ifc4::IfcContext* Ifc4::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcContext>(true); } void Ifc4::IfcRelDeclares::setRelatingContext(::Ifc4::IfcContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr Ifc4::IfcRelDeclares::RelatedDefinitions() const { aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v = *data_->getArgument(5); return v; } -void Ifc4::IfcRelDeclares::setRelatedDefinitions(aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } +aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr Ifc4::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4::IfcDefinitionSelect >(); } +void Ifc4::IfcRelDeclares::setRelatedDefinitions(aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4::IfcRelDeclares::declaration() const { return *IFC4_IfcRelDeclares_type; } const IfcParse::entity& Ifc4::IfcRelDeclares::Class() { return *IFC4_IfcRelDeclares_type; } Ifc4::IfcRelDeclares::IfcRelDeclares(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelDeclares_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelDeclares_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingContext));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedDefinitions));data_->setArgument(5,attr);} } +Ifc4::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelDeclares_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingContext));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedDefinitions)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelDecomposes @@ -17906,8 +17906,8 @@ Ifc4::IfcResource::IfcResource(IfcEntityInstanceData* e) : IfcObject((IfcEntityI Ifc4::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc4::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((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_LongDescription));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcResourceApprovalRelationship -aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr Ifc4::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr v = *data_->getArgument(2); return v; } -void Ifc4::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr Ifc4::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4::IfcResourceObjectSelect >(); } +void Ifc4::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } ::Ifc4::IfcApproval* Ifc4::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcApproval>(true); } void Ifc4::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -17915,19 +17915,19 @@ void Ifc4::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4::IfcAppro const IfcParse::entity& Ifc4::IfcResourceApprovalRelationship::declaration() const { return *IFC4_IfcResourceApprovalRelationship_type; } const IfcParse::entity& Ifc4::IfcResourceApprovalRelationship::Class() { return *IFC4_IfcResourceApprovalRelationship_type; } Ifc4::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcResourceApprovalRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcResourceApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatedResourceObjects));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatingApproval));data_->setArgument(3,attr);} } +Ifc4::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcResourceApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatedResourceObjects)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatingApproval));data_->setArgument(3,attr);} } // Function implementations for IfcResourceConstraintRelationship ::Ifc4::IfcConstraint* Ifc4::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcConstraint>(true); } void Ifc4::IfcResourceConstraintRelationship::setRelatingConstraint(::Ifc4::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr Ifc4::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr v = *data_->getArgument(3); return v; } -void Ifc4::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr Ifc4::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4::IfcResourceObjectSelect >(); } +void Ifc4::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcResourceConstraintRelationship::declaration() const { return *IFC4_IfcResourceConstraintRelationship_type; } const IfcParse::entity& Ifc4::IfcResourceConstraintRelationship::Class() { return *IFC4_IfcResourceConstraintRelationship_type; } Ifc4::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcResourceConstraintRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcResourceConstraintRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingConstraint));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } +Ifc4::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcResourceConstraintRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingConstraint));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcResourceLevelRelationship boost::optional< std::string > Ifc4::IfcResourceLevelRelationship::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -18249,14 +18249,14 @@ Ifc4::IfcShapeRepresentation::IfcShapeRepresentation(IfcEntityInstanceData* e) : Ifc4::IfcShapeRepresentation::IfcShapeRepresentation(::Ifc4::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcShapeRepresentation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ContextOfItems));data_->setArgument(0,attr);} if (v2_RepresentationIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_RepresentationIdentifier));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_RepresentationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_RepresentationType));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Items)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcShellBasedSurfaceModel -aggregate_of< ::Ifc4::IfcShell >::ptr Ifc4::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of< ::Ifc4::IfcShell >::ptr v = *data_->getArgument(0); return v; } -void Ifc4::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of< ::Ifc4::IfcShell >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4::IfcShell >::ptr Ifc4::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4::IfcShell >(); } +void Ifc4::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of< ::Ifc4::IfcShell >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcShellBasedSurfaceModel::declaration() const { return *IFC4_IfcShellBasedSurfaceModel_type; } const IfcParse::entity& Ifc4::IfcShellBasedSurfaceModel::Class() { return *IFC4_IfcShellBasedSurfaceModel_type; } Ifc4::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcShellBasedSurfaceModel_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcShellBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SbsmBoundary));data_->setArgument(0,attr);} } +Ifc4::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcShellBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SbsmBoundary)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcSimpleProperty @@ -19017,8 +19017,8 @@ Ifc4::IfcStyleModel::IfcStyleModel(::Ifc4::IfcRepresentationContext* v1_ContextO // Function implementations for IfcStyledItem ::Ifc4::IfcRepresentationItem* Ifc4::IfcStyledItem::Item() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcRepresentationItem>(true); } void Ifc4::IfcStyledItem::setItem(::Ifc4::IfcRepresentationItem* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of< ::Ifc4::IfcStyleAssignmentSelect >::ptr Ifc4::IfcStyledItem::Styles() const { aggregate_of< ::Ifc4::IfcStyleAssignmentSelect >::ptr v = *data_->getArgument(1); return v; } -void Ifc4::IfcStyledItem::setStyles(aggregate_of< ::Ifc4::IfcStyleAssignmentSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4::IfcStyleAssignmentSelect >::ptr Ifc4::IfcStyledItem::Styles() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4::IfcStyleAssignmentSelect >(); } +void Ifc4::IfcStyledItem::setStyles(aggregate_of< ::Ifc4::IfcStyleAssignmentSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcStyledItem::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4::IfcStyledItem::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } @@ -19026,7 +19026,7 @@ void Ifc4::IfcStyledItem::setName(boost::optional< std::string > v) { {IfcWrite: const IfcParse::entity& Ifc4::IfcStyledItem::declaration() const { return *IFC4_IfcStyledItem_type; } const IfcParse::entity& Ifc4::IfcStyledItem::Class() { return *IFC4_IfcStyledItem_type; } Ifc4::IfcStyledItem::IfcStyledItem(IfcEntityInstanceData* e) : IfcRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcStyledItem_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcStyledItem::IfcStyledItem(::Ifc4::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc4::IfcStyleAssignmentSelect >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStyledItem_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Item));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Styles));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4::IfcStyledItem::IfcStyledItem(::Ifc4::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc4::IfcStyleAssignmentSelect >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStyledItem_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Item));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Styles)->generalize());data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcStyledRepresentation @@ -19153,14 +19153,14 @@ Ifc4::IfcSurfaceReinforcementArea::IfcSurfaceReinforcementArea(boost::optional< // Function implementations for IfcSurfaceStyle ::Ifc4::IfcSurfaceSide::Value Ifc4::IfcSurfaceStyle::Side() const { return ::Ifc4::IfcSurfaceSide::FromString(*data_->getArgument(1)); } void Ifc4::IfcSurfaceStyle::setSide(::Ifc4::IfcSurfaceSide::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcSurfaceSide::ToString(v)));data_->setArgument(1,attr);} } -aggregate_of< ::Ifc4::IfcSurfaceStyleElementSelect >::ptr Ifc4::IfcSurfaceStyle::Styles() const { aggregate_of< ::Ifc4::IfcSurfaceStyleElementSelect >::ptr v = *data_->getArgument(2); return v; } -void Ifc4::IfcSurfaceStyle::setStyles(aggregate_of< ::Ifc4::IfcSurfaceStyleElementSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4::IfcSurfaceStyleElementSelect >::ptr Ifc4::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4::IfcSurfaceStyleElementSelect >(); } +void Ifc4::IfcSurfaceStyle::setStyles(aggregate_of< ::Ifc4::IfcSurfaceStyleElementSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcSurfaceStyle::declaration() const { return *IFC4_IfcSurfaceStyle_type; } const IfcParse::entity& Ifc4::IfcSurfaceStyle::Class() { return *IFC4_IfcSurfaceStyle_type; } Ifc4::IfcSurfaceStyle::IfcSurfaceStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSurfaceStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc4::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles));data_->setArgument(2,attr);} } +Ifc4::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc4::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles)->generalize());data_->setArgument(2,attr);} } // Function implementations for IfcSurfaceStyleLighting ::Ifc4::IfcColourRgb* Ifc4::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcColourRgb>(true); } @@ -19414,8 +19414,8 @@ Ifc4::IfcTableColumn::IfcTableColumn(IfcEntityInstanceData* e) : IfcUtil::IfcBas Ifc4::IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, ::Ifc4::IfcUnit* v4_Unit, ::Ifc4::IfcReference* v5_ReferencePath) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcTableColumn_type); if (v1_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Identifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Name));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_ReferencePath));data_->setArgument(4,attr);} } // Function implementations for IfcTableRow -boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > Ifc4::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of< ::Ifc4::IfcValue >::ptr v = *data_->getArgument(0); return v; } -void Ifc4::IfcTableRow::setRowCells(boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } +boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > Ifc4::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4::IfcValue >(); } +void Ifc4::IfcTableRow::setRowCells(boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(0,attr);} } boost::optional< bool > Ifc4::IfcTableRow::IsHeading() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } bool v = *data_->getArgument(1); return v; } void Ifc4::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } @@ -19423,7 +19423,7 @@ void Ifc4::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrite::Ifc const IfcParse::entity& Ifc4::IfcTableRow::declaration() const { return *IFC4_IfcTableRow_type; } const IfcParse::entity& Ifc4::IfcTableRow::Class() { return *IFC4_IfcTableRow_type; } Ifc4::IfcTableRow::IfcTableRow(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcTableRow_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcTableRow_type); if (v1_RowCells) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RowCells));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_IsHeading) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_IsHeading));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } +Ifc4::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcTableRow_type); if (v1_RowCells) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RowCells)->generalize());data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_IsHeading) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_IsHeading));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcTank boost::optional< ::Ifc4::IfcTankTypeEnum::Value > Ifc4::IfcTank::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcTankTypeEnum::FromString(*data_->getArgument(8)); } @@ -19815,14 +19815,14 @@ Ifc4::IfcTimeSeries::IfcTimeSeries(IfcEntityInstanceData* e) : IfcUtil::IfcBaseE Ifc4::IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4::IfcUnit* v8_Unit) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcTimeSeries_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_StartTime));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EndTime));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_TimeSeriesDataType,::Ifc4::IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType))));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v6_DataOrigin,::Ifc4::IfcDataOriginEnum::ToString(v6_DataOrigin))));data_->setArgument(5,attr);} if (v7_UserDefinedDataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_UserDefinedDataOrigin));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Unit));data_->setArgument(7,attr);} } // Function implementations for IfcTimeSeriesValue -aggregate_of< ::Ifc4::IfcValue >::ptr Ifc4::IfcTimeSeriesValue::ListValues() const { aggregate_of< ::Ifc4::IfcValue >::ptr v = *data_->getArgument(0); return v; } -void Ifc4::IfcTimeSeriesValue::setListValues(aggregate_of< ::Ifc4::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4::IfcValue >::ptr Ifc4::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4::IfcValue >(); } +void Ifc4::IfcTimeSeriesValue::setListValues(aggregate_of< ::Ifc4::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcTimeSeriesValue::declaration() const { return *IFC4_IfcTimeSeriesValue_type; } const IfcParse::entity& Ifc4::IfcTimeSeriesValue::Class() { return *IFC4_IfcTimeSeriesValue_type; } Ifc4::IfcTimeSeriesValue::IfcTimeSeriesValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcTimeSeriesValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ListValues));data_->setArgument(0,attr);} } +Ifc4::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ListValues)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcTopologicalRepresentationItem @@ -19927,10 +19927,10 @@ Ifc4::IfcTriangulatedFaceSet::IfcTriangulatedFaceSet(::Ifc4::IfcCartesianPointLi // Function implementations for IfcTrimmedCurve ::Ifc4::IfcCurve* Ifc4::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcTrimmedCurve::setBasisCurve(::Ifc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of< ::Ifc4::IfcTrimmingSelect >::ptr Ifc4::IfcTrimmedCurve::Trim1() const { aggregate_of< ::Ifc4::IfcTrimmingSelect >::ptr v = *data_->getArgument(1); return v; } -void Ifc4::IfcTrimmedCurve::setTrim1(aggregate_of< ::Ifc4::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -aggregate_of< ::Ifc4::IfcTrimmingSelect >::ptr Ifc4::IfcTrimmedCurve::Trim2() const { aggregate_of< ::Ifc4::IfcTrimmingSelect >::ptr v = *data_->getArgument(2); return v; } -void Ifc4::IfcTrimmedCurve::setTrim2(aggregate_of< ::Ifc4::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4::IfcTrimmingSelect >::ptr Ifc4::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4::IfcTrimmingSelect >(); } +void Ifc4::IfcTrimmedCurve::setTrim1(aggregate_of< ::Ifc4::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4::IfcTrimmingSelect >::ptr Ifc4::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4::IfcTrimmingSelect >(); } +void Ifc4::IfcTrimmedCurve::setTrim2(aggregate_of< ::Ifc4::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } bool Ifc4::IfcTrimmedCurve::SenseAgreement() const { bool v = *data_->getArgument(3); return v; } void Ifc4::IfcTrimmedCurve::setSenseAgreement(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4::IfcTrimmingPreference::Value Ifc4::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4::IfcTrimmingPreference::FromString(*data_->getArgument(4)); } @@ -19940,7 +19940,7 @@ void Ifc4::IfcTrimmedCurve::setMasterRepresentation(::Ifc4::IfcTrimmingPreferenc const IfcParse::entity& Ifc4::IfcTrimmedCurve::declaration() const { return *IFC4_IfcTrimmedCurve_type; } const IfcParse::entity& Ifc4::IfcTrimmedCurve::Class() { return *IFC4_IfcTrimmedCurve_type; } Ifc4::IfcTrimmedCurve::IfcTrimmedCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcTrimmedCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTrimmedCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Trim1));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Trim2));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SenseAgreement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_MasterRepresentation,::Ifc4::IfcTrimmingPreference::ToString(v5_MasterRepresentation))));data_->setArgument(4,attr);} } +Ifc4::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTrimmedCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Trim1)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Trim2)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SenseAgreement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_MasterRepresentation,::Ifc4::IfcTrimmingPreference::ToString(v5_MasterRepresentation))));data_->setArgument(4,attr);} } // Function implementations for IfcTubeBundle boost::optional< ::Ifc4::IfcTubeBundleTypeEnum::Value > Ifc4::IfcTubeBundle::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcTubeBundleTypeEnum::FromString(*data_->getArgument(8)); } @@ -20041,14 +20041,14 @@ Ifc4::IfcUShapeProfileDef::IfcUShapeProfileDef(IfcEntityInstanceData* e) : IfcPa Ifc4::IfcUShapeProfileDef::IfcUShapeProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::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((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcUShapeProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_FlangeWidth));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_WebThickness));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_FlangeThickness));data_->setArgument(6,attr);} if (v8_FilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_FilletRadius));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_EdgeRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_EdgeRadius));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_FlangeSlope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_FlangeSlope));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcUnitAssignment -aggregate_of< ::Ifc4::IfcUnit >::ptr Ifc4::IfcUnitAssignment::Units() const { aggregate_of< ::Ifc4::IfcUnit >::ptr v = *data_->getArgument(0); return v; } -void Ifc4::IfcUnitAssignment::setUnits(aggregate_of< ::Ifc4::IfcUnit >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4::IfcUnit >::ptr Ifc4::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4::IfcUnit >(); } +void Ifc4::IfcUnitAssignment::setUnits(aggregate_of< ::Ifc4::IfcUnit >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcUnitAssignment::declaration() const { return *IFC4_IfcUnitAssignment_type; } const IfcParse::entity& Ifc4::IfcUnitAssignment::Class() { return *IFC4_IfcUnitAssignment_type; } Ifc4::IfcUnitAssignment::IfcUnitAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcUnitAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcUnitAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Units));data_->setArgument(0,attr);} } +Ifc4::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcUnitAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Units)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcUnitaryControlElement boost::optional< ::Ifc4::IfcUnitaryControlElementTypeEnum::Value > Ifc4::IfcUnitaryControlElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcUnitaryControlElementTypeEnum::FromString(*data_->getArgument(8)); } diff --git a/src/ifcparse/Ifc4x1.cpp b/src/ifcparse/Ifc4x1.cpp index 5d80cfe21b..12ec0ff440 100644 --- a/src/ifcparse/Ifc4x1.cpp +++ b/src/ifcparse/Ifc4x1.cpp @@ -13651,8 +13651,8 @@ boost::optional< std::string > Ifc4x1::IfcDocumentInformation::Revision() const void Ifc4x1::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x1::IfcActorSelect* Ifc4x1::IfcDocumentInformation::DocumentOwner() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x1::IfcActorSelect>(true); } void Ifc4x1::IfcDocumentInformation::setDocumentOwner(::Ifc4x1::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -boost::optional< aggregate_of< ::Ifc4x1::IfcActorSelect >::ptr > Ifc4x1::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x1::IfcActorSelect >::ptr v = *data_->getArgument(9); return v; } -void Ifc4x1::IfcDocumentInformation::setEditors(boost::optional< aggregate_of< ::Ifc4x1::IfcActorSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } +boost::optional< aggregate_of< ::Ifc4x1::IfcActorSelect >::ptr > Ifc4x1::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc4x1::IfcActorSelect >(); } +void Ifc4x1::IfcDocumentInformation::setEditors(boost::optional< aggregate_of< ::Ifc4x1::IfcActorSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x1::IfcDocumentInformation::CreationTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } void Ifc4x1::IfcDocumentInformation::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4x1::IfcDocumentInformation::LastRevisionTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } @@ -13676,7 +13676,7 @@ void Ifc4x1::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x1::IfcDoc const IfcParse::entity& Ifc4x1::IfcDocumentInformation::declaration() const { return *IFC4X1_IfcDocumentInformation_type; } const IfcParse::entity& Ifc4x1::IfcDocumentInformation::Class() { return *IFC4X1_IfcDocumentInformation_type; } Ifc4x1::IfcDocumentInformation::IfcDocumentInformation(IfcEntityInstanceData* e) : IfcExternalInformation((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcDocumentInformation_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::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, ::Ifc4x1::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x1::IfcActorSelect >::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< ::Ifc4x1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x1::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Identification));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Location));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CreationTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LastRevisionTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LastRevisionTime));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ElectronicFormat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ElectronicFormat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ValidFrom) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ValidFrom));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ValidUntil) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ValidUntil));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc4x1::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc4x1::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } +Ifc4x1::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, ::Ifc4x1::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x1::IfcActorSelect >::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< ::Ifc4x1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x1::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Identification));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Location));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CreationTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LastRevisionTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LastRevisionTime));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ElectronicFormat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ElectronicFormat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ValidFrom) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ValidFrom));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ValidUntil) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ValidUntil));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc4x1::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc4x1::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } // Function implementations for IfcDocumentInformationRelationship ::Ifc4x1::IfcDocumentInformation* Ifc4x1::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcDocumentInformation>(true); } @@ -14323,14 +14323,14 @@ Ifc4x1::IfcExternalReference::IfcExternalReference(boost::optional< std::string // Function implementations for IfcExternalReferenceRelationship ::Ifc4x1::IfcExternalReference* Ifc4x1::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcExternalReference>(true); } void Ifc4x1::IfcExternalReferenceRelationship::setRelatingReference(::Ifc4x1::IfcExternalReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr Ifc4x1::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr v = *data_->getArgument(3); return v; } -void Ifc4x1::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr Ifc4x1::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x1::IfcResourceObjectSelect >(); } +void Ifc4x1::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x1::IfcExternalReferenceRelationship::declaration() const { return *IFC4X1_IfcExternalReferenceRelationship_type; } const IfcParse::entity& Ifc4x1::IfcExternalReferenceRelationship::Class() { return *IFC4X1_IfcExternalReferenceRelationship_type; } Ifc4x1::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcExternalReferenceRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcExternalReferenceRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingReference));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } +Ifc4x1::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcExternalReferenceRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingReference));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcExternalSpatialElement boost::optional< ::Ifc4x1::IfcExternalSpatialElementTypeEnum::Value > Ifc4x1::IfcExternalSpatialElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcExternalSpatialElementTypeEnum::FromString(*data_->getArgument(8)); } @@ -14555,8 +14555,8 @@ Ifc4x1::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcEntityInst Ifc4x1::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcFeatureElementSubtraction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcFillAreaStyle -aggregate_of< ::Ifc4x1::IfcFillStyleSelect >::ptr Ifc4x1::IfcFillAreaStyle::FillStyles() const { aggregate_of< ::Ifc4x1::IfcFillStyleSelect >::ptr v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcFillAreaStyle::setFillStyles(aggregate_of< ::Ifc4x1::IfcFillStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x1::IfcFillStyleSelect >::ptr Ifc4x1::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x1::IfcFillStyleSelect >(); } +void Ifc4x1::IfcFillAreaStyle::setFillStyles(aggregate_of< ::Ifc4x1::IfcFillStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x1::IfcFillAreaStyle::ModelorDraughting() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } void Ifc4x1::IfcFillAreaStyle::setModelorDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } @@ -14564,7 +14564,7 @@ void Ifc4x1::IfcFillAreaStyle::setModelorDraughting(boost::optional< bool > v) { const IfcParse::entity& Ifc4x1::IfcFillAreaStyle::declaration() const { return *IFC4X1_IfcFillAreaStyle_type; } const IfcParse::entity& Ifc4x1::IfcFillAreaStyle::Class() { return *IFC4X1_IfcFillAreaStyle_type; } Ifc4x1::IfcFillAreaStyle::IfcFillAreaStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcFillAreaStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x1::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelorDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles));data_->setArgument(1,attr);} if (v3_ModelorDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ModelorDraughting));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x1::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x1::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelorDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles)->generalize());data_->setArgument(1,attr);} if (v3_ModelorDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ModelorDraughting));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcFillAreaStyleHatching ::Ifc4x1::IfcCurveStyle* Ifc4x1::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcCurveStyle>(true); } @@ -14890,7 +14890,7 @@ Ifc4x1::IfcGeographicElementType::IfcGeographicElementType(std::string v1_Global const IfcParse::entity& Ifc4x1::IfcGeometricCurveSet::declaration() const { return *IFC4X1_IfcGeometricCurveSet_type; } const IfcParse::entity& Ifc4x1::IfcGeometricCurveSet::Class() { return *IFC4X1_IfcGeometricCurveSet_type; } Ifc4x1::IfcGeometricCurveSet::IfcGeometricCurveSet(IfcEntityInstanceData* e) : IfcGeometricSet((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcGeometricCurveSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4x1::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcGeometricCurveSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } +Ifc4x1::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4x1::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcGeometricCurveSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcGeometricRepresentationContext int Ifc4x1::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = *data_->getArgument(2); return v; } @@ -14935,14 +14935,14 @@ Ifc4x1::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubConte Ifc4x1::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, ::Ifc4x1::IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, ::Ifc4x1::IfcGeometricProjectionEnum::Value v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcGeometricRepresentationSubContext_type); if (v1_ContextIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_ContextIdentifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_ContextType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ContextType));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ParentContext));data_->setArgument(6,attr);} if (v8_TargetScale) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_TargetScale));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_TargetView,::Ifc4x1::IfcGeometricProjectionEnum::ToString(v9_TargetView))));data_->setArgument(8,attr);} if (v10_UserDefinedTargetView) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_UserDefinedTargetView));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcGeometricSet -aggregate_of< ::Ifc4x1::IfcGeometricSetSelect >::ptr Ifc4x1::IfcGeometricSet::Elements() const { aggregate_of< ::Ifc4x1::IfcGeometricSetSelect >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x1::IfcGeometricSet::setElements(aggregate_of< ::Ifc4x1::IfcGeometricSetSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x1::IfcGeometricSetSelect >::ptr Ifc4x1::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x1::IfcGeometricSetSelect >(); } +void Ifc4x1::IfcGeometricSet::setElements(aggregate_of< ::Ifc4x1::IfcGeometricSetSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x1::IfcGeometricSet::declaration() const { return *IFC4X1_IfcGeometricSet_type; } const IfcParse::entity& Ifc4x1::IfcGeometricSet::Class() { return *IFC4X1_IfcGeometricSet_type; } Ifc4x1::IfcGeometricSet::IfcGeometricSet(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcGeometricSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x1::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcGeometricSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } +Ifc4x1::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x1::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcGeometricSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcGrid aggregate_of< ::Ifc4x1::IfcGridAxis >::ptr Ifc4x1::IfcGrid::UAxes() const { aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x1::IfcGridAxis >(); } @@ -15102,8 +15102,8 @@ Ifc4x1::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4x1::IfcTessellatedFaceSet // Function implementations for IfcIndexedPolyCurve ::Ifc4x1::IfcCartesianPointList* Ifc4x1::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcCartesianPointList>(true); } void Ifc4x1::IfcIndexedPolyCurve::setPoints(::Ifc4x1::IfcCartesianPointList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -boost::optional< aggregate_of< ::Ifc4x1::IfcSegmentIndexSelect >::ptr > Ifc4x1::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x1::IfcSegmentIndexSelect >::ptr v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of< ::Ifc4x1::IfcSegmentIndexSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } +boost::optional< aggregate_of< ::Ifc4x1::IfcSegmentIndexSelect >::ptr > Ifc4x1::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x1::IfcSegmentIndexSelect >(); } +void Ifc4x1::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of< ::Ifc4x1::IfcSegmentIndexSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x1::IfcIndexedPolyCurve::SelfIntersect() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } void Ifc4x1::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } @@ -15111,7 +15111,7 @@ void Ifc4x1::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { const IfcParse::entity& Ifc4x1::IfcIndexedPolyCurve::declaration() const { return *IFC4X1_IfcIndexedPolyCurve_type; } const IfcParse::entity& Ifc4x1::IfcIndexedPolyCurve::Class() { return *IFC4X1_IfcIndexedPolyCurve_type; } Ifc4x1::IfcIndexedPolyCurve::IfcIndexedPolyCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcIndexedPolyCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x1::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x1::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcIndexedPolyCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Points));data_->setArgument(0,attr);} if (v2_Segments) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Segments));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_SelfIntersect) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_SelfIntersect));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x1::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x1::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x1::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcIndexedPolyCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Points));data_->setArgument(0,attr);} if (v2_Segments) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Segments)->generalize());data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_SelfIntersect) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_SelfIntersect));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcIndexedPolygonalFace std::vector< int > /*[3:?]*/ Ifc4x1::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = *data_->getArgument(0); return v; } @@ -15217,14 +15217,14 @@ Ifc4x1::IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, boos // Function implementations for IfcIrregularTimeSeriesValue std::string Ifc4x1::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x1::IfcIrregularTimeSeriesValue::setTimeStamp(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of< ::Ifc4x1::IfcValue >::ptr Ifc4x1::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of< ::Ifc4x1::IfcValue >::ptr v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcIrregularTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x1::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x1::IfcValue >::ptr Ifc4x1::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x1::IfcValue >(); } +void Ifc4x1::IfcIrregularTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x1::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x1::IfcIrregularTimeSeriesValue::declaration() const { return *IFC4X1_IfcIrregularTimeSeriesValue_type; } const IfcParse::entity& Ifc4x1::IfcIrregularTimeSeriesValue::Class() { return *IFC4X1_IfcIrregularTimeSeriesValue_type; } Ifc4x1::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X1_IfcIrregularTimeSeriesValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4x1::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X1_IfcIrregularTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TimeStamp));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ListValues));data_->setArgument(1,attr);} } +Ifc4x1::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4x1::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X1_IfcIrregularTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TimeStamp));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ListValues)->generalize());data_->setArgument(1,attr);} } // Function implementations for IfcJunctionBox boost::optional< ::Ifc4x1::IfcJunctionBoxTypeEnum::Value > Ifc4x1::IfcJunctionBox::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcJunctionBoxTypeEnum::FromString(*data_->getArgument(8)); } @@ -15615,8 +15615,8 @@ Ifc4x1::IfcMaterial::IfcMaterial(IfcEntityInstanceData* e) : IfcMaterialDefiniti Ifc4x1::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_Category) : IfcMaterialDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Category) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Category));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcMaterialClassificationRelationship -aggregate_of< ::Ifc4x1::IfcClassificationSelect >::ptr Ifc4x1::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of< ::Ifc4x1::IfcClassificationSelect >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x1::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of< ::Ifc4x1::IfcClassificationSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x1::IfcClassificationSelect >::ptr Ifc4x1::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x1::IfcClassificationSelect >(); } +void Ifc4x1::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of< ::Ifc4x1::IfcClassificationSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } ::Ifc4x1::IfcMaterial* Ifc4x1::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcMaterial>(true); } void Ifc4x1::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc4x1::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -15624,7 +15624,7 @@ void Ifc4x1::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc4 const IfcParse::entity& Ifc4x1::IfcMaterialClassificationRelationship::declaration() const { return *IFC4X1_IfcMaterialClassificationRelationship_type; } const IfcParse::entity& Ifc4x1::IfcMaterialClassificationRelationship::Class() { return *IFC4X1_IfcMaterialClassificationRelationship_type; } Ifc4x1::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X1_IfcMaterialClassificationRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4x1::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x1::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X1_IfcMaterialClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialClassifications));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ClassifiedMaterial));data_->setArgument(1,attr);} } +Ifc4x1::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4x1::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x1::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X1_IfcMaterialClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialClassifications)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ClassifiedMaterial));data_->setArgument(1,attr);} } // Function implementations for IfcMaterialConstituent boost::optional< std::string > Ifc4x1::IfcMaterialConstituent::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -16752,8 +16752,8 @@ std::string Ifc4x1::IfcPresentationLayerAssignment::Name() const { std::string void Ifc4x1::IfcPresentationLayerAssignment::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x1::IfcPresentationLayerAssignment::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x1::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } -aggregate_of< ::Ifc4x1::IfcLayeredItem >::ptr Ifc4x1::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of< ::Ifc4x1::IfcLayeredItem >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of< ::Ifc4x1::IfcLayeredItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x1::IfcLayeredItem >::ptr Ifc4x1::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x1::IfcLayeredItem >(); } +void Ifc4x1::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of< ::Ifc4x1::IfcLayeredItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x1::IfcPresentationLayerAssignment::Identifier() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4x1::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } @@ -16761,7 +16761,7 @@ void Ifc4x1::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std: const IfcParse::entity& Ifc4x1::IfcPresentationLayerAssignment::declaration() const { return *IFC4X1_IfcPresentationLayerAssignment_type; } const IfcParse::entity& Ifc4x1::IfcPresentationLayerAssignment::Class() { return *IFC4X1_IfcPresentationLayerAssignment_type; } Ifc4x1::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X1_IfcPresentationLayerAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x1::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X1_IfcPresentationLayerAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } +Ifc4x1::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x1::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X1_IfcPresentationLayerAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems)->generalize());data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcPresentationLayerWithStyle boost::logic::tribool Ifc4x1::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = *data_->getArgument(4); return v; } @@ -16777,7 +16777,7 @@ void Ifc4x1::IfcPresentationLayerWithStyle::setLayerStyles(aggregate_of< ::Ifc4x const IfcParse::entity& Ifc4x1::IfcPresentationLayerWithStyle::declaration() const { return *IFC4X1_IfcPresentationLayerWithStyle_type; } const IfcParse::entity& Ifc4x1::IfcPresentationLayerWithStyle::Class() { return *IFC4X1_IfcPresentationLayerWithStyle_type; } Ifc4x1::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcEntityInstanceData* e) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcPresentationLayerWithStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x1::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x1::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcPresentationLayerWithStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_LayerOn));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LayerFrozen));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LayerBlocked));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LayerStyles)->generalize());data_->setArgument(7,attr);} } +Ifc4x1::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x1::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x1::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcPresentationLayerWithStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems)->generalize());data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_LayerOn));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LayerFrozen));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LayerBlocked));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LayerStyles)->generalize());data_->setArgument(7,attr);} } // Function implementations for IfcPresentationStyle boost::optional< std::string > Ifc4x1::IfcPresentationStyle::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -16790,14 +16790,14 @@ Ifc4x1::IfcPresentationStyle::IfcPresentationStyle(IfcEntityInstanceData* e) : I Ifc4x1::IfcPresentationStyle::IfcPresentationStyle(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X1_IfcPresentationStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } } // Function implementations for IfcPresentationStyleAssignment -aggregate_of< ::Ifc4x1::IfcPresentationStyleSelect >::ptr Ifc4x1::IfcPresentationStyleAssignment::Styles() const { aggregate_of< ::Ifc4x1::IfcPresentationStyleSelect >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x1::IfcPresentationStyleAssignment::setStyles(aggregate_of< ::Ifc4x1::IfcPresentationStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x1::IfcPresentationStyleSelect >::ptr Ifc4x1::IfcPresentationStyleAssignment::Styles() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x1::IfcPresentationStyleSelect >(); } +void Ifc4x1::IfcPresentationStyleAssignment::setStyles(aggregate_of< ::Ifc4x1::IfcPresentationStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x1::IfcPresentationStyleAssignment::declaration() const { return *IFC4X1_IfcPresentationStyleAssignment_type; } const IfcParse::entity& Ifc4x1::IfcPresentationStyleAssignment::Class() { return *IFC4X1_IfcPresentationStyleAssignment_type; } Ifc4x1::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X1_IfcPresentationStyleAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(aggregate_of< ::Ifc4x1::IfcPresentationStyleSelect >::ptr v1_Styles) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X1_IfcPresentationStyleAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Styles));data_->setArgument(0,attr);} } +Ifc4x1::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(aggregate_of< ::Ifc4x1::IfcPresentationStyleSelect >::ptr v1_Styles) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X1_IfcPresentationStyleAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Styles)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcProcedure boost::optional< ::Ifc4x1::IfcProcedureTypeEnum::Value > Ifc4x1::IfcProcedure::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x1::IfcProcedureTypeEnum::FromString(*data_->getArgument(7)); } @@ -17017,8 +17017,8 @@ Ifc4x1::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(Ifc Ifc4x1::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcProperty* v3_DependingProperty, ::Ifc4x1::IfcProperty* v4_DependantProperty, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcPropertyDependencyRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_DependingProperty));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_DependantProperty));data_->setArgument(3,attr);} if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcPropertyEnumeratedValue -boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > Ifc4x1::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x1::IfcValue >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > Ifc4x1::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x1::IfcValue >(); } +void Ifc4x1::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } ::Ifc4x1::IfcPropertyEnumeration* Ifc4x1::IfcPropertyEnumeratedValue::EnumerationReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcPropertyEnumeration>(true); } void Ifc4x1::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x1::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -17026,13 +17026,13 @@ void Ifc4x1::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x1::IfcPr const IfcParse::entity& Ifc4x1::IfcPropertyEnumeratedValue::declaration() const { return *IFC4X1_IfcPropertyEnumeratedValue_type; } const IfcParse::entity& Ifc4x1::IfcPropertyEnumeratedValue::Class() { return *IFC4X1_IfcPropertyEnumeratedValue_type; } Ifc4x1::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcPropertyEnumeratedValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x1::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcPropertyEnumeratedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EnumerationValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EnumerationValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EnumerationReference));data_->setArgument(3,attr);} } +Ifc4x1::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x1::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcPropertyEnumeratedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EnumerationValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EnumerationValues)->generalize());data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EnumerationReference));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyEnumeration std::string Ifc4x1::IfcPropertyEnumeration::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x1::IfcPropertyEnumeration::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of< ::Ifc4x1::IfcValue >::ptr Ifc4x1::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of< ::Ifc4x1::IfcValue >::ptr v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcPropertyEnumeration::setEnumerationValues(aggregate_of< ::Ifc4x1::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x1::IfcValue >::ptr Ifc4x1::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x1::IfcValue >(); } +void Ifc4x1::IfcPropertyEnumeration::setEnumerationValues(aggregate_of< ::Ifc4x1::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } ::Ifc4x1::IfcUnit* Ifc4x1::IfcPropertyEnumeration::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcUnit>(true); } void Ifc4x1::IfcPropertyEnumeration::setUnit(::Ifc4x1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -17040,11 +17040,11 @@ void Ifc4x1::IfcPropertyEnumeration::setUnit(::Ifc4x1::IfcUnit* v) { {IfcWrite:: const IfcParse::entity& Ifc4x1::IfcPropertyEnumeration::declaration() const { return *IFC4X1_IfcPropertyEnumeration_type; } const IfcParse::entity& Ifc4x1::IfcPropertyEnumeration::Class() { return *IFC4X1_IfcPropertyEnumeration_type; } Ifc4x1::IfcPropertyEnumeration::IfcPropertyEnumeration(IfcEntityInstanceData* e) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcPropertyEnumeration_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4x1::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x1::IfcUnit* v3_Unit) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcPropertyEnumeration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EnumerationValues));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);} } +Ifc4x1::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4x1::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x1::IfcUnit* v3_Unit) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcPropertyEnumeration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EnumerationValues)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);} } // Function implementations for IfcPropertyListValue -boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > Ifc4x1::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x1::IfcValue >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcPropertyListValue::setListValues(boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > Ifc4x1::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x1::IfcValue >(); } +void Ifc4x1::IfcPropertyListValue::setListValues(boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } ::Ifc4x1::IfcUnit* Ifc4x1::IfcPropertyListValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcUnit>(true); } void Ifc4x1::IfcPropertyListValue::setUnit(::Ifc4x1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -17052,7 +17052,7 @@ void Ifc4x1::IfcPropertyListValue::setUnit(::Ifc4x1::IfcUnit* v) { {IfcWrite::If const IfcParse::entity& Ifc4x1::IfcPropertyListValue::declaration() const { return *IFC4X1_IfcPropertyListValue_type; } const IfcParse::entity& Ifc4x1::IfcPropertyListValue::Class() { return *IFC4X1_IfcPropertyListValue_type; } Ifc4x1::IfcPropertyListValue::IfcPropertyListValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcPropertyListValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v3_ListValues, ::Ifc4x1::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcPropertyListValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ListValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ListValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } +Ifc4x1::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v3_ListValues, ::Ifc4x1::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcPropertyListValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ListValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ListValues)->generalize());data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyReferenceValue boost::optional< std::string > Ifc4x1::IfcPropertyReferenceValue::UsageName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } @@ -17115,10 +17115,10 @@ Ifc4x1::IfcPropertySingleValue::IfcPropertySingleValue(IfcEntityInstanceData* e) Ifc4x1::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcValue* v3_NominalValue, ::Ifc4x1::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcPropertySingleValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_NominalValue));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyTableValue -boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > Ifc4x1::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x1::IfcValue >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } -boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > Ifc4x1::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x1::IfcValue >::ptr v = *data_->getArgument(3); return v; } -void Ifc4x1::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } +boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > Ifc4x1::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x1::IfcValue >(); } +void Ifc4x1::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > Ifc4x1::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x1::IfcValue >(); } +void Ifc4x1::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x1::IfcPropertyTableValue::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x1::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x1::IfcUnit* Ifc4x1::IfcPropertyTableValue::DefiningUnit() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcUnit>(true); } @@ -17132,7 +17132,7 @@ void Ifc4x1::IfcPropertyTableValue::setCurveInterpolation(boost::optional< ::Ifc const IfcParse::entity& Ifc4x1::IfcPropertyTableValue::declaration() const { return *IFC4X1_IfcPropertyTableValue_type; } const IfcParse::entity& Ifc4x1::IfcPropertyTableValue::Class() { return *IFC4X1_IfcPropertyTableValue_type; } Ifc4x1::IfcPropertyTableValue::IfcPropertyTableValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcPropertyTableValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x1::IfcUnit* v6_DefiningUnit, ::Ifc4x1::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x1::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcPropertyTableValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_DefiningValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_DefiningValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DefinedValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DefinedValues));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_DefiningUnit));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_DefinedUnit));data_->setArgument(6,attr);} if (v8_CurveInterpolation) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_CurveInterpolation,::Ifc4x1::IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } +Ifc4x1::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x1::IfcUnit* v6_DefiningUnit, ::Ifc4x1::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x1::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcPropertyTableValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_DefiningValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_DefiningValues)->generalize());data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DefinedValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DefinedValues)->generalize());data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_DefiningUnit));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_DefinedUnit));data_->setArgument(6,attr);} if (v8_CurveInterpolation) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_CurveInterpolation,::Ifc4x1::IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcPropertyTemplate @@ -17575,14 +17575,14 @@ boost::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value > Ifc4x1::IfcRein void Ifc4x1::IfcReinforcingBarType::setBarSurface(boost::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcReinforcingBarSurfaceEnum::ToString(*v)));}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4x1::IfcReinforcingBarType::BendingShapeCode() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } void Ifc4x1::IfcReinforcingBarType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } -boost::optional< aggregate_of< ::Ifc4x1::IfcBendingParameterSelect >::ptr > Ifc4x1::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x1::IfcBendingParameterSelect >::ptr v = *data_->getArgument(15); return v; } -void Ifc4x1::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x1::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } +boost::optional< aggregate_of< ::Ifc4x1::IfcBendingParameterSelect >::ptr > Ifc4x1::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(15); return es->as< ::Ifc4x1::IfcBendingParameterSelect >(); } +void Ifc4x1::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x1::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(15,attr);} } const IfcParse::entity& Ifc4x1::IfcReinforcingBarType::declaration() const { return *IFC4X1_IfcReinforcingBarType_type; } const IfcParse::entity& Ifc4x1::IfcReinforcingBarType::Class() { return *IFC4X1_IfcReinforcingBarType_type; } Ifc4x1::IfcReinforcingBarType::IfcReinforcingBarType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcReinforcingBarType_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x1::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcReinforcingBarType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x1::IfcReinforcingBarTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_BarLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_BarLength));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_BarSurface) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_BarSurface,::Ifc4x1::IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_BendingShapeCode));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_BendingParameters));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } } +Ifc4x1::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x1::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcReinforcingBarType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x1::IfcReinforcingBarTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_BarLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_BarLength));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_BarSurface) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_BarSurface,::Ifc4x1::IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_BendingShapeCode));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_BendingParameters)->generalize());data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } } // Function implementations for IfcReinforcingElement boost::optional< std::string > Ifc4x1::IfcReinforcingElement::SteelGrade() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } @@ -17649,14 +17649,14 @@ boost::optional< double > Ifc4x1::IfcReinforcingMeshType::TransverseBarSpacing() void Ifc4x1::IfcReinforcingMeshType::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(17,attr);} } boost::optional< std::string > Ifc4x1::IfcReinforcingMeshType::BendingShapeCode() const { if(!data_->getArgument(18) || data_->getArgument(18)->isNull()) { return boost::none; } std::string v = *data_->getArgument(18); return v; } void Ifc4x1::IfcReinforcingMeshType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(18,attr);} } -boost::optional< aggregate_of< ::Ifc4x1::IfcBendingParameterSelect >::ptr > Ifc4x1::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x1::IfcBendingParameterSelect >::ptr v = *data_->getArgument(19); return v; } -void Ifc4x1::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x1::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(19,attr);} } +boost::optional< aggregate_of< ::Ifc4x1::IfcBendingParameterSelect >::ptr > Ifc4x1::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(19); return es->as< ::Ifc4x1::IfcBendingParameterSelect >(); } +void Ifc4x1::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x1::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(19,attr);} } const IfcParse::entity& Ifc4x1::IfcReinforcingMeshType::declaration() const { return *IFC4X1_IfcReinforcingMeshType_type; } const IfcParse::entity& Ifc4x1::IfcReinforcingMeshType::Class() { return *IFC4X1_IfcReinforcingMeshType_type; } Ifc4x1::IfcReinforcingMeshType::IfcReinforcingMeshType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcReinforcingMeshType_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of< ::Ifc4x1::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcReinforcingMeshType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x1::IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshLength));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_MeshWidth));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LongitudinalBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TransverseBarNominalDiameter));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LongitudinalBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_TransverseBarCrossSectionArea));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LongitudinalBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_TransverseBarSpacing));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_BendingShapeCode));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_BendingParameters));data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } +Ifc4x1::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of< ::Ifc4x1::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcReinforcingMeshType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x1::IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshLength));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_MeshWidth));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LongitudinalBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TransverseBarNominalDiameter));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LongitudinalBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_TransverseBarCrossSectionArea));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LongitudinalBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_TransverseBarSpacing));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_BendingShapeCode));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_BendingParameters)->generalize());data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } // Function implementations for IfcRelAggregates ::Ifc4x1::IfcObjectDefinition* Ifc4x1::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcObjectDefinition>(true); } @@ -17757,14 +17757,14 @@ Ifc4x1::IfcRelAssignsToResource::IfcRelAssignsToResource(IfcEntityInstanceData* Ifc4x1::IfcRelAssignsToResource::IfcRelAssignsToResource(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcResourceSelect* v7_RelatingResource) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelAssignsToResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x1::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingResource));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociates -aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr Ifc4x1::IfcRelAssociates::RelatedObjects() const { aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcRelAssociates::setRelatedObjects(aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr Ifc4x1::IfcRelAssociates::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x1::IfcDefinitionSelect >(); } +void Ifc4x1::IfcRelAssociates::setRelatedObjects(aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x1::IfcRelAssociates::declaration() const { return *IFC4X1_IfcRelAssociates_type; } const IfcParse::entity& Ifc4x1::IfcRelAssociates::Class() { return *IFC4X1_IfcRelAssociates_type; } Ifc4x1::IfcRelAssociates::IfcRelAssociates(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcRelAssociates_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} } +Ifc4x1::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} } // Function implementations for IfcRelAssociatesApproval ::Ifc4x1::IfcApproval* Ifc4x1::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcApproval>(true); } @@ -17774,7 +17774,7 @@ void Ifc4x1::IfcRelAssociatesApproval::setRelatingApproval(::Ifc4x1::IfcApproval const IfcParse::entity& Ifc4x1::IfcRelAssociatesApproval::declaration() const { return *IFC4X1_IfcRelAssociatesApproval_type; } const IfcParse::entity& Ifc4x1::IfcRelAssociatesApproval::Class() { return *IFC4X1_IfcRelAssociatesApproval_type; } Ifc4x1::IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcRelAssociatesApproval_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x1::IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } +Ifc4x1::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x1::IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesClassification ::Ifc4x1::IfcClassificationSelect* Ifc4x1::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcClassificationSelect>(true); } @@ -17784,7 +17784,7 @@ void Ifc4x1::IfcRelAssociatesClassification::setRelatingClassification(::Ifc4x1: const IfcParse::entity& Ifc4x1::IfcRelAssociatesClassification::declaration() const { return *IFC4X1_IfcRelAssociatesClassification_type; } const IfcParse::entity& Ifc4x1::IfcRelAssociatesClassification::Class() { return *IFC4X1_IfcRelAssociatesClassification_type; } Ifc4x1::IfcRelAssociatesClassification::IfcRelAssociatesClassification(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcRelAssociatesClassification_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x1::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelAssociatesClassification_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingClassification));data_->setArgument(5,attr);} } +Ifc4x1::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x1::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelAssociatesClassification_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingClassification));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesConstraint boost::optional< std::string > Ifc4x1::IfcRelAssociatesConstraint::Intent() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } @@ -17796,7 +17796,7 @@ void Ifc4x1::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc4x1::IfcCons const IfcParse::entity& Ifc4x1::IfcRelAssociatesConstraint::declaration() const { return *IFC4X1_IfcRelAssociatesConstraint_type; } const IfcParse::entity& Ifc4x1::IfcRelAssociatesConstraint::Class() { return *IFC4X1_IfcRelAssociatesConstraint_type; } Ifc4x1::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcRelAssociatesConstraint_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x1::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} if (v6_Intent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Intent));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } +Ifc4x1::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x1::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_Intent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Intent));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociatesDocument ::Ifc4x1::IfcDocumentSelect* Ifc4x1::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcDocumentSelect>(true); } @@ -17806,7 +17806,7 @@ void Ifc4x1::IfcRelAssociatesDocument::setRelatingDocument(::Ifc4x1::IfcDocument const IfcParse::entity& Ifc4x1::IfcRelAssociatesDocument::declaration() const { return *IFC4X1_IfcRelAssociatesDocument_type; } const IfcParse::entity& Ifc4x1::IfcRelAssociatesDocument::Class() { return *IFC4X1_IfcRelAssociatesDocument_type; } Ifc4x1::IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcRelAssociatesDocument_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x1::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } +Ifc4x1::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x1::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesLibrary ::Ifc4x1::IfcLibrarySelect* Ifc4x1::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcLibrarySelect>(true); } @@ -17816,7 +17816,7 @@ void Ifc4x1::IfcRelAssociatesLibrary::setRelatingLibrary(::Ifc4x1::IfcLibrarySel const IfcParse::entity& Ifc4x1::IfcRelAssociatesLibrary::declaration() const { return *IFC4X1_IfcRelAssociatesLibrary_type; } const IfcParse::entity& Ifc4x1::IfcRelAssociatesLibrary::Class() { return *IFC4X1_IfcRelAssociatesLibrary_type; } Ifc4x1::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcRelAssociatesLibrary_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x1::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } +Ifc4x1::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x1::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesMaterial ::Ifc4x1::IfcMaterialSelect* Ifc4x1::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcMaterialSelect>(true); } @@ -17826,7 +17826,7 @@ void Ifc4x1::IfcRelAssociatesMaterial::setRelatingMaterial(::Ifc4x1::IfcMaterial const IfcParse::entity& Ifc4x1::IfcRelAssociatesMaterial::declaration() const { return *IFC4X1_IfcRelAssociatesMaterial_type; } const IfcParse::entity& Ifc4x1::IfcRelAssociatesMaterial::Class() { return *IFC4X1_IfcRelAssociatesMaterial_type; } Ifc4x1::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcRelAssociatesMaterial_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x1::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelAssociatesMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingMaterial));data_->setArgument(5,attr);} } +Ifc4x1::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x1::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelAssociatesMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingMaterial));data_->setArgument(5,attr);} } // Function implementations for IfcRelConnects @@ -17985,14 +17985,14 @@ Ifc4x1::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::Ifc4x1 // Function implementations for IfcRelDeclares ::Ifc4x1::IfcContext* Ifc4x1::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcContext>(true); } void Ifc4x1::IfcRelDeclares::setRelatingContext(::Ifc4x1::IfcContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr Ifc4x1::IfcRelDeclares::RelatedDefinitions() const { aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v = *data_->getArgument(5); return v; } -void Ifc4x1::IfcRelDeclares::setRelatedDefinitions(aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } +aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr Ifc4x1::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x1::IfcDefinitionSelect >(); } +void Ifc4x1::IfcRelDeclares::setRelatedDefinitions(aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x1::IfcRelDeclares::declaration() const { return *IFC4X1_IfcRelDeclares_type; } const IfcParse::entity& Ifc4x1::IfcRelDeclares::Class() { return *IFC4X1_IfcRelDeclares_type; } Ifc4x1::IfcRelDeclares::IfcRelDeclares(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcRelDeclares_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelDeclares_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingContext));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedDefinitions));data_->setArgument(5,attr);} } +Ifc4x1::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelDeclares_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingContext));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedDefinitions)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelDecomposes @@ -18306,8 +18306,8 @@ Ifc4x1::IfcResource::IfcResource(IfcEntityInstanceData* e) : IfcObject((IfcEntit Ifc4x1::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc4x1::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((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_LongDescription));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcResourceApprovalRelationship -aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr Ifc4x1::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr Ifc4x1::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x1::IfcResourceObjectSelect >(); } +void Ifc4x1::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } ::Ifc4x1::IfcApproval* Ifc4x1::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcApproval>(true); } void Ifc4x1::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x1::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -18315,19 +18315,19 @@ void Ifc4x1::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x1::IfcA const IfcParse::entity& Ifc4x1::IfcResourceApprovalRelationship::declaration() const { return *IFC4X1_IfcResourceApprovalRelationship_type; } const IfcParse::entity& Ifc4x1::IfcResourceApprovalRelationship::Class() { return *IFC4X1_IfcResourceApprovalRelationship_type; } Ifc4x1::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcResourceApprovalRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x1::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcResourceApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatedResourceObjects));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatingApproval));data_->setArgument(3,attr);} } +Ifc4x1::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x1::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcResourceApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatedResourceObjects)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatingApproval));data_->setArgument(3,attr);} } // Function implementations for IfcResourceConstraintRelationship ::Ifc4x1::IfcConstraint* Ifc4x1::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcConstraint>(true); } void Ifc4x1::IfcResourceConstraintRelationship::setRelatingConstraint(::Ifc4x1::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr Ifc4x1::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr v = *data_->getArgument(3); return v; } -void Ifc4x1::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr Ifc4x1::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x1::IfcResourceObjectSelect >(); } +void Ifc4x1::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x1::IfcResourceConstraintRelationship::declaration() const { return *IFC4X1_IfcResourceConstraintRelationship_type; } const IfcParse::entity& Ifc4x1::IfcResourceConstraintRelationship::Class() { return *IFC4X1_IfcResourceConstraintRelationship_type; } Ifc4x1::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcResourceConstraintRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcResourceConstraintRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingConstraint));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } +Ifc4x1::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcResourceConstraintRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingConstraint));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcResourceLevelRelationship boost::optional< std::string > Ifc4x1::IfcResourceLevelRelationship::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -18674,14 +18674,14 @@ Ifc4x1::IfcShapeRepresentation::IfcShapeRepresentation(IfcEntityInstanceData* e) Ifc4x1::IfcShapeRepresentation::IfcShapeRepresentation(::Ifc4x1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x1::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcShapeRepresentation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ContextOfItems));data_->setArgument(0,attr);} if (v2_RepresentationIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_RepresentationIdentifier));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_RepresentationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_RepresentationType));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Items)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcShellBasedSurfaceModel -aggregate_of< ::Ifc4x1::IfcShell >::ptr Ifc4x1::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of< ::Ifc4x1::IfcShell >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x1::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of< ::Ifc4x1::IfcShell >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x1::IfcShell >::ptr Ifc4x1::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x1::IfcShell >(); } +void Ifc4x1::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of< ::Ifc4x1::IfcShell >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x1::IfcShellBasedSurfaceModel::declaration() const { return *IFC4X1_IfcShellBasedSurfaceModel_type; } const IfcParse::entity& Ifc4x1::IfcShellBasedSurfaceModel::Class() { return *IFC4X1_IfcShellBasedSurfaceModel_type; } Ifc4x1::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcShellBasedSurfaceModel_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4x1::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcShellBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SbsmBoundary));data_->setArgument(0,attr);} } +Ifc4x1::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4x1::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcShellBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SbsmBoundary)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcSimpleProperty @@ -19442,8 +19442,8 @@ Ifc4x1::IfcStyleModel::IfcStyleModel(::Ifc4x1::IfcRepresentationContext* v1_Cont // Function implementations for IfcStyledItem ::Ifc4x1::IfcRepresentationItem* Ifc4x1::IfcStyledItem::Item() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcRepresentationItem>(true); } void Ifc4x1::IfcStyledItem::setItem(::Ifc4x1::IfcRepresentationItem* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of< ::Ifc4x1::IfcStyleAssignmentSelect >::ptr Ifc4x1::IfcStyledItem::Styles() const { aggregate_of< ::Ifc4x1::IfcStyleAssignmentSelect >::ptr v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcStyledItem::setStyles(aggregate_of< ::Ifc4x1::IfcStyleAssignmentSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x1::IfcStyleAssignmentSelect >::ptr Ifc4x1::IfcStyledItem::Styles() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x1::IfcStyleAssignmentSelect >(); } +void Ifc4x1::IfcStyledItem::setStyles(aggregate_of< ::Ifc4x1::IfcStyleAssignmentSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x1::IfcStyledItem::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4x1::IfcStyledItem::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } @@ -19451,7 +19451,7 @@ void Ifc4x1::IfcStyledItem::setName(boost::optional< std::string > v) { {IfcWrit const IfcParse::entity& Ifc4x1::IfcStyledItem::declaration() const { return *IFC4X1_IfcStyledItem_type; } const IfcParse::entity& Ifc4x1::IfcStyledItem::Class() { return *IFC4X1_IfcStyledItem_type; } Ifc4x1::IfcStyledItem::IfcStyledItem(IfcEntityInstanceData* e) : IfcRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcStyledItem_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcStyledItem::IfcStyledItem(::Ifc4x1::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc4x1::IfcStyleAssignmentSelect >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcStyledItem_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Item));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Styles));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x1::IfcStyledItem::IfcStyledItem(::Ifc4x1::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc4x1::IfcStyleAssignmentSelect >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcStyledItem_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Item));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Styles)->generalize());data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcStyledRepresentation @@ -19578,14 +19578,14 @@ Ifc4x1::IfcSurfaceReinforcementArea::IfcSurfaceReinforcementArea(boost::optional // Function implementations for IfcSurfaceStyle ::Ifc4x1::IfcSurfaceSide::Value Ifc4x1::IfcSurfaceStyle::Side() const { return ::Ifc4x1::IfcSurfaceSide::FromString(*data_->getArgument(1)); } void Ifc4x1::IfcSurfaceStyle::setSide(::Ifc4x1::IfcSurfaceSide::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcSurfaceSide::ToString(v)));data_->setArgument(1,attr);} } -aggregate_of< ::Ifc4x1::IfcSurfaceStyleElementSelect >::ptr Ifc4x1::IfcSurfaceStyle::Styles() const { aggregate_of< ::Ifc4x1::IfcSurfaceStyleElementSelect >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcSurfaceStyle::setStyles(aggregate_of< ::Ifc4x1::IfcSurfaceStyleElementSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x1::IfcSurfaceStyleElementSelect >::ptr Ifc4x1::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x1::IfcSurfaceStyleElementSelect >(); } +void Ifc4x1::IfcSurfaceStyle::setStyles(aggregate_of< ::Ifc4x1::IfcSurfaceStyleElementSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x1::IfcSurfaceStyle::declaration() const { return *IFC4X1_IfcSurfaceStyle_type; } const IfcParse::entity& Ifc4x1::IfcSurfaceStyle::Class() { return *IFC4X1_IfcSurfaceStyle_type; } Ifc4x1::IfcSurfaceStyle::IfcSurfaceStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcSurfaceStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x1::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x1::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc4x1::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles));data_->setArgument(2,attr);} } +Ifc4x1::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x1::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x1::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc4x1::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles)->generalize());data_->setArgument(2,attr);} } // Function implementations for IfcSurfaceStyleLighting ::Ifc4x1::IfcColourRgb* Ifc4x1::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcColourRgb>(true); } @@ -19839,8 +19839,8 @@ Ifc4x1::IfcTableColumn::IfcTableColumn(IfcEntityInstanceData* e) : IfcUtil::IfcB Ifc4x1::IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, ::Ifc4x1::IfcUnit* v4_Unit, ::Ifc4x1::IfcReference* v5_ReferencePath) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X1_IfcTableColumn_type); if (v1_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Identifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Name));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_ReferencePath));data_->setArgument(4,attr);} } // Function implementations for IfcTableRow -boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > Ifc4x1::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x1::IfcValue >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x1::IfcTableRow::setRowCells(boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } +boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > Ifc4x1::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x1::IfcValue >(); } +void Ifc4x1::IfcTableRow::setRowCells(boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(0,attr);} } boost::optional< bool > Ifc4x1::IfcTableRow::IsHeading() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } bool v = *data_->getArgument(1); return v; } void Ifc4x1::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } @@ -19848,7 +19848,7 @@ void Ifc4x1::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrite::I const IfcParse::entity& Ifc4x1::IfcTableRow::declaration() const { return *IFC4X1_IfcTableRow_type; } const IfcParse::entity& Ifc4x1::IfcTableRow::Class() { return *IFC4X1_IfcTableRow_type; } Ifc4x1::IfcTableRow::IfcTableRow(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X1_IfcTableRow_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X1_IfcTableRow_type); if (v1_RowCells) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RowCells));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_IsHeading) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_IsHeading));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } +Ifc4x1::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X1_IfcTableRow_type); if (v1_RowCells) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RowCells)->generalize());data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_IsHeading) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_IsHeading));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcTank boost::optional< ::Ifc4x1::IfcTankTypeEnum::Value > Ifc4x1::IfcTank::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcTankTypeEnum::FromString(*data_->getArgument(8)); } @@ -20240,14 +20240,14 @@ Ifc4x1::IfcTimeSeries::IfcTimeSeries(IfcEntityInstanceData* e) : IfcUtil::IfcBas Ifc4x1::IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x1::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x1::IfcUnit* v8_Unit) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X1_IfcTimeSeries_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_StartTime));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EndTime));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_TimeSeriesDataType,::Ifc4x1::IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType))));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v6_DataOrigin,::Ifc4x1::IfcDataOriginEnum::ToString(v6_DataOrigin))));data_->setArgument(5,attr);} if (v7_UserDefinedDataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_UserDefinedDataOrigin));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Unit));data_->setArgument(7,attr);} } // Function implementations for IfcTimeSeriesValue -aggregate_of< ::Ifc4x1::IfcValue >::ptr Ifc4x1::IfcTimeSeriesValue::ListValues() const { aggregate_of< ::Ifc4x1::IfcValue >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x1::IfcTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x1::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x1::IfcValue >::ptr Ifc4x1::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x1::IfcValue >(); } +void Ifc4x1::IfcTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x1::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x1::IfcTimeSeriesValue::declaration() const { return *IFC4X1_IfcTimeSeriesValue_type; } const IfcParse::entity& Ifc4x1::IfcTimeSeriesValue::Class() { return *IFC4X1_IfcTimeSeriesValue_type; } Ifc4x1::IfcTimeSeriesValue::IfcTimeSeriesValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X1_IfcTimeSeriesValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x1::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X1_IfcTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ListValues));data_->setArgument(0,attr);} } +Ifc4x1::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x1::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X1_IfcTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ListValues)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcTopologicalRepresentationItem @@ -20380,10 +20380,10 @@ Ifc4x1::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(::Ifc4x // Function implementations for IfcTrimmedCurve ::Ifc4x1::IfcCurve* Ifc4x1::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcCurve>(true); } void Ifc4x1::IfcTrimmedCurve::setBasisCurve(::Ifc4x1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of< ::Ifc4x1::IfcTrimmingSelect >::ptr Ifc4x1::IfcTrimmedCurve::Trim1() const { aggregate_of< ::Ifc4x1::IfcTrimmingSelect >::ptr v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcTrimmedCurve::setTrim1(aggregate_of< ::Ifc4x1::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -aggregate_of< ::Ifc4x1::IfcTrimmingSelect >::ptr Ifc4x1::IfcTrimmedCurve::Trim2() const { aggregate_of< ::Ifc4x1::IfcTrimmingSelect >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcTrimmedCurve::setTrim2(aggregate_of< ::Ifc4x1::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x1::IfcTrimmingSelect >::ptr Ifc4x1::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x1::IfcTrimmingSelect >(); } +void Ifc4x1::IfcTrimmedCurve::setTrim1(aggregate_of< ::Ifc4x1::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x1::IfcTrimmingSelect >::ptr Ifc4x1::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x1::IfcTrimmingSelect >(); } +void Ifc4x1::IfcTrimmedCurve::setTrim2(aggregate_of< ::Ifc4x1::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } bool Ifc4x1::IfcTrimmedCurve::SenseAgreement() const { bool v = *data_->getArgument(3); return v; } void Ifc4x1::IfcTrimmedCurve::setSenseAgreement(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x1::IfcTrimmingPreference::Value Ifc4x1::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4x1::IfcTrimmingPreference::FromString(*data_->getArgument(4)); } @@ -20393,7 +20393,7 @@ void Ifc4x1::IfcTrimmedCurve::setMasterRepresentation(::Ifc4x1::IfcTrimmingPrefe const IfcParse::entity& Ifc4x1::IfcTrimmedCurve::declaration() const { return *IFC4X1_IfcTrimmedCurve_type; } const IfcParse::entity& Ifc4x1::IfcTrimmedCurve::Class() { return *IFC4X1_IfcTrimmedCurve_type; } Ifc4x1::IfcTrimmedCurve::IfcTrimmedCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X1_IfcTrimmedCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x1::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x1::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x1::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x1::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcTrimmedCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Trim1));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Trim2));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SenseAgreement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_MasterRepresentation,::Ifc4x1::IfcTrimmingPreference::ToString(v5_MasterRepresentation))));data_->setArgument(4,attr);} } +Ifc4x1::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x1::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x1::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x1::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x1::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcTrimmedCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Trim1)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Trim2)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SenseAgreement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_MasterRepresentation,::Ifc4x1::IfcTrimmingPreference::ToString(v5_MasterRepresentation))));data_->setArgument(4,attr);} } // Function implementations for IfcTubeBundle boost::optional< ::Ifc4x1::IfcTubeBundleTypeEnum::Value > Ifc4x1::IfcTubeBundle::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcTubeBundleTypeEnum::FromString(*data_->getArgument(8)); } @@ -20494,14 +20494,14 @@ Ifc4x1::IfcUShapeProfileDef::IfcUShapeProfileDef(IfcEntityInstanceData* e) : Ifc Ifc4x1::IfcUShapeProfileDef::IfcUShapeProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x1::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((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcUShapeProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4x1::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_FlangeWidth));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_WebThickness));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_FlangeThickness));data_->setArgument(6,attr);} if (v8_FilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_FilletRadius));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_EdgeRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_EdgeRadius));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_FlangeSlope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_FlangeSlope));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcUnitAssignment -aggregate_of< ::Ifc4x1::IfcUnit >::ptr Ifc4x1::IfcUnitAssignment::Units() const { aggregate_of< ::Ifc4x1::IfcUnit >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x1::IfcUnitAssignment::setUnits(aggregate_of< ::Ifc4x1::IfcUnit >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x1::IfcUnit >::ptr Ifc4x1::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x1::IfcUnit >(); } +void Ifc4x1::IfcUnitAssignment::setUnits(aggregate_of< ::Ifc4x1::IfcUnit >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x1::IfcUnitAssignment::declaration() const { return *IFC4X1_IfcUnitAssignment_type; } const IfcParse::entity& Ifc4x1::IfcUnitAssignment::Class() { return *IFC4X1_IfcUnitAssignment_type; } Ifc4x1::IfcUnitAssignment::IfcUnitAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X1_IfcUnitAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x1::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4x1::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X1_IfcUnitAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Units));data_->setArgument(0,attr);} } +Ifc4x1::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4x1::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X1_IfcUnitAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Units)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcUnitaryControlElement boost::optional< ::Ifc4x1::IfcUnitaryControlElementTypeEnum::Value > Ifc4x1::IfcUnitaryControlElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcUnitaryControlElementTypeEnum::FromString(*data_->getArgument(8)); } diff --git a/src/ifcparse/Ifc4x2.cpp b/src/ifcparse/Ifc4x2.cpp index 3848d6a3aa..af8e325e89 100644 --- a/src/ifcparse/Ifc4x2.cpp +++ b/src/ifcparse/Ifc4x2.cpp @@ -14094,8 +14094,8 @@ boost::optional< std::string > Ifc4x2::IfcDocumentInformation::Revision() const void Ifc4x2::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x2::IfcActorSelect* Ifc4x2::IfcDocumentInformation::DocumentOwner() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x2::IfcActorSelect>(true); } void Ifc4x2::IfcDocumentInformation::setDocumentOwner(::Ifc4x2::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -boost::optional< aggregate_of< ::Ifc4x2::IfcActorSelect >::ptr > Ifc4x2::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x2::IfcActorSelect >::ptr v = *data_->getArgument(9); return v; } -void Ifc4x2::IfcDocumentInformation::setEditors(boost::optional< aggregate_of< ::Ifc4x2::IfcActorSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } +boost::optional< aggregate_of< ::Ifc4x2::IfcActorSelect >::ptr > Ifc4x2::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc4x2::IfcActorSelect >(); } +void Ifc4x2::IfcDocumentInformation::setEditors(boost::optional< aggregate_of< ::Ifc4x2::IfcActorSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x2::IfcDocumentInformation::CreationTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } void Ifc4x2::IfcDocumentInformation::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4x2::IfcDocumentInformation::LastRevisionTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } @@ -14119,7 +14119,7 @@ void Ifc4x2::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x2::IfcDoc const IfcParse::entity& Ifc4x2::IfcDocumentInformation::declaration() const { return *IFC4X2_IfcDocumentInformation_type; } const IfcParse::entity& Ifc4x2::IfcDocumentInformation::Class() { return *IFC4X2_IfcDocumentInformation_type; } Ifc4x2::IfcDocumentInformation::IfcDocumentInformation(IfcEntityInstanceData* e) : IfcExternalInformation((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcDocumentInformation_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::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, ::Ifc4x2::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x2::IfcActorSelect >::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< ::Ifc4x2::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x2::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Identification));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Location));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CreationTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LastRevisionTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LastRevisionTime));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ElectronicFormat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ElectronicFormat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ValidFrom) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ValidFrom));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ValidUntil) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ValidUntil));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc4x2::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc4x2::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } +Ifc4x2::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, ::Ifc4x2::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x2::IfcActorSelect >::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< ::Ifc4x2::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x2::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Identification));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Location));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CreationTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LastRevisionTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LastRevisionTime));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ElectronicFormat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ElectronicFormat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ValidFrom) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ValidFrom));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ValidUntil) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ValidUntil));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc4x2::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc4x2::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } // Function implementations for IfcDocumentInformationRelationship ::Ifc4x2::IfcDocumentInformation* Ifc4x2::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcDocumentInformation>(true); } @@ -14766,14 +14766,14 @@ Ifc4x2::IfcExternalReference::IfcExternalReference(boost::optional< std::string // Function implementations for IfcExternalReferenceRelationship ::Ifc4x2::IfcExternalReference* Ifc4x2::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcExternalReference>(true); } void Ifc4x2::IfcExternalReferenceRelationship::setRelatingReference(::Ifc4x2::IfcExternalReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr Ifc4x2::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr v = *data_->getArgument(3); return v; } -void Ifc4x2::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr Ifc4x2::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x2::IfcResourceObjectSelect >(); } +void Ifc4x2::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x2::IfcExternalReferenceRelationship::declaration() const { return *IFC4X2_IfcExternalReferenceRelationship_type; } const IfcParse::entity& Ifc4x2::IfcExternalReferenceRelationship::Class() { return *IFC4X2_IfcExternalReferenceRelationship_type; } Ifc4x2::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcExternalReferenceRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcExternalReferenceRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingReference));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } +Ifc4x2::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcExternalReferenceRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingReference));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcExternalSpatialElement boost::optional< ::Ifc4x2::IfcExternalSpatialElementTypeEnum::Value > Ifc4x2::IfcExternalSpatialElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcExternalSpatialElementTypeEnum::FromString(*data_->getArgument(8)); } @@ -15014,8 +15014,8 @@ Ifc4x2::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcEntityInst Ifc4x2::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcFeatureElementSubtraction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcFillAreaStyle -aggregate_of< ::Ifc4x2::IfcFillStyleSelect >::ptr Ifc4x2::IfcFillAreaStyle::FillStyles() const { aggregate_of< ::Ifc4x2::IfcFillStyleSelect >::ptr v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcFillAreaStyle::setFillStyles(aggregate_of< ::Ifc4x2::IfcFillStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x2::IfcFillStyleSelect >::ptr Ifc4x2::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x2::IfcFillStyleSelect >(); } +void Ifc4x2::IfcFillAreaStyle::setFillStyles(aggregate_of< ::Ifc4x2::IfcFillStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x2::IfcFillAreaStyle::ModelorDraughting() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } void Ifc4x2::IfcFillAreaStyle::setModelorDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } @@ -15023,7 +15023,7 @@ void Ifc4x2::IfcFillAreaStyle::setModelorDraughting(boost::optional< bool > v) { const IfcParse::entity& Ifc4x2::IfcFillAreaStyle::declaration() const { return *IFC4X2_IfcFillAreaStyle_type; } const IfcParse::entity& Ifc4x2::IfcFillAreaStyle::Class() { return *IFC4X2_IfcFillAreaStyle_type; } Ifc4x2::IfcFillAreaStyle::IfcFillAreaStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcFillAreaStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x2::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelorDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles));data_->setArgument(1,attr);} if (v3_ModelorDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ModelorDraughting));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x2::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x2::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelorDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles)->generalize());data_->setArgument(1,attr);} if (v3_ModelorDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ModelorDraughting));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcFillAreaStyleHatching ::Ifc4x2::IfcCurveStyle* Ifc4x2::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcCurveStyle>(true); } @@ -15349,7 +15349,7 @@ Ifc4x2::IfcGeographicElementType::IfcGeographicElementType(std::string v1_Global const IfcParse::entity& Ifc4x2::IfcGeometricCurveSet::declaration() const { return *IFC4X2_IfcGeometricCurveSet_type; } const IfcParse::entity& Ifc4x2::IfcGeometricCurveSet::Class() { return *IFC4X2_IfcGeometricCurveSet_type; } Ifc4x2::IfcGeometricCurveSet::IfcGeometricCurveSet(IfcEntityInstanceData* e) : IfcGeometricSet((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcGeometricCurveSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4x2::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcGeometricCurveSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } +Ifc4x2::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4x2::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcGeometricCurveSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcGeometricRepresentationContext int Ifc4x2::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = *data_->getArgument(2); return v; } @@ -15394,14 +15394,14 @@ Ifc4x2::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubConte Ifc4x2::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, ::Ifc4x2::IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, ::Ifc4x2::IfcGeometricProjectionEnum::Value v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcGeometricRepresentationSubContext_type); if (v1_ContextIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_ContextIdentifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_ContextType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ContextType));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ParentContext));data_->setArgument(6,attr);} if (v8_TargetScale) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_TargetScale));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_TargetView,::Ifc4x2::IfcGeometricProjectionEnum::ToString(v9_TargetView))));data_->setArgument(8,attr);} if (v10_UserDefinedTargetView) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_UserDefinedTargetView));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcGeometricSet -aggregate_of< ::Ifc4x2::IfcGeometricSetSelect >::ptr Ifc4x2::IfcGeometricSet::Elements() const { aggregate_of< ::Ifc4x2::IfcGeometricSetSelect >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x2::IfcGeometricSet::setElements(aggregate_of< ::Ifc4x2::IfcGeometricSetSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x2::IfcGeometricSetSelect >::ptr Ifc4x2::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x2::IfcGeometricSetSelect >(); } +void Ifc4x2::IfcGeometricSet::setElements(aggregate_of< ::Ifc4x2::IfcGeometricSetSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x2::IfcGeometricSet::declaration() const { return *IFC4X2_IfcGeometricSet_type; } const IfcParse::entity& Ifc4x2::IfcGeometricSet::Class() { return *IFC4X2_IfcGeometricSet_type; } Ifc4x2::IfcGeometricSet::IfcGeometricSet(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcGeometricSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x2::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcGeometricSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } +Ifc4x2::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x2::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcGeometricSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcGrid aggregate_of< ::Ifc4x2::IfcGridAxis >::ptr Ifc4x2::IfcGrid::UAxes() const { aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x2::IfcGridAxis >(); } @@ -15561,8 +15561,8 @@ Ifc4x2::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4x2::IfcTessellatedFaceSet // Function implementations for IfcIndexedPolyCurve ::Ifc4x2::IfcCartesianPointList* Ifc4x2::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcCartesianPointList>(true); } void Ifc4x2::IfcIndexedPolyCurve::setPoints(::Ifc4x2::IfcCartesianPointList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -boost::optional< aggregate_of< ::Ifc4x2::IfcSegmentIndexSelect >::ptr > Ifc4x2::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x2::IfcSegmentIndexSelect >::ptr v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of< ::Ifc4x2::IfcSegmentIndexSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } +boost::optional< aggregate_of< ::Ifc4x2::IfcSegmentIndexSelect >::ptr > Ifc4x2::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x2::IfcSegmentIndexSelect >(); } +void Ifc4x2::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of< ::Ifc4x2::IfcSegmentIndexSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x2::IfcIndexedPolyCurve::SelfIntersect() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } void Ifc4x2::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } @@ -15570,7 +15570,7 @@ void Ifc4x2::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { const IfcParse::entity& Ifc4x2::IfcIndexedPolyCurve::declaration() const { return *IFC4X2_IfcIndexedPolyCurve_type; } const IfcParse::entity& Ifc4x2::IfcIndexedPolyCurve::Class() { return *IFC4X2_IfcIndexedPolyCurve_type; } Ifc4x2::IfcIndexedPolyCurve::IfcIndexedPolyCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcIndexedPolyCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x2::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x2::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcIndexedPolyCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Points));data_->setArgument(0,attr);} if (v2_Segments) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Segments));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_SelfIntersect) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_SelfIntersect));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x2::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x2::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x2::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcIndexedPolyCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Points));data_->setArgument(0,attr);} if (v2_Segments) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Segments)->generalize());data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_SelfIntersect) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_SelfIntersect));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcIndexedPolygonalFace std::vector< int > /*[3:?]*/ Ifc4x2::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = *data_->getArgument(0); return v; } @@ -15676,14 +15676,14 @@ Ifc4x2::IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, boos // Function implementations for IfcIrregularTimeSeriesValue std::string Ifc4x2::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x2::IfcIrregularTimeSeriesValue::setTimeStamp(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of< ::Ifc4x2::IfcValue >::ptr Ifc4x2::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of< ::Ifc4x2::IfcValue >::ptr v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcIrregularTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x2::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x2::IfcValue >::ptr Ifc4x2::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x2::IfcValue >(); } +void Ifc4x2::IfcIrregularTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x2::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x2::IfcIrregularTimeSeriesValue::declaration() const { return *IFC4X2_IfcIrregularTimeSeriesValue_type; } const IfcParse::entity& Ifc4x2::IfcIrregularTimeSeriesValue::Class() { return *IFC4X2_IfcIrregularTimeSeriesValue_type; } Ifc4x2::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X2_IfcIrregularTimeSeriesValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4x2::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X2_IfcIrregularTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TimeStamp));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ListValues));data_->setArgument(1,attr);} } +Ifc4x2::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4x2::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X2_IfcIrregularTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TimeStamp));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ListValues)->generalize());data_->setArgument(1,attr);} } // Function implementations for IfcJunctionBox boost::optional< ::Ifc4x2::IfcJunctionBoxTypeEnum::Value > Ifc4x2::IfcJunctionBox::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcJunctionBoxTypeEnum::FromString(*data_->getArgument(8)); } @@ -16072,8 +16072,8 @@ Ifc4x2::IfcMaterial::IfcMaterial(IfcEntityInstanceData* e) : IfcMaterialDefiniti Ifc4x2::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_Category) : IfcMaterialDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Category) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Category));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcMaterialClassificationRelationship -aggregate_of< ::Ifc4x2::IfcClassificationSelect >::ptr Ifc4x2::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of< ::Ifc4x2::IfcClassificationSelect >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x2::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of< ::Ifc4x2::IfcClassificationSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x2::IfcClassificationSelect >::ptr Ifc4x2::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x2::IfcClassificationSelect >(); } +void Ifc4x2::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of< ::Ifc4x2::IfcClassificationSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } ::Ifc4x2::IfcMaterial* Ifc4x2::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcMaterial>(true); } void Ifc4x2::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc4x2::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -16081,7 +16081,7 @@ void Ifc4x2::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc4 const IfcParse::entity& Ifc4x2::IfcMaterialClassificationRelationship::declaration() const { return *IFC4X2_IfcMaterialClassificationRelationship_type; } const IfcParse::entity& Ifc4x2::IfcMaterialClassificationRelationship::Class() { return *IFC4X2_IfcMaterialClassificationRelationship_type; } Ifc4x2::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X2_IfcMaterialClassificationRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4x2::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x2::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X2_IfcMaterialClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialClassifications));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ClassifiedMaterial));data_->setArgument(1,attr);} } +Ifc4x2::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4x2::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x2::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X2_IfcMaterialClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialClassifications)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ClassifiedMaterial));data_->setArgument(1,attr);} } // Function implementations for IfcMaterialConstituent boost::optional< std::string > Ifc4x2::IfcMaterialConstituent::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -17211,8 +17211,8 @@ std::string Ifc4x2::IfcPresentationLayerAssignment::Name() const { std::string void Ifc4x2::IfcPresentationLayerAssignment::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x2::IfcPresentationLayerAssignment::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x2::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } -aggregate_of< ::Ifc4x2::IfcLayeredItem >::ptr Ifc4x2::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of< ::Ifc4x2::IfcLayeredItem >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of< ::Ifc4x2::IfcLayeredItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x2::IfcLayeredItem >::ptr Ifc4x2::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x2::IfcLayeredItem >(); } +void Ifc4x2::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of< ::Ifc4x2::IfcLayeredItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x2::IfcPresentationLayerAssignment::Identifier() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4x2::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } @@ -17220,7 +17220,7 @@ void Ifc4x2::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std: const IfcParse::entity& Ifc4x2::IfcPresentationLayerAssignment::declaration() const { return *IFC4X2_IfcPresentationLayerAssignment_type; } const IfcParse::entity& Ifc4x2::IfcPresentationLayerAssignment::Class() { return *IFC4X2_IfcPresentationLayerAssignment_type; } Ifc4x2::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X2_IfcPresentationLayerAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x2::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X2_IfcPresentationLayerAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } +Ifc4x2::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x2::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X2_IfcPresentationLayerAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems)->generalize());data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcPresentationLayerWithStyle boost::logic::tribool Ifc4x2::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = *data_->getArgument(4); return v; } @@ -17236,7 +17236,7 @@ void Ifc4x2::IfcPresentationLayerWithStyle::setLayerStyles(aggregate_of< ::Ifc4x const IfcParse::entity& Ifc4x2::IfcPresentationLayerWithStyle::declaration() const { return *IFC4X2_IfcPresentationLayerWithStyle_type; } const IfcParse::entity& Ifc4x2::IfcPresentationLayerWithStyle::Class() { return *IFC4X2_IfcPresentationLayerWithStyle_type; } Ifc4x2::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcEntityInstanceData* e) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcPresentationLayerWithStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x2::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x2::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcPresentationLayerWithStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_LayerOn));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LayerFrozen));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LayerBlocked));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LayerStyles)->generalize());data_->setArgument(7,attr);} } +Ifc4x2::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x2::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x2::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcPresentationLayerWithStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems)->generalize());data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_LayerOn));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LayerFrozen));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LayerBlocked));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LayerStyles)->generalize());data_->setArgument(7,attr);} } // Function implementations for IfcPresentationStyle boost::optional< std::string > Ifc4x2::IfcPresentationStyle::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -17249,14 +17249,14 @@ Ifc4x2::IfcPresentationStyle::IfcPresentationStyle(IfcEntityInstanceData* e) : I Ifc4x2::IfcPresentationStyle::IfcPresentationStyle(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X2_IfcPresentationStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } } // Function implementations for IfcPresentationStyleAssignment -aggregate_of< ::Ifc4x2::IfcPresentationStyleSelect >::ptr Ifc4x2::IfcPresentationStyleAssignment::Styles() const { aggregate_of< ::Ifc4x2::IfcPresentationStyleSelect >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x2::IfcPresentationStyleAssignment::setStyles(aggregate_of< ::Ifc4x2::IfcPresentationStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x2::IfcPresentationStyleSelect >::ptr Ifc4x2::IfcPresentationStyleAssignment::Styles() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x2::IfcPresentationStyleSelect >(); } +void Ifc4x2::IfcPresentationStyleAssignment::setStyles(aggregate_of< ::Ifc4x2::IfcPresentationStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x2::IfcPresentationStyleAssignment::declaration() const { return *IFC4X2_IfcPresentationStyleAssignment_type; } const IfcParse::entity& Ifc4x2::IfcPresentationStyleAssignment::Class() { return *IFC4X2_IfcPresentationStyleAssignment_type; } Ifc4x2::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X2_IfcPresentationStyleAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(aggregate_of< ::Ifc4x2::IfcPresentationStyleSelect >::ptr v1_Styles) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X2_IfcPresentationStyleAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Styles));data_->setArgument(0,attr);} } +Ifc4x2::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(aggregate_of< ::Ifc4x2::IfcPresentationStyleSelect >::ptr v1_Styles) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X2_IfcPresentationStyleAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Styles)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcProcedure boost::optional< ::Ifc4x2::IfcProcedureTypeEnum::Value > Ifc4x2::IfcProcedure::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x2::IfcProcedureTypeEnum::FromString(*data_->getArgument(7)); } @@ -17477,8 +17477,8 @@ Ifc4x2::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(Ifc Ifc4x2::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcProperty* v3_DependingProperty, ::Ifc4x2::IfcProperty* v4_DependantProperty, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcPropertyDependencyRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_DependingProperty));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_DependantProperty));data_->setArgument(3,attr);} if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcPropertyEnumeratedValue -boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > Ifc4x2::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x2::IfcValue >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > Ifc4x2::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x2::IfcValue >(); } +void Ifc4x2::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } ::Ifc4x2::IfcPropertyEnumeration* Ifc4x2::IfcPropertyEnumeratedValue::EnumerationReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcPropertyEnumeration>(true); } void Ifc4x2::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x2::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -17486,13 +17486,13 @@ void Ifc4x2::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x2::IfcPr const IfcParse::entity& Ifc4x2::IfcPropertyEnumeratedValue::declaration() const { return *IFC4X2_IfcPropertyEnumeratedValue_type; } const IfcParse::entity& Ifc4x2::IfcPropertyEnumeratedValue::Class() { return *IFC4X2_IfcPropertyEnumeratedValue_type; } Ifc4x2::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcPropertyEnumeratedValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x2::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcPropertyEnumeratedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EnumerationValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EnumerationValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EnumerationReference));data_->setArgument(3,attr);} } +Ifc4x2::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x2::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcPropertyEnumeratedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EnumerationValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EnumerationValues)->generalize());data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EnumerationReference));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyEnumeration std::string Ifc4x2::IfcPropertyEnumeration::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x2::IfcPropertyEnumeration::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of< ::Ifc4x2::IfcValue >::ptr Ifc4x2::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of< ::Ifc4x2::IfcValue >::ptr v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcPropertyEnumeration::setEnumerationValues(aggregate_of< ::Ifc4x2::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x2::IfcValue >::ptr Ifc4x2::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x2::IfcValue >(); } +void Ifc4x2::IfcPropertyEnumeration::setEnumerationValues(aggregate_of< ::Ifc4x2::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } ::Ifc4x2::IfcUnit* Ifc4x2::IfcPropertyEnumeration::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcUnit>(true); } void Ifc4x2::IfcPropertyEnumeration::setUnit(::Ifc4x2::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -17500,11 +17500,11 @@ void Ifc4x2::IfcPropertyEnumeration::setUnit(::Ifc4x2::IfcUnit* v) { {IfcWrite:: const IfcParse::entity& Ifc4x2::IfcPropertyEnumeration::declaration() const { return *IFC4X2_IfcPropertyEnumeration_type; } const IfcParse::entity& Ifc4x2::IfcPropertyEnumeration::Class() { return *IFC4X2_IfcPropertyEnumeration_type; } Ifc4x2::IfcPropertyEnumeration::IfcPropertyEnumeration(IfcEntityInstanceData* e) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcPropertyEnumeration_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4x2::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x2::IfcUnit* v3_Unit) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcPropertyEnumeration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EnumerationValues));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);} } +Ifc4x2::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4x2::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x2::IfcUnit* v3_Unit) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcPropertyEnumeration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EnumerationValues)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);} } // Function implementations for IfcPropertyListValue -boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > Ifc4x2::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x2::IfcValue >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcPropertyListValue::setListValues(boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > Ifc4x2::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x2::IfcValue >(); } +void Ifc4x2::IfcPropertyListValue::setListValues(boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } ::Ifc4x2::IfcUnit* Ifc4x2::IfcPropertyListValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcUnit>(true); } void Ifc4x2::IfcPropertyListValue::setUnit(::Ifc4x2::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -17512,7 +17512,7 @@ void Ifc4x2::IfcPropertyListValue::setUnit(::Ifc4x2::IfcUnit* v) { {IfcWrite::If const IfcParse::entity& Ifc4x2::IfcPropertyListValue::declaration() const { return *IFC4X2_IfcPropertyListValue_type; } const IfcParse::entity& Ifc4x2::IfcPropertyListValue::Class() { return *IFC4X2_IfcPropertyListValue_type; } Ifc4x2::IfcPropertyListValue::IfcPropertyListValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcPropertyListValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v3_ListValues, ::Ifc4x2::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcPropertyListValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ListValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ListValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } +Ifc4x2::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v3_ListValues, ::Ifc4x2::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcPropertyListValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ListValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ListValues)->generalize());data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyReferenceValue boost::optional< std::string > Ifc4x2::IfcPropertyReferenceValue::UsageName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } @@ -17575,10 +17575,10 @@ Ifc4x2::IfcPropertySingleValue::IfcPropertySingleValue(IfcEntityInstanceData* e) Ifc4x2::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcValue* v3_NominalValue, ::Ifc4x2::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcPropertySingleValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_NominalValue));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyTableValue -boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > Ifc4x2::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x2::IfcValue >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } -boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > Ifc4x2::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x2::IfcValue >::ptr v = *data_->getArgument(3); return v; } -void Ifc4x2::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } +boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > Ifc4x2::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x2::IfcValue >(); } +void Ifc4x2::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > Ifc4x2::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x2::IfcValue >(); } +void Ifc4x2::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x2::IfcPropertyTableValue::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x2::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x2::IfcUnit* Ifc4x2::IfcPropertyTableValue::DefiningUnit() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcUnit>(true); } @@ -17592,7 +17592,7 @@ void Ifc4x2::IfcPropertyTableValue::setCurveInterpolation(boost::optional< ::Ifc const IfcParse::entity& Ifc4x2::IfcPropertyTableValue::declaration() const { return *IFC4X2_IfcPropertyTableValue_type; } const IfcParse::entity& Ifc4x2::IfcPropertyTableValue::Class() { return *IFC4X2_IfcPropertyTableValue_type; } Ifc4x2::IfcPropertyTableValue::IfcPropertyTableValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcPropertyTableValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x2::IfcUnit* v6_DefiningUnit, ::Ifc4x2::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x2::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcPropertyTableValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_DefiningValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_DefiningValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DefinedValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DefinedValues));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_DefiningUnit));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_DefinedUnit));data_->setArgument(6,attr);} if (v8_CurveInterpolation) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_CurveInterpolation,::Ifc4x2::IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } +Ifc4x2::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x2::IfcUnit* v6_DefiningUnit, ::Ifc4x2::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x2::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcPropertyTableValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_DefiningValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_DefiningValues)->generalize());data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DefinedValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DefinedValues)->generalize());data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_DefiningUnit));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_DefinedUnit));data_->setArgument(6,attr);} if (v8_CurveInterpolation) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_CurveInterpolation,::Ifc4x2::IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcPropertyTemplate @@ -18035,14 +18035,14 @@ boost::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value > Ifc4x2::IfcRein void Ifc4x2::IfcReinforcingBarType::setBarSurface(boost::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcReinforcingBarSurfaceEnum::ToString(*v)));}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4x2::IfcReinforcingBarType::BendingShapeCode() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } void Ifc4x2::IfcReinforcingBarType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } -boost::optional< aggregate_of< ::Ifc4x2::IfcBendingParameterSelect >::ptr > Ifc4x2::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x2::IfcBendingParameterSelect >::ptr v = *data_->getArgument(15); return v; } -void Ifc4x2::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x2::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } +boost::optional< aggregate_of< ::Ifc4x2::IfcBendingParameterSelect >::ptr > Ifc4x2::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(15); return es->as< ::Ifc4x2::IfcBendingParameterSelect >(); } +void Ifc4x2::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x2::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(15,attr);} } const IfcParse::entity& Ifc4x2::IfcReinforcingBarType::declaration() const { return *IFC4X2_IfcReinforcingBarType_type; } const IfcParse::entity& Ifc4x2::IfcReinforcingBarType::Class() { return *IFC4X2_IfcReinforcingBarType_type; } Ifc4x2::IfcReinforcingBarType::IfcReinforcingBarType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcReinforcingBarType_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x2::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcReinforcingBarType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x2::IfcReinforcingBarTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_BarLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_BarLength));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_BarSurface) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_BarSurface,::Ifc4x2::IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_BendingShapeCode));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_BendingParameters));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } } +Ifc4x2::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x2::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcReinforcingBarType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x2::IfcReinforcingBarTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_BarLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_BarLength));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_BarSurface) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_BarSurface,::Ifc4x2::IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_BendingShapeCode));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_BendingParameters)->generalize());data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } } // Function implementations for IfcReinforcingElement boost::optional< std::string > Ifc4x2::IfcReinforcingElement::SteelGrade() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } @@ -18109,14 +18109,14 @@ boost::optional< double > Ifc4x2::IfcReinforcingMeshType::TransverseBarSpacing() void Ifc4x2::IfcReinforcingMeshType::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(17,attr);} } boost::optional< std::string > Ifc4x2::IfcReinforcingMeshType::BendingShapeCode() const { if(!data_->getArgument(18) || data_->getArgument(18)->isNull()) { return boost::none; } std::string v = *data_->getArgument(18); return v; } void Ifc4x2::IfcReinforcingMeshType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(18,attr);} } -boost::optional< aggregate_of< ::Ifc4x2::IfcBendingParameterSelect >::ptr > Ifc4x2::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x2::IfcBendingParameterSelect >::ptr v = *data_->getArgument(19); return v; } -void Ifc4x2::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x2::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(19,attr);} } +boost::optional< aggregate_of< ::Ifc4x2::IfcBendingParameterSelect >::ptr > Ifc4x2::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(19); return es->as< ::Ifc4x2::IfcBendingParameterSelect >(); } +void Ifc4x2::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x2::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(19,attr);} } const IfcParse::entity& Ifc4x2::IfcReinforcingMeshType::declaration() const { return *IFC4X2_IfcReinforcingMeshType_type; } const IfcParse::entity& Ifc4x2::IfcReinforcingMeshType::Class() { return *IFC4X2_IfcReinforcingMeshType_type; } Ifc4x2::IfcReinforcingMeshType::IfcReinforcingMeshType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcReinforcingMeshType_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of< ::Ifc4x2::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcReinforcingMeshType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x2::IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshLength));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_MeshWidth));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LongitudinalBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TransverseBarNominalDiameter));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LongitudinalBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_TransverseBarCrossSectionArea));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LongitudinalBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_TransverseBarSpacing));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_BendingShapeCode));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_BendingParameters));data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } +Ifc4x2::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of< ::Ifc4x2::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcReinforcingMeshType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x2::IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshLength));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_MeshWidth));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LongitudinalBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TransverseBarNominalDiameter));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LongitudinalBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_TransverseBarCrossSectionArea));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LongitudinalBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_TransverseBarSpacing));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_BendingShapeCode));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_BendingParameters)->generalize());data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } // Function implementations for IfcRelAggregates ::Ifc4x2::IfcObjectDefinition* Ifc4x2::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcObjectDefinition>(true); } @@ -18217,14 +18217,14 @@ Ifc4x2::IfcRelAssignsToResource::IfcRelAssignsToResource(IfcEntityInstanceData* Ifc4x2::IfcRelAssignsToResource::IfcRelAssignsToResource(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcResourceSelect* v7_RelatingResource) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelAssignsToResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x2::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingResource));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociates -aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr Ifc4x2::IfcRelAssociates::RelatedObjects() const { aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcRelAssociates::setRelatedObjects(aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr Ifc4x2::IfcRelAssociates::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x2::IfcDefinitionSelect >(); } +void Ifc4x2::IfcRelAssociates::setRelatedObjects(aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x2::IfcRelAssociates::declaration() const { return *IFC4X2_IfcRelAssociates_type; } const IfcParse::entity& Ifc4x2::IfcRelAssociates::Class() { return *IFC4X2_IfcRelAssociates_type; } Ifc4x2::IfcRelAssociates::IfcRelAssociates(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcRelAssociates_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} } +Ifc4x2::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} } // Function implementations for IfcRelAssociatesApproval ::Ifc4x2::IfcApproval* Ifc4x2::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcApproval>(true); } @@ -18234,7 +18234,7 @@ void Ifc4x2::IfcRelAssociatesApproval::setRelatingApproval(::Ifc4x2::IfcApproval const IfcParse::entity& Ifc4x2::IfcRelAssociatesApproval::declaration() const { return *IFC4X2_IfcRelAssociatesApproval_type; } const IfcParse::entity& Ifc4x2::IfcRelAssociatesApproval::Class() { return *IFC4X2_IfcRelAssociatesApproval_type; } Ifc4x2::IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcRelAssociatesApproval_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x2::IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } +Ifc4x2::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x2::IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesClassification ::Ifc4x2::IfcClassificationSelect* Ifc4x2::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcClassificationSelect>(true); } @@ -18244,7 +18244,7 @@ void Ifc4x2::IfcRelAssociatesClassification::setRelatingClassification(::Ifc4x2: const IfcParse::entity& Ifc4x2::IfcRelAssociatesClassification::declaration() const { return *IFC4X2_IfcRelAssociatesClassification_type; } const IfcParse::entity& Ifc4x2::IfcRelAssociatesClassification::Class() { return *IFC4X2_IfcRelAssociatesClassification_type; } Ifc4x2::IfcRelAssociatesClassification::IfcRelAssociatesClassification(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcRelAssociatesClassification_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x2::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelAssociatesClassification_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingClassification));data_->setArgument(5,attr);} } +Ifc4x2::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x2::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelAssociatesClassification_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingClassification));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesConstraint boost::optional< std::string > Ifc4x2::IfcRelAssociatesConstraint::Intent() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } @@ -18256,7 +18256,7 @@ void Ifc4x2::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc4x2::IfcCons const IfcParse::entity& Ifc4x2::IfcRelAssociatesConstraint::declaration() const { return *IFC4X2_IfcRelAssociatesConstraint_type; } const IfcParse::entity& Ifc4x2::IfcRelAssociatesConstraint::Class() { return *IFC4X2_IfcRelAssociatesConstraint_type; } Ifc4x2::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcRelAssociatesConstraint_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x2::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} if (v6_Intent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Intent));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } +Ifc4x2::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x2::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_Intent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Intent));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociatesDocument ::Ifc4x2::IfcDocumentSelect* Ifc4x2::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcDocumentSelect>(true); } @@ -18266,7 +18266,7 @@ void Ifc4x2::IfcRelAssociatesDocument::setRelatingDocument(::Ifc4x2::IfcDocument const IfcParse::entity& Ifc4x2::IfcRelAssociatesDocument::declaration() const { return *IFC4X2_IfcRelAssociatesDocument_type; } const IfcParse::entity& Ifc4x2::IfcRelAssociatesDocument::Class() { return *IFC4X2_IfcRelAssociatesDocument_type; } Ifc4x2::IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcRelAssociatesDocument_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x2::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } +Ifc4x2::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x2::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesLibrary ::Ifc4x2::IfcLibrarySelect* Ifc4x2::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcLibrarySelect>(true); } @@ -18276,7 +18276,7 @@ void Ifc4x2::IfcRelAssociatesLibrary::setRelatingLibrary(::Ifc4x2::IfcLibrarySel const IfcParse::entity& Ifc4x2::IfcRelAssociatesLibrary::declaration() const { return *IFC4X2_IfcRelAssociatesLibrary_type; } const IfcParse::entity& Ifc4x2::IfcRelAssociatesLibrary::Class() { return *IFC4X2_IfcRelAssociatesLibrary_type; } Ifc4x2::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcRelAssociatesLibrary_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x2::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } +Ifc4x2::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x2::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesMaterial ::Ifc4x2::IfcMaterialSelect* Ifc4x2::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcMaterialSelect>(true); } @@ -18286,7 +18286,7 @@ void Ifc4x2::IfcRelAssociatesMaterial::setRelatingMaterial(::Ifc4x2::IfcMaterial const IfcParse::entity& Ifc4x2::IfcRelAssociatesMaterial::declaration() const { return *IFC4X2_IfcRelAssociatesMaterial_type; } const IfcParse::entity& Ifc4x2::IfcRelAssociatesMaterial::Class() { return *IFC4X2_IfcRelAssociatesMaterial_type; } Ifc4x2::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcRelAssociatesMaterial_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x2::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelAssociatesMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingMaterial));data_->setArgument(5,attr);} } +Ifc4x2::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x2::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelAssociatesMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingMaterial));data_->setArgument(5,attr);} } // Function implementations for IfcRelConnects @@ -18445,14 +18445,14 @@ Ifc4x2::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::Ifc4x2 // Function implementations for IfcRelDeclares ::Ifc4x2::IfcContext* Ifc4x2::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcContext>(true); } void Ifc4x2::IfcRelDeclares::setRelatingContext(::Ifc4x2::IfcContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr Ifc4x2::IfcRelDeclares::RelatedDefinitions() const { aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v = *data_->getArgument(5); return v; } -void Ifc4x2::IfcRelDeclares::setRelatedDefinitions(aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } +aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr Ifc4x2::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x2::IfcDefinitionSelect >(); } +void Ifc4x2::IfcRelDeclares::setRelatedDefinitions(aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x2::IfcRelDeclares::declaration() const { return *IFC4X2_IfcRelDeclares_type; } const IfcParse::entity& Ifc4x2::IfcRelDeclares::Class() { return *IFC4X2_IfcRelDeclares_type; } Ifc4x2::IfcRelDeclares::IfcRelDeclares(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcRelDeclares_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelDeclares_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingContext));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedDefinitions));data_->setArgument(5,attr);} } +Ifc4x2::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelDeclares_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingContext));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedDefinitions)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelDecomposes @@ -18778,8 +18778,8 @@ Ifc4x2::IfcResource::IfcResource(IfcEntityInstanceData* e) : IfcObject((IfcEntit Ifc4x2::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc4x2::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((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_LongDescription));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcResourceApprovalRelationship -aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr Ifc4x2::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr Ifc4x2::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x2::IfcResourceObjectSelect >(); } +void Ifc4x2::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } ::Ifc4x2::IfcApproval* Ifc4x2::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcApproval>(true); } void Ifc4x2::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x2::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -18787,19 +18787,19 @@ void Ifc4x2::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x2::IfcA const IfcParse::entity& Ifc4x2::IfcResourceApprovalRelationship::declaration() const { return *IFC4X2_IfcResourceApprovalRelationship_type; } const IfcParse::entity& Ifc4x2::IfcResourceApprovalRelationship::Class() { return *IFC4X2_IfcResourceApprovalRelationship_type; } Ifc4x2::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcResourceApprovalRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x2::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcResourceApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatedResourceObjects));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatingApproval));data_->setArgument(3,attr);} } +Ifc4x2::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x2::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcResourceApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatedResourceObjects)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatingApproval));data_->setArgument(3,attr);} } // Function implementations for IfcResourceConstraintRelationship ::Ifc4x2::IfcConstraint* Ifc4x2::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcConstraint>(true); } void Ifc4x2::IfcResourceConstraintRelationship::setRelatingConstraint(::Ifc4x2::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr Ifc4x2::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr v = *data_->getArgument(3); return v; } -void Ifc4x2::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr Ifc4x2::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x2::IfcResourceObjectSelect >(); } +void Ifc4x2::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x2::IfcResourceConstraintRelationship::declaration() const { return *IFC4X2_IfcResourceConstraintRelationship_type; } const IfcParse::entity& Ifc4x2::IfcResourceConstraintRelationship::Class() { return *IFC4X2_IfcResourceConstraintRelationship_type; } Ifc4x2::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcResourceConstraintRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcResourceConstraintRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingConstraint));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } +Ifc4x2::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcResourceConstraintRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingConstraint));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcResourceLevelRelationship boost::optional< std::string > Ifc4x2::IfcResourceLevelRelationship::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -19146,14 +19146,14 @@ Ifc4x2::IfcShapeRepresentation::IfcShapeRepresentation(IfcEntityInstanceData* e) Ifc4x2::IfcShapeRepresentation::IfcShapeRepresentation(::Ifc4x2::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x2::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcShapeRepresentation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ContextOfItems));data_->setArgument(0,attr);} if (v2_RepresentationIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_RepresentationIdentifier));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_RepresentationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_RepresentationType));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Items)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcShellBasedSurfaceModel -aggregate_of< ::Ifc4x2::IfcShell >::ptr Ifc4x2::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of< ::Ifc4x2::IfcShell >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x2::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of< ::Ifc4x2::IfcShell >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x2::IfcShell >::ptr Ifc4x2::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x2::IfcShell >(); } +void Ifc4x2::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of< ::Ifc4x2::IfcShell >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x2::IfcShellBasedSurfaceModel::declaration() const { return *IFC4X2_IfcShellBasedSurfaceModel_type; } const IfcParse::entity& Ifc4x2::IfcShellBasedSurfaceModel::Class() { return *IFC4X2_IfcShellBasedSurfaceModel_type; } Ifc4x2::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcShellBasedSurfaceModel_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4x2::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcShellBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SbsmBoundary));data_->setArgument(0,attr);} } +Ifc4x2::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4x2::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcShellBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SbsmBoundary)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcSimpleProperty @@ -19914,8 +19914,8 @@ Ifc4x2::IfcStyleModel::IfcStyleModel(::Ifc4x2::IfcRepresentationContext* v1_Cont // Function implementations for IfcStyledItem ::Ifc4x2::IfcRepresentationItem* Ifc4x2::IfcStyledItem::Item() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcRepresentationItem>(true); } void Ifc4x2::IfcStyledItem::setItem(::Ifc4x2::IfcRepresentationItem* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of< ::Ifc4x2::IfcStyleAssignmentSelect >::ptr Ifc4x2::IfcStyledItem::Styles() const { aggregate_of< ::Ifc4x2::IfcStyleAssignmentSelect >::ptr v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcStyledItem::setStyles(aggregate_of< ::Ifc4x2::IfcStyleAssignmentSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x2::IfcStyleAssignmentSelect >::ptr Ifc4x2::IfcStyledItem::Styles() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x2::IfcStyleAssignmentSelect >(); } +void Ifc4x2::IfcStyledItem::setStyles(aggregate_of< ::Ifc4x2::IfcStyleAssignmentSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x2::IfcStyledItem::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4x2::IfcStyledItem::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } @@ -19923,7 +19923,7 @@ void Ifc4x2::IfcStyledItem::setName(boost::optional< std::string > v) { {IfcWrit const IfcParse::entity& Ifc4x2::IfcStyledItem::declaration() const { return *IFC4X2_IfcStyledItem_type; } const IfcParse::entity& Ifc4x2::IfcStyledItem::Class() { return *IFC4X2_IfcStyledItem_type; } Ifc4x2::IfcStyledItem::IfcStyledItem(IfcEntityInstanceData* e) : IfcRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcStyledItem_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcStyledItem::IfcStyledItem(::Ifc4x2::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc4x2::IfcStyleAssignmentSelect >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcStyledItem_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Item));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Styles));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x2::IfcStyledItem::IfcStyledItem(::Ifc4x2::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc4x2::IfcStyleAssignmentSelect >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcStyledItem_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Item));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Styles)->generalize());data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcStyledRepresentation @@ -20050,14 +20050,14 @@ Ifc4x2::IfcSurfaceReinforcementArea::IfcSurfaceReinforcementArea(boost::optional // Function implementations for IfcSurfaceStyle ::Ifc4x2::IfcSurfaceSide::Value Ifc4x2::IfcSurfaceStyle::Side() const { return ::Ifc4x2::IfcSurfaceSide::FromString(*data_->getArgument(1)); } void Ifc4x2::IfcSurfaceStyle::setSide(::Ifc4x2::IfcSurfaceSide::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcSurfaceSide::ToString(v)));data_->setArgument(1,attr);} } -aggregate_of< ::Ifc4x2::IfcSurfaceStyleElementSelect >::ptr Ifc4x2::IfcSurfaceStyle::Styles() const { aggregate_of< ::Ifc4x2::IfcSurfaceStyleElementSelect >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcSurfaceStyle::setStyles(aggregate_of< ::Ifc4x2::IfcSurfaceStyleElementSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x2::IfcSurfaceStyleElementSelect >::ptr Ifc4x2::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x2::IfcSurfaceStyleElementSelect >(); } +void Ifc4x2::IfcSurfaceStyle::setStyles(aggregate_of< ::Ifc4x2::IfcSurfaceStyleElementSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x2::IfcSurfaceStyle::declaration() const { return *IFC4X2_IfcSurfaceStyle_type; } const IfcParse::entity& Ifc4x2::IfcSurfaceStyle::Class() { return *IFC4X2_IfcSurfaceStyle_type; } Ifc4x2::IfcSurfaceStyle::IfcSurfaceStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcSurfaceStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x2::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x2::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc4x2::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles));data_->setArgument(2,attr);} } +Ifc4x2::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x2::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x2::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc4x2::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles)->generalize());data_->setArgument(2,attr);} } // Function implementations for IfcSurfaceStyleLighting ::Ifc4x2::IfcColourRgb* Ifc4x2::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcColourRgb>(true); } @@ -20311,8 +20311,8 @@ Ifc4x2::IfcTableColumn::IfcTableColumn(IfcEntityInstanceData* e) : IfcUtil::IfcB Ifc4x2::IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, ::Ifc4x2::IfcUnit* v4_Unit, ::Ifc4x2::IfcReference* v5_ReferencePath) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X2_IfcTableColumn_type); if (v1_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Identifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Name));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_ReferencePath));data_->setArgument(4,attr);} } // Function implementations for IfcTableRow -boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > Ifc4x2::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x2::IfcValue >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x2::IfcTableRow::setRowCells(boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } +boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > Ifc4x2::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x2::IfcValue >(); } +void Ifc4x2::IfcTableRow::setRowCells(boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(0,attr);} } boost::optional< bool > Ifc4x2::IfcTableRow::IsHeading() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } bool v = *data_->getArgument(1); return v; } void Ifc4x2::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } @@ -20320,7 +20320,7 @@ void Ifc4x2::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrite::I const IfcParse::entity& Ifc4x2::IfcTableRow::declaration() const { return *IFC4X2_IfcTableRow_type; } const IfcParse::entity& Ifc4x2::IfcTableRow::Class() { return *IFC4X2_IfcTableRow_type; } Ifc4x2::IfcTableRow::IfcTableRow(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X2_IfcTableRow_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X2_IfcTableRow_type); if (v1_RowCells) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RowCells));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_IsHeading) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_IsHeading));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } +Ifc4x2::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X2_IfcTableRow_type); if (v1_RowCells) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RowCells)->generalize());data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_IsHeading) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_IsHeading));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcTank boost::optional< ::Ifc4x2::IfcTankTypeEnum::Value > Ifc4x2::IfcTank::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcTankTypeEnum::FromString(*data_->getArgument(8)); } @@ -20732,14 +20732,14 @@ Ifc4x2::IfcTimeSeries::IfcTimeSeries(IfcEntityInstanceData* e) : IfcUtil::IfcBas Ifc4x2::IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x2::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x2::IfcUnit* v8_Unit) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X2_IfcTimeSeries_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_StartTime));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EndTime));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_TimeSeriesDataType,::Ifc4x2::IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType))));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v6_DataOrigin,::Ifc4x2::IfcDataOriginEnum::ToString(v6_DataOrigin))));data_->setArgument(5,attr);} if (v7_UserDefinedDataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_UserDefinedDataOrigin));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Unit));data_->setArgument(7,attr);} } // Function implementations for IfcTimeSeriesValue -aggregate_of< ::Ifc4x2::IfcValue >::ptr Ifc4x2::IfcTimeSeriesValue::ListValues() const { aggregate_of< ::Ifc4x2::IfcValue >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x2::IfcTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x2::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x2::IfcValue >::ptr Ifc4x2::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x2::IfcValue >(); } +void Ifc4x2::IfcTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x2::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x2::IfcTimeSeriesValue::declaration() const { return *IFC4X2_IfcTimeSeriesValue_type; } const IfcParse::entity& Ifc4x2::IfcTimeSeriesValue::Class() { return *IFC4X2_IfcTimeSeriesValue_type; } Ifc4x2::IfcTimeSeriesValue::IfcTimeSeriesValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X2_IfcTimeSeriesValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x2::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X2_IfcTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ListValues));data_->setArgument(0,attr);} } +Ifc4x2::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x2::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X2_IfcTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ListValues)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcTopologicalRepresentationItem @@ -20872,10 +20872,10 @@ Ifc4x2::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(::Ifc4x // Function implementations for IfcTrimmedCurve ::Ifc4x2::IfcCurve* Ifc4x2::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcCurve>(true); } void Ifc4x2::IfcTrimmedCurve::setBasisCurve(::Ifc4x2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of< ::Ifc4x2::IfcTrimmingSelect >::ptr Ifc4x2::IfcTrimmedCurve::Trim1() const { aggregate_of< ::Ifc4x2::IfcTrimmingSelect >::ptr v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcTrimmedCurve::setTrim1(aggregate_of< ::Ifc4x2::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -aggregate_of< ::Ifc4x2::IfcTrimmingSelect >::ptr Ifc4x2::IfcTrimmedCurve::Trim2() const { aggregate_of< ::Ifc4x2::IfcTrimmingSelect >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcTrimmedCurve::setTrim2(aggregate_of< ::Ifc4x2::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x2::IfcTrimmingSelect >::ptr Ifc4x2::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x2::IfcTrimmingSelect >(); } +void Ifc4x2::IfcTrimmedCurve::setTrim1(aggregate_of< ::Ifc4x2::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x2::IfcTrimmingSelect >::ptr Ifc4x2::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x2::IfcTrimmingSelect >(); } +void Ifc4x2::IfcTrimmedCurve::setTrim2(aggregate_of< ::Ifc4x2::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } bool Ifc4x2::IfcTrimmedCurve::SenseAgreement() const { bool v = *data_->getArgument(3); return v; } void Ifc4x2::IfcTrimmedCurve::setSenseAgreement(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x2::IfcTrimmingPreference::Value Ifc4x2::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4x2::IfcTrimmingPreference::FromString(*data_->getArgument(4)); } @@ -20885,7 +20885,7 @@ void Ifc4x2::IfcTrimmedCurve::setMasterRepresentation(::Ifc4x2::IfcTrimmingPrefe const IfcParse::entity& Ifc4x2::IfcTrimmedCurve::declaration() const { return *IFC4X2_IfcTrimmedCurve_type; } const IfcParse::entity& Ifc4x2::IfcTrimmedCurve::Class() { return *IFC4X2_IfcTrimmedCurve_type; } Ifc4x2::IfcTrimmedCurve::IfcTrimmedCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X2_IfcTrimmedCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x2::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x2::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x2::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x2::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcTrimmedCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Trim1));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Trim2));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SenseAgreement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_MasterRepresentation,::Ifc4x2::IfcTrimmingPreference::ToString(v5_MasterRepresentation))));data_->setArgument(4,attr);} } +Ifc4x2::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x2::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x2::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x2::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x2::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcTrimmedCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Trim1)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Trim2)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SenseAgreement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_MasterRepresentation,::Ifc4x2::IfcTrimmingPreference::ToString(v5_MasterRepresentation))));data_->setArgument(4,attr);} } // Function implementations for IfcTubeBundle boost::optional< ::Ifc4x2::IfcTubeBundleTypeEnum::Value > Ifc4x2::IfcTubeBundle::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcTubeBundleTypeEnum::FromString(*data_->getArgument(8)); } @@ -20986,14 +20986,14 @@ Ifc4x2::IfcUShapeProfileDef::IfcUShapeProfileDef(IfcEntityInstanceData* e) : Ifc Ifc4x2::IfcUShapeProfileDef::IfcUShapeProfileDef(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x2::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((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcUShapeProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4x2::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_FlangeWidth));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_WebThickness));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_FlangeThickness));data_->setArgument(6,attr);} if (v8_FilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_FilletRadius));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_EdgeRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_EdgeRadius));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_FlangeSlope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_FlangeSlope));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcUnitAssignment -aggregate_of< ::Ifc4x2::IfcUnit >::ptr Ifc4x2::IfcUnitAssignment::Units() const { aggregate_of< ::Ifc4x2::IfcUnit >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x2::IfcUnitAssignment::setUnits(aggregate_of< ::Ifc4x2::IfcUnit >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x2::IfcUnit >::ptr Ifc4x2::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x2::IfcUnit >(); } +void Ifc4x2::IfcUnitAssignment::setUnits(aggregate_of< ::Ifc4x2::IfcUnit >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x2::IfcUnitAssignment::declaration() const { return *IFC4X2_IfcUnitAssignment_type; } const IfcParse::entity& Ifc4x2::IfcUnitAssignment::Class() { return *IFC4X2_IfcUnitAssignment_type; } Ifc4x2::IfcUnitAssignment::IfcUnitAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X2_IfcUnitAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x2::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4x2::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X2_IfcUnitAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Units));data_->setArgument(0,attr);} } +Ifc4x2::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4x2::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X2_IfcUnitAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Units)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcUnitaryControlElement boost::optional< ::Ifc4x2::IfcUnitaryControlElementTypeEnum::Value > Ifc4x2::IfcUnitaryControlElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcUnitaryControlElementTypeEnum::FromString(*data_->getArgument(8)); } diff --git a/src/ifcparse/Ifc4x3_add1.cpp b/src/ifcparse/Ifc4x3_add1.cpp index af3803e19d..e10f88a5ee 100644 --- a/src/ifcparse/Ifc4x3_add1.cpp +++ b/src/ifcparse/Ifc4x3_add1.cpp @@ -15569,8 +15569,8 @@ boost::optional< std::string > Ifc4x3_add1::IfcDocumentInformation::Revision() c void Ifc4x3_add1::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3_add1::IfcActorSelect* Ifc4x3_add1::IfcDocumentInformation::DocumentOwner() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_add1::IfcActorSelect>(true); } void Ifc4x3_add1::IfcDocumentInformation::setDocumentOwner(::Ifc4x3_add1::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -boost::optional< aggregate_of< ::Ifc4x3_add1::IfcActorSelect >::ptr > Ifc4x3_add1::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_add1::IfcActorSelect >::ptr v = *data_->getArgument(9); return v; } -void Ifc4x3_add1::IfcDocumentInformation::setEditors(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcActorSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcActorSelect >::ptr > Ifc4x3_add1::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc4x3_add1::IfcActorSelect >(); } +void Ifc4x3_add1::IfcDocumentInformation::setEditors(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcActorSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_add1::IfcDocumentInformation::CreationTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } void Ifc4x3_add1::IfcDocumentInformation::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4x3_add1::IfcDocumentInformation::LastRevisionTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } @@ -15594,7 +15594,7 @@ void Ifc4x3_add1::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x3_ad const IfcParse::entity& Ifc4x3_add1::IfcDocumentInformation::declaration() const { return *IFC4X3_ADD1_IfcDocumentInformation_type; } const IfcParse::entity& Ifc4x3_add1::IfcDocumentInformation::Class() { return *IFC4X3_ADD1_IfcDocumentInformation_type; } Ifc4x3_add1::IfcDocumentInformation::IfcDocumentInformation(IfcEntityInstanceData* e) : IfcExternalInformation((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcDocumentInformation_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::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, ::Ifc4x3_add1::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcActorSelect >::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< ::Ifc4x3_add1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_add1::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Identification));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Location));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CreationTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LastRevisionTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LastRevisionTime));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ElectronicFormat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ElectronicFormat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ValidFrom) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ValidFrom));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ValidUntil) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ValidUntil));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc4x3_add1::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc4x3_add1::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } +Ifc4x3_add1::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, ::Ifc4x3_add1::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcActorSelect >::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< ::Ifc4x3_add1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_add1::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Identification));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Location));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CreationTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LastRevisionTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LastRevisionTime));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ElectronicFormat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ElectronicFormat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ValidFrom) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ValidFrom));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ValidUntil) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ValidUntil));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc4x3_add1::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc4x3_add1::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } // Function implementations for IfcDocumentInformationRelationship ::Ifc4x3_add1::IfcDocumentInformation* Ifc4x3_add1::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_add1::IfcDocumentInformation>(true); } @@ -16265,14 +16265,14 @@ Ifc4x3_add1::IfcExternalReference::IfcExternalReference(boost::optional< std::st // Function implementations for IfcExternalReferenceRelationship ::Ifc4x3_add1::IfcExternalReference* Ifc4x3_add1::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_add1::IfcExternalReference>(true); } void Ifc4x3_add1::IfcExternalReferenceRelationship::setRelatingReference(::Ifc4x3_add1::IfcExternalReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr Ifc4x3_add1::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr v = *data_->getArgument(3); return v; } -void Ifc4x3_add1::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr Ifc4x3_add1::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_add1::IfcResourceObjectSelect >(); } +void Ifc4x3_add1::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_add1::IfcExternalReferenceRelationship::declaration() const { return *IFC4X3_ADD1_IfcExternalReferenceRelationship_type; } const IfcParse::entity& Ifc4x3_add1::IfcExternalReferenceRelationship::Class() { return *IFC4X3_ADD1_IfcExternalReferenceRelationship_type; } Ifc4x3_add1::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcExternalReferenceRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcExternalReferenceRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingReference));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } +Ifc4x3_add1::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcExternalReferenceRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingReference));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcExternalSpatialElement boost::optional< ::Ifc4x3_add1::IfcExternalSpatialElementTypeEnum::Value > Ifc4x3_add1::IfcExternalSpatialElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcExternalSpatialElementTypeEnum::FromString(*data_->getArgument(8)); } @@ -16525,8 +16525,8 @@ Ifc4x3_add1::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcEntit Ifc4x3_add1::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcFeatureElementSubtraction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcFillAreaStyle -aggregate_of< ::Ifc4x3_add1::IfcFillStyleSelect >::ptr Ifc4x3_add1::IfcFillAreaStyle::FillStyles() const { aggregate_of< ::Ifc4x3_add1::IfcFillStyleSelect >::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_add1::IfcFillAreaStyle::setFillStyles(aggregate_of< ::Ifc4x3_add1::IfcFillStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_add1::IfcFillStyleSelect >::ptr Ifc4x3_add1::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_add1::IfcFillStyleSelect >(); } +void Ifc4x3_add1::IfcFillAreaStyle::setFillStyles(aggregate_of< ::Ifc4x3_add1::IfcFillStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x3_add1::IfcFillAreaStyle::ModelOrDraughting() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } void Ifc4x3_add1::IfcFillAreaStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } @@ -16534,7 +16534,7 @@ void Ifc4x3_add1::IfcFillAreaStyle::setModelOrDraughting(boost::optional< bool > const IfcParse::entity& Ifc4x3_add1::IfcFillAreaStyle::declaration() const { return *IFC4X3_ADD1_IfcFillAreaStyle_type; } const IfcParse::entity& Ifc4x3_add1::IfcFillAreaStyle::Class() { return *IFC4X3_ADD1_IfcFillAreaStyle_type; } Ifc4x3_add1::IfcFillAreaStyle::IfcFillAreaStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcFillAreaStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_add1::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles));data_->setArgument(1,attr);} if (v3_ModelOrDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ModelOrDraughting));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x3_add1::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_add1::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles)->generalize());data_->setArgument(1,attr);} if (v3_ModelOrDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ModelOrDraughting));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcFillAreaStyleHatching ::Ifc4x3_add1::IfcCurveStyle* Ifc4x3_add1::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_add1::IfcCurveStyle>(true); } @@ -16868,7 +16868,7 @@ Ifc4x3_add1::IfcGeographicElementType::IfcGeographicElementType(std::string v1_G const IfcParse::entity& Ifc4x3_add1::IfcGeometricCurveSet::declaration() const { return *IFC4X3_ADD1_IfcGeometricCurveSet_type; } const IfcParse::entity& Ifc4x3_add1::IfcGeometricCurveSet::Class() { return *IFC4X3_ADD1_IfcGeometricCurveSet_type; } Ifc4x3_add1::IfcGeometricCurveSet::IfcGeometricCurveSet(IfcEntityInstanceData* e) : IfcGeometricSet((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcGeometricCurveSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4x3_add1::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcGeometricCurveSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } +Ifc4x3_add1::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4x3_add1::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcGeometricCurveSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcGeometricRepresentationContext int Ifc4x3_add1::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = *data_->getArgument(2); return v; } @@ -16913,14 +16913,14 @@ Ifc4x3_add1::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSub Ifc4x3_add1::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, ::Ifc4x3_add1::IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, ::Ifc4x3_add1::IfcGeometricProjectionEnum::Value v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcGeometricRepresentationSubContext_type); if (v1_ContextIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_ContextIdentifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_ContextType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ContextType));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ParentContext));data_->setArgument(6,attr);} if (v8_TargetScale) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_TargetScale));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_TargetView,::Ifc4x3_add1::IfcGeometricProjectionEnum::ToString(v9_TargetView))));data_->setArgument(8,attr);} if (v10_UserDefinedTargetView) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_UserDefinedTargetView));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcGeometricSet -aggregate_of< ::Ifc4x3_add1::IfcGeometricSetSelect >::ptr Ifc4x3_add1::IfcGeometricSet::Elements() const { aggregate_of< ::Ifc4x3_add1::IfcGeometricSetSelect >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_add1::IfcGeometricSet::setElements(aggregate_of< ::Ifc4x3_add1::IfcGeometricSetSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_add1::IfcGeometricSetSelect >::ptr Ifc4x3_add1::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_add1::IfcGeometricSetSelect >(); } +void Ifc4x3_add1::IfcGeometricSet::setElements(aggregate_of< ::Ifc4x3_add1::IfcGeometricSetSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_add1::IfcGeometricSet::declaration() const { return *IFC4X3_ADD1_IfcGeometricSet_type; } const IfcParse::entity& Ifc4x3_add1::IfcGeometricSet::Class() { return *IFC4X3_ADD1_IfcGeometricSet_type; } Ifc4x3_add1::IfcGeometricSet::IfcGeometricSet(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcGeometricSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x3_add1::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcGeometricSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } +Ifc4x3_add1::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x3_add1::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcGeometricSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcGeomodel @@ -17155,8 +17155,8 @@ Ifc4x3_add1::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4x3_add1::IfcTessella // Function implementations for IfcIndexedPolyCurve ::Ifc4x3_add1::IfcCartesianPointList* Ifc4x3_add1::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_add1::IfcCartesianPointList>(true); } void Ifc4x3_add1::IfcIndexedPolyCurve::setPoints(::Ifc4x3_add1::IfcCartesianPointList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -boost::optional< aggregate_of< ::Ifc4x3_add1::IfcSegmentIndexSelect >::ptr > Ifc4x3_add1::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_add1::IfcSegmentIndexSelect >::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_add1::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcSegmentIndexSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcSegmentIndexSelect >::ptr > Ifc4x3_add1::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_add1::IfcSegmentIndexSelect >(); } +void Ifc4x3_add1::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcSegmentIndexSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x3_add1::IfcIndexedPolyCurve::SelfIntersect() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } void Ifc4x3_add1::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } @@ -17164,7 +17164,7 @@ void Ifc4x3_add1::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > const IfcParse::entity& Ifc4x3_add1::IfcIndexedPolyCurve::declaration() const { return *IFC4X3_ADD1_IfcIndexedPolyCurve_type; } const IfcParse::entity& Ifc4x3_add1::IfcIndexedPolyCurve::Class() { return *IFC4X3_ADD1_IfcIndexedPolyCurve_type; } Ifc4x3_add1::IfcIndexedPolyCurve::IfcIndexedPolyCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcIndexedPolyCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x3_add1::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcIndexedPolyCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Points));data_->setArgument(0,attr);} if (v2_Segments) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Segments));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_SelfIntersect) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_SelfIntersect));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x3_add1::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x3_add1::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcIndexedPolyCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Points));data_->setArgument(0,attr);} if (v2_Segments) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Segments)->generalize());data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_SelfIntersect) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_SelfIntersect));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcIndexedPolygonalFace std::vector< int > /*[3:?]*/ Ifc4x3_add1::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = *data_->getArgument(0); return v; } @@ -17281,14 +17281,14 @@ Ifc4x3_add1::IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, // Function implementations for IfcIrregularTimeSeriesValue std::string Ifc4x3_add1::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_add1::IfcIrregularTimeSeriesValue::setTimeStamp(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr Ifc4x3_add1::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_add1::IfcIrregularTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr Ifc4x3_add1::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_add1::IfcValue >(); } +void Ifc4x3_add1::IfcIrregularTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_add1::IfcIrregularTimeSeriesValue::declaration() const { return *IFC4X3_ADD1_IfcIrregularTimeSeriesValue_type; } const IfcParse::entity& Ifc4x3_add1::IfcIrregularTimeSeriesValue::Class() { return *IFC4X3_ADD1_IfcIrregularTimeSeriesValue_type; } Ifc4x3_add1::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcIrregularTimeSeriesValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcIrregularTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TimeStamp));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ListValues));data_->setArgument(1,attr);} } +Ifc4x3_add1::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcIrregularTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TimeStamp));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ListValues)->generalize());data_->setArgument(1,attr);} } // Function implementations for IfcJunctionBox boost::optional< ::Ifc4x3_add1::IfcJunctionBoxTypeEnum::Value > Ifc4x3_add1::IfcJunctionBox::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcJunctionBoxTypeEnum::FromString(*data_->getArgument(8)); } @@ -17745,8 +17745,8 @@ Ifc4x3_add1::IfcMaterial::IfcMaterial(IfcEntityInstanceData* e) : IfcMaterialDef Ifc4x3_add1::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_Category) : IfcMaterialDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Category) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Category));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcMaterialClassificationRelationship -aggregate_of< ::Ifc4x3_add1::IfcClassificationSelect >::ptr Ifc4x3_add1::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of< ::Ifc4x3_add1::IfcClassificationSelect >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_add1::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of< ::Ifc4x3_add1::IfcClassificationSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_add1::IfcClassificationSelect >::ptr Ifc4x3_add1::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_add1::IfcClassificationSelect >(); } +void Ifc4x3_add1::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of< ::Ifc4x3_add1::IfcClassificationSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } ::Ifc4x3_add1::IfcMaterial* Ifc4x3_add1::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_add1::IfcMaterial>(true); } void Ifc4x3_add1::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc4x3_add1::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -17754,7 +17754,7 @@ void Ifc4x3_add1::IfcMaterialClassificationRelationship::setClassifiedMaterial(: const IfcParse::entity& Ifc4x3_add1::IfcMaterialClassificationRelationship::declaration() const { return *IFC4X3_ADD1_IfcMaterialClassificationRelationship_type; } const IfcParse::entity& Ifc4x3_add1::IfcMaterialClassificationRelationship::Class() { return *IFC4X3_ADD1_IfcMaterialClassificationRelationship_type; } Ifc4x3_add1::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcMaterialClassificationRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4x3_add1::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x3_add1::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcMaterialClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialClassifications));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ClassifiedMaterial));data_->setArgument(1,attr);} } +Ifc4x3_add1::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4x3_add1::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x3_add1::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcMaterialClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialClassifications)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ClassifiedMaterial));data_->setArgument(1,attr);} } // Function implementations for IfcMaterialConstituent boost::optional< std::string > Ifc4x3_add1::IfcMaterialConstituent::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -18981,8 +18981,8 @@ std::string Ifc4x3_add1::IfcPresentationLayerAssignment::Name() const { std::st void Ifc4x3_add1::IfcPresentationLayerAssignment::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_add1::IfcPresentationLayerAssignment::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x3_add1::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } -aggregate_of< ::Ifc4x3_add1::IfcLayeredItem >::ptr Ifc4x3_add1::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of< ::Ifc4x3_add1::IfcLayeredItem >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_add1::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of< ::Ifc4x3_add1::IfcLayeredItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_add1::IfcLayeredItem >::ptr Ifc4x3_add1::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_add1::IfcLayeredItem >(); } +void Ifc4x3_add1::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of< ::Ifc4x3_add1::IfcLayeredItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_add1::IfcPresentationLayerAssignment::Identifier() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4x3_add1::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } @@ -18990,7 +18990,7 @@ void Ifc4x3_add1::IfcPresentationLayerAssignment::setIdentifier(boost::optional< const IfcParse::entity& Ifc4x3_add1::IfcPresentationLayerAssignment::declaration() const { return *IFC4X3_ADD1_IfcPresentationLayerAssignment_type; } const IfcParse::entity& Ifc4x3_add1::IfcPresentationLayerAssignment::Class() { return *IFC4X3_ADD1_IfcPresentationLayerAssignment_type; } Ifc4x3_add1::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcPresentationLayerAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add1::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcPresentationLayerAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } +Ifc4x3_add1::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add1::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcPresentationLayerAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems)->generalize());data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcPresentationLayerWithStyle boost::logic::tribool Ifc4x3_add1::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = *data_->getArgument(4); return v; } @@ -19006,7 +19006,7 @@ void Ifc4x3_add1::IfcPresentationLayerWithStyle::setLayerStyles(aggregate_of< :: const IfcParse::entity& Ifc4x3_add1::IfcPresentationLayerWithStyle::declaration() const { return *IFC4X3_ADD1_IfcPresentationLayerWithStyle_type; } const IfcParse::entity& Ifc4x3_add1::IfcPresentationLayerWithStyle::Class() { return *IFC4X3_ADD1_IfcPresentationLayerWithStyle_type; } Ifc4x3_add1::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcEntityInstanceData* e) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcPresentationLayerWithStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add1::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_add1::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcPresentationLayerWithStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_LayerOn));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LayerFrozen));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LayerBlocked));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LayerStyles)->generalize());data_->setArgument(7,attr);} } +Ifc4x3_add1::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add1::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_add1::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcPresentationLayerWithStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems)->generalize());data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_LayerOn));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LayerFrozen));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LayerBlocked));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LayerStyles)->generalize());data_->setArgument(7,attr);} } // Function implementations for IfcPresentationStyle boost::optional< std::string > Ifc4x3_add1::IfcPresentationStyle::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -19242,8 +19242,8 @@ Ifc4x3_add1::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationshi Ifc4x3_add1::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcProperty* v3_DependingProperty, ::Ifc4x3_add1::IfcProperty* v4_DependantProperty, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcPropertyDependencyRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_DependingProperty));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_DependantProperty));data_->setArgument(3,attr);} if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcPropertyEnumeratedValue -boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > Ifc4x3_add1::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_add1::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > Ifc4x3_add1::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_add1::IfcValue >(); } +void Ifc4x3_add1::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } ::Ifc4x3_add1::IfcPropertyEnumeration* Ifc4x3_add1::IfcPropertyEnumeratedValue::EnumerationReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_add1::IfcPropertyEnumeration>(true); } void Ifc4x3_add1::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x3_add1::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19251,13 +19251,13 @@ void Ifc4x3_add1::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x3_a const IfcParse::entity& Ifc4x3_add1::IfcPropertyEnumeratedValue::declaration() const { return *IFC4X3_ADD1_IfcPropertyEnumeratedValue_type; } const IfcParse::entity& Ifc4x3_add1::IfcPropertyEnumeratedValue::Class() { return *IFC4X3_ADD1_IfcPropertyEnumeratedValue_type; } Ifc4x3_add1::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcPropertyEnumeratedValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x3_add1::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcPropertyEnumeratedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Specification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Specification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EnumerationValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EnumerationValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EnumerationReference));data_->setArgument(3,attr);} } +Ifc4x3_add1::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x3_add1::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcPropertyEnumeratedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Specification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Specification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EnumerationValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EnumerationValues)->generalize());data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EnumerationReference));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyEnumeration std::string Ifc4x3_add1::IfcPropertyEnumeration::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_add1::IfcPropertyEnumeration::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr Ifc4x3_add1::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_add1::IfcPropertyEnumeration::setEnumerationValues(aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr Ifc4x3_add1::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_add1::IfcValue >(); } +void Ifc4x3_add1::IfcPropertyEnumeration::setEnumerationValues(aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } ::Ifc4x3_add1::IfcUnit* Ifc4x3_add1::IfcPropertyEnumeration::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_add1::IfcUnit>(true); } void Ifc4x3_add1::IfcPropertyEnumeration::setUnit(::Ifc4x3_add1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -19265,11 +19265,11 @@ void Ifc4x3_add1::IfcPropertyEnumeration::setUnit(::Ifc4x3_add1::IfcUnit* v) { { const IfcParse::entity& Ifc4x3_add1::IfcPropertyEnumeration::declaration() const { return *IFC4X3_ADD1_IfcPropertyEnumeration_type; } const IfcParse::entity& Ifc4x3_add1::IfcPropertyEnumeration::Class() { return *IFC4X3_ADD1_IfcPropertyEnumeration_type; } Ifc4x3_add1::IfcPropertyEnumeration::IfcPropertyEnumeration(IfcEntityInstanceData* e) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcPropertyEnumeration_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x3_add1::IfcUnit* v3_Unit) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcPropertyEnumeration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EnumerationValues));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);} } +Ifc4x3_add1::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x3_add1::IfcUnit* v3_Unit) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcPropertyEnumeration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EnumerationValues)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);} } // Function implementations for IfcPropertyListValue -boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > Ifc4x3_add1::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_add1::IfcPropertyListValue::setListValues(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > Ifc4x3_add1::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_add1::IfcValue >(); } +void Ifc4x3_add1::IfcPropertyListValue::setListValues(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } ::Ifc4x3_add1::IfcUnit* Ifc4x3_add1::IfcPropertyListValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_add1::IfcUnit>(true); } void Ifc4x3_add1::IfcPropertyListValue::setUnit(::Ifc4x3_add1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19277,7 +19277,7 @@ void Ifc4x3_add1::IfcPropertyListValue::setUnit(::Ifc4x3_add1::IfcUnit* v) { {If const IfcParse::entity& Ifc4x3_add1::IfcPropertyListValue::declaration() const { return *IFC4X3_ADD1_IfcPropertyListValue_type; } const IfcParse::entity& Ifc4x3_add1::IfcPropertyListValue::Class() { return *IFC4X3_ADD1_IfcPropertyListValue_type; } Ifc4x3_add1::IfcPropertyListValue::IfcPropertyListValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcPropertyListValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v3_ListValues, ::Ifc4x3_add1::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcPropertyListValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Specification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Specification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ListValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ListValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } +Ifc4x3_add1::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v3_ListValues, ::Ifc4x3_add1::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcPropertyListValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Specification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Specification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ListValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ListValues)->generalize());data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyReferenceValue boost::optional< std::string > Ifc4x3_add1::IfcPropertyReferenceValue::UsageName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } @@ -19340,10 +19340,10 @@ Ifc4x3_add1::IfcPropertySingleValue::IfcPropertySingleValue(IfcEntityInstanceDat Ifc4x3_add1::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Specification, ::Ifc4x3_add1::IfcValue* v3_NominalValue, ::Ifc4x3_add1::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcPropertySingleValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Specification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Specification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_NominalValue));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyTableValue -boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > Ifc4x3_add1::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_add1::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } -boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > Ifc4x3_add1::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v = *data_->getArgument(3); return v; } -void Ifc4x3_add1::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > Ifc4x3_add1::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_add1::IfcValue >(); } +void Ifc4x3_add1::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > Ifc4x3_add1::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_add1::IfcValue >(); } +void Ifc4x3_add1::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_add1::IfcPropertyTableValue::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x3_add1::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x3_add1::IfcUnit* Ifc4x3_add1::IfcPropertyTableValue::DefiningUnit() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_add1::IfcUnit>(true); } @@ -19357,7 +19357,7 @@ void Ifc4x3_add1::IfcPropertyTableValue::setCurveInterpolation(boost::optional< const IfcParse::entity& Ifc4x3_add1::IfcPropertyTableValue::declaration() const { return *IFC4X3_ADD1_IfcPropertyTableValue_type; } const IfcParse::entity& Ifc4x3_add1::IfcPropertyTableValue::Class() { return *IFC4X3_ADD1_IfcPropertyTableValue_type; } Ifc4x3_add1::IfcPropertyTableValue::IfcPropertyTableValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcPropertyTableValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_add1::IfcUnit* v6_DefiningUnit, ::Ifc4x3_add1::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_add1::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcPropertyTableValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Specification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Specification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_DefiningValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_DefiningValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DefinedValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DefinedValues));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_DefiningUnit));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_DefinedUnit));data_->setArgument(6,attr);} if (v8_CurveInterpolation) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_CurveInterpolation,::Ifc4x3_add1::IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } +Ifc4x3_add1::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_add1::IfcUnit* v6_DefiningUnit, ::Ifc4x3_add1::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_add1::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcPropertyTableValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Specification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Specification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_DefiningValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_DefiningValues)->generalize());data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DefinedValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DefinedValues)->generalize());data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_DefiningUnit));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_DefinedUnit));data_->setArgument(6,attr);} if (v8_CurveInterpolation) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_CurveInterpolation,::Ifc4x3_add1::IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcPropertyTemplate @@ -19848,14 +19848,14 @@ boost::optional< ::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_add void Ifc4x3_add1::IfcReinforcingBarType::setBarSurface(boost::optional< ::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::ToString(*v)));}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4x3_add1::IfcReinforcingBarType::BendingShapeCode() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } void Ifc4x3_add1::IfcReinforcingBarType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } -boost::optional< aggregate_of< ::Ifc4x3_add1::IfcBendingParameterSelect >::ptr > Ifc4x3_add1::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_add1::IfcBendingParameterSelect >::ptr v = *data_->getArgument(15); return v; } -void Ifc4x3_add1::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcBendingParameterSelect >::ptr > Ifc4x3_add1::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(15); return es->as< ::Ifc4x3_add1::IfcBendingParameterSelect >(); } +void Ifc4x3_add1::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(15,attr);} } const IfcParse::entity& Ifc4x3_add1::IfcReinforcingBarType::declaration() const { return *IFC4X3_ADD1_IfcReinforcingBarType_type; } const IfcParse::entity& Ifc4x3_add1::IfcReinforcingBarType::Class() { return *IFC4X3_ADD1_IfcReinforcingBarType_type; } Ifc4x3_add1::IfcReinforcingBarType::IfcReinforcingBarType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcReinforcingBarType_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcReinforcingBarType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_add1::IfcReinforcingBarTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_BarLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_BarLength));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_BarSurface) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_BarSurface,::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_BendingShapeCode));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_BendingParameters));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } } +Ifc4x3_add1::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcReinforcingBarType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_add1::IfcReinforcingBarTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_BarLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_BarLength));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_BarSurface) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_BarSurface,::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_BendingShapeCode));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_BendingParameters)->generalize());data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } } // Function implementations for IfcReinforcingElement boost::optional< std::string > Ifc4x3_add1::IfcReinforcingElement::SteelGrade() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } @@ -19922,14 +19922,14 @@ boost::optional< double > Ifc4x3_add1::IfcReinforcingMeshType::TransverseBarSpac void Ifc4x3_add1::IfcReinforcingMeshType::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(17,attr);} } boost::optional< std::string > Ifc4x3_add1::IfcReinforcingMeshType::BendingShapeCode() const { if(!data_->getArgument(18) || data_->getArgument(18)->isNull()) { return boost::none; } std::string v = *data_->getArgument(18); return v; } void Ifc4x3_add1::IfcReinforcingMeshType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(18,attr);} } -boost::optional< aggregate_of< ::Ifc4x3_add1::IfcBendingParameterSelect >::ptr > Ifc4x3_add1::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_add1::IfcBendingParameterSelect >::ptr v = *data_->getArgument(19); return v; } -void Ifc4x3_add1::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(19,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcBendingParameterSelect >::ptr > Ifc4x3_add1::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(19); return es->as< ::Ifc4x3_add1::IfcBendingParameterSelect >(); } +void Ifc4x3_add1::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(19,attr);} } const IfcParse::entity& Ifc4x3_add1::IfcReinforcingMeshType::declaration() const { return *IFC4X3_ADD1_IfcReinforcingMeshType_type; } const IfcParse::entity& Ifc4x3_add1::IfcReinforcingMeshType::Class() { return *IFC4X3_ADD1_IfcReinforcingMeshType_type; } Ifc4x3_add1::IfcReinforcingMeshType::IfcReinforcingMeshType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcReinforcingMeshType_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of< ::Ifc4x3_add1::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcReinforcingMeshType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_add1::IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshLength));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_MeshWidth));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LongitudinalBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TransverseBarNominalDiameter));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LongitudinalBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_TransverseBarCrossSectionArea));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LongitudinalBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_TransverseBarSpacing));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_BendingShapeCode));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_BendingParameters));data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } +Ifc4x3_add1::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of< ::Ifc4x3_add1::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcReinforcingMeshType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_add1::IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshLength));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_MeshWidth));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LongitudinalBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TransverseBarNominalDiameter));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LongitudinalBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_TransverseBarCrossSectionArea));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LongitudinalBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_TransverseBarSpacing));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_BendingShapeCode));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_BendingParameters)->generalize());data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } // Function implementations for IfcRelAdheresToElement ::Ifc4x3_add1::IfcElement* Ifc4x3_add1::IfcRelAdheresToElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_add1::IfcElement>(true); } @@ -20042,14 +20042,14 @@ Ifc4x3_add1::IfcRelAssignsToResource::IfcRelAssignsToResource(IfcEntityInstanceD Ifc4x3_add1::IfcRelAssignsToResource::IfcRelAssignsToResource(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add1::IfcResourceSelect* v7_RelatingResource) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcRelAssignsToResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_RelatedObjectsType));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingResource));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociates -aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr Ifc4x3_add1::IfcRelAssociates::RelatedObjects() const { aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v = *data_->getArgument(4); return v; } -void Ifc4x3_add1::IfcRelAssociates::setRelatedObjects(aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr Ifc4x3_add1::IfcRelAssociates::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_add1::IfcDefinitionSelect >(); } +void Ifc4x3_add1::IfcRelAssociates::setRelatedObjects(aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_add1::IfcRelAssociates::declaration() const { return *IFC4X3_ADD1_IfcRelAssociates_type; } const IfcParse::entity& Ifc4x3_add1::IfcRelAssociates::Class() { return *IFC4X3_ADD1_IfcRelAssociates_type; } Ifc4x3_add1::IfcRelAssociates::IfcRelAssociates(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcRelAssociates_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} } +Ifc4x3_add1::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} } // Function implementations for IfcRelAssociatesApproval ::Ifc4x3_add1::IfcApproval* Ifc4x3_add1::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_add1::IfcApproval>(true); } @@ -20059,7 +20059,7 @@ void Ifc4x3_add1::IfcRelAssociatesApproval::setRelatingApproval(::Ifc4x3_add1::I const IfcParse::entity& Ifc4x3_add1::IfcRelAssociatesApproval::declaration() const { return *IFC4X3_ADD1_IfcRelAssociatesApproval_type; } const IfcParse::entity& Ifc4x3_add1::IfcRelAssociatesApproval::Class() { return *IFC4X3_ADD1_IfcRelAssociatesApproval_type; } Ifc4x3_add1::IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcRelAssociatesApproval_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } +Ifc4x3_add1::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesClassification ::Ifc4x3_add1::IfcClassificationSelect* Ifc4x3_add1::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_add1::IfcClassificationSelect>(true); } @@ -20069,7 +20069,7 @@ void Ifc4x3_add1::IfcRelAssociatesClassification::setRelatingClassification(::If const IfcParse::entity& Ifc4x3_add1::IfcRelAssociatesClassification::declaration() const { return *IFC4X3_ADD1_IfcRelAssociatesClassification_type; } const IfcParse::entity& Ifc4x3_add1::IfcRelAssociatesClassification::Class() { return *IFC4X3_ADD1_IfcRelAssociatesClassification_type; } Ifc4x3_add1::IfcRelAssociatesClassification::IfcRelAssociatesClassification(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcRelAssociatesClassification_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcRelAssociatesClassification_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingClassification));data_->setArgument(5,attr);} } +Ifc4x3_add1::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcRelAssociatesClassification_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingClassification));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesConstraint boost::optional< std::string > Ifc4x3_add1::IfcRelAssociatesConstraint::Intent() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } @@ -20081,7 +20081,7 @@ void Ifc4x3_add1::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc4x3_add const IfcParse::entity& Ifc4x3_add1::IfcRelAssociatesConstraint::declaration() const { return *IFC4X3_ADD1_IfcRelAssociatesConstraint_type; } const IfcParse::entity& Ifc4x3_add1::IfcRelAssociatesConstraint::Class() { return *IFC4X3_ADD1_IfcRelAssociatesConstraint_type; } Ifc4x3_add1::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcRelAssociatesConstraint_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_add1::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} if (v6_Intent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Intent));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } +Ifc4x3_add1::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_add1::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_Intent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Intent));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociatesDocument ::Ifc4x3_add1::IfcDocumentSelect* Ifc4x3_add1::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_add1::IfcDocumentSelect>(true); } @@ -20091,7 +20091,7 @@ void Ifc4x3_add1::IfcRelAssociatesDocument::setRelatingDocument(::Ifc4x3_add1::I const IfcParse::entity& Ifc4x3_add1::IfcRelAssociatesDocument::declaration() const { return *IFC4X3_ADD1_IfcRelAssociatesDocument_type; } const IfcParse::entity& Ifc4x3_add1::IfcRelAssociatesDocument::Class() { return *IFC4X3_ADD1_IfcRelAssociatesDocument_type; } Ifc4x3_add1::IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcRelAssociatesDocument_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } +Ifc4x3_add1::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesLibrary ::Ifc4x3_add1::IfcLibrarySelect* Ifc4x3_add1::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_add1::IfcLibrarySelect>(true); } @@ -20101,7 +20101,7 @@ void Ifc4x3_add1::IfcRelAssociatesLibrary::setRelatingLibrary(::Ifc4x3_add1::Ifc const IfcParse::entity& Ifc4x3_add1::IfcRelAssociatesLibrary::declaration() const { return *IFC4X3_ADD1_IfcRelAssociatesLibrary_type; } const IfcParse::entity& Ifc4x3_add1::IfcRelAssociatesLibrary::Class() { return *IFC4X3_ADD1_IfcRelAssociatesLibrary_type; } Ifc4x3_add1::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcRelAssociatesLibrary_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } +Ifc4x3_add1::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesMaterial ::Ifc4x3_add1::IfcMaterialSelect* Ifc4x3_add1::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_add1::IfcMaterialSelect>(true); } @@ -20111,7 +20111,7 @@ void Ifc4x3_add1::IfcRelAssociatesMaterial::setRelatingMaterial(::Ifc4x3_add1::I const IfcParse::entity& Ifc4x3_add1::IfcRelAssociatesMaterial::declaration() const { return *IFC4X3_ADD1_IfcRelAssociatesMaterial_type; } const IfcParse::entity& Ifc4x3_add1::IfcRelAssociatesMaterial::Class() { return *IFC4X3_ADD1_IfcRelAssociatesMaterial_type; } Ifc4x3_add1::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcRelAssociatesMaterial_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcRelAssociatesMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingMaterial));data_->setArgument(5,attr);} } +Ifc4x3_add1::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcRelAssociatesMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingMaterial));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesProfileDef ::Ifc4x3_add1::IfcProfileDef* Ifc4x3_add1::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_add1::IfcProfileDef>(true); } @@ -20121,7 +20121,7 @@ void Ifc4x3_add1::IfcRelAssociatesProfileDef::setRelatingProfileDef(::Ifc4x3_add const IfcParse::entity& Ifc4x3_add1::IfcRelAssociatesProfileDef::declaration() const { return *IFC4X3_ADD1_IfcRelAssociatesProfileDef_type; } const IfcParse::entity& Ifc4x3_add1::IfcRelAssociatesProfileDef::Class() { return *IFC4X3_ADD1_IfcRelAssociatesProfileDef_type; } Ifc4x3_add1::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcRelAssociatesProfileDef_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcProfileDef* v6_RelatingProfileDef) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcRelAssociatesProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingProfileDef));data_->setArgument(5,attr);} } +Ifc4x3_add1::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcProfileDef* v6_RelatingProfileDef) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcRelAssociatesProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingProfileDef));data_->setArgument(5,attr);} } // Function implementations for IfcRelConnects @@ -20280,14 +20280,14 @@ Ifc4x3_add1::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::I // Function implementations for IfcRelDeclares ::Ifc4x3_add1::IfcContext* Ifc4x3_add1::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_add1::IfcContext>(true); } void Ifc4x3_add1::IfcRelDeclares::setRelatingContext(::Ifc4x3_add1::IfcContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr Ifc4x3_add1::IfcRelDeclares::RelatedDefinitions() const { aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v = *data_->getArgument(5); return v; } -void Ifc4x3_add1::IfcRelDeclares::setRelatedDefinitions(aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } +aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr Ifc4x3_add1::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_add1::IfcDefinitionSelect >(); } +void Ifc4x3_add1::IfcRelDeclares::setRelatedDefinitions(aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_add1::IfcRelDeclares::declaration() const { return *IFC4X3_ADD1_IfcRelDeclares_type; } const IfcParse::entity& Ifc4x3_add1::IfcRelDeclares::Class() { return *IFC4X3_ADD1_IfcRelDeclares_type; } Ifc4x3_add1::IfcRelDeclares::IfcRelDeclares(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcRelDeclares_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcRelDeclares_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingContext));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedDefinitions));data_->setArgument(5,attr);} } +Ifc4x3_add1::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcRelDeclares_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingContext));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedDefinitions)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelDecomposes @@ -20434,8 +20434,8 @@ Ifc4x3_add1::IfcRelProjectsElement::IfcRelProjectsElement(IfcEntityInstanceData* Ifc4x3_add1::IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcElement* v5_RelatingElement, ::Ifc4x3_add1::IfcFeatureElementAddition* v6_RelatedFeatureElement) : IfcRelDecomposes((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcRelProjectsElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedFeatureElement));data_->setArgument(5,attr);} } // Function implementations for IfcRelReferencedInSpatialStructure -aggregate_of< ::Ifc4x3_add1::IfcSpatialReferenceSelect >::ptr Ifc4x3_add1::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of< ::Ifc4x3_add1::IfcSpatialReferenceSelect >::ptr v = *data_->getArgument(4); return v; } -void Ifc4x3_add1::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4x3_add1::IfcSpatialReferenceSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +aggregate_of< ::Ifc4x3_add1::IfcSpatialReferenceSelect >::ptr Ifc4x3_add1::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_add1::IfcSpatialReferenceSelect >(); } +void Ifc4x3_add1::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4x3_add1::IfcSpatialReferenceSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } ::Ifc4x3_add1::IfcSpatialElement* Ifc4x3_add1::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_add1::IfcSpatialElement>(true); } void Ifc4x3_add1::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc4x3_add1::IfcSpatialElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20443,7 +20443,7 @@ void Ifc4x3_add1::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc const IfcParse::entity& Ifc4x3_add1::IfcRelReferencedInSpatialStructure::declaration() const { return *IFC4X3_ADD1_IfcRelReferencedInSpatialStructure_type; } const IfcParse::entity& Ifc4x3_add1::IfcRelReferencedInSpatialStructure::Class() { return *IFC4X3_ADD1_IfcRelReferencedInSpatialStructure_type; } Ifc4x3_add1::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(IfcEntityInstanceData* e) : IfcRelConnects((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcRelReferencedInSpatialStructure_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcSpatialReferenceSelect >::ptr v5_RelatedElements, ::Ifc4x3_add1::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcRelReferencedInSpatialStructure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedElements));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingStructure));data_->setArgument(5,attr);} } +Ifc4x3_add1::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcSpatialReferenceSelect >::ptr v5_RelatedElements, ::Ifc4x3_add1::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcRelReferencedInSpatialStructure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedElements)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingStructure));data_->setArgument(5,attr);} } // Function implementations for IfcRelSequence ::Ifc4x3_add1::IfcProcess* Ifc4x3_add1::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_add1::IfcProcess>(true); } @@ -20615,8 +20615,8 @@ Ifc4x3_add1::IfcResource::IfcResource(IfcEntityInstanceData* e) : IfcObject((Ifc Ifc4x3_add1::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc4x3_add1::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((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_LongDescription));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcResourceApprovalRelationship -aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr Ifc4x3_add1::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_add1::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr Ifc4x3_add1::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_add1::IfcResourceObjectSelect >(); } +void Ifc4x3_add1::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } ::Ifc4x3_add1::IfcApproval* Ifc4x3_add1::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_add1::IfcApproval>(true); } void Ifc4x3_add1::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x3_add1::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -20624,19 +20624,19 @@ void Ifc4x3_add1::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x3_ const IfcParse::entity& Ifc4x3_add1::IfcResourceApprovalRelationship::declaration() const { return *IFC4X3_ADD1_IfcResourceApprovalRelationship_type; } const IfcParse::entity& Ifc4x3_add1::IfcResourceApprovalRelationship::Class() { return *IFC4X3_ADD1_IfcResourceApprovalRelationship_type; } Ifc4x3_add1::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcResourceApprovalRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x3_add1::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcResourceApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatedResourceObjects));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatingApproval));data_->setArgument(3,attr);} } +Ifc4x3_add1::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x3_add1::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcResourceApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatedResourceObjects)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatingApproval));data_->setArgument(3,attr);} } // Function implementations for IfcResourceConstraintRelationship ::Ifc4x3_add1::IfcConstraint* Ifc4x3_add1::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_add1::IfcConstraint>(true); } void Ifc4x3_add1::IfcResourceConstraintRelationship::setRelatingConstraint(::Ifc4x3_add1::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr Ifc4x3_add1::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr v = *data_->getArgument(3); return v; } -void Ifc4x3_add1::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr Ifc4x3_add1::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_add1::IfcResourceObjectSelect >(); } +void Ifc4x3_add1::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_add1::IfcResourceConstraintRelationship::declaration() const { return *IFC4X3_ADD1_IfcResourceConstraintRelationship_type; } const IfcParse::entity& Ifc4x3_add1::IfcResourceConstraintRelationship::Class() { return *IFC4X3_ADD1_IfcResourceConstraintRelationship_type; } Ifc4x3_add1::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcResourceConstraintRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcResourceConstraintRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingConstraint));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } +Ifc4x3_add1::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcResourceConstraintRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingConstraint));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcResourceLevelRelationship boost::optional< std::string > Ifc4x3_add1::IfcResourceLevelRelationship::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -21090,14 +21090,14 @@ Ifc4x3_add1::IfcShapeRepresentation::IfcShapeRepresentation(IfcEntityInstanceDat Ifc4x3_add1::IfcShapeRepresentation::IfcShapeRepresentation(::Ifc4x3_add1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_add1::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcShapeRepresentation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ContextOfItems));data_->setArgument(0,attr);} if (v2_RepresentationIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_RepresentationIdentifier));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_RepresentationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_RepresentationType));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Items)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcShellBasedSurfaceModel -aggregate_of< ::Ifc4x3_add1::IfcShell >::ptr Ifc4x3_add1::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of< ::Ifc4x3_add1::IfcShell >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_add1::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of< ::Ifc4x3_add1::IfcShell >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_add1::IfcShell >::ptr Ifc4x3_add1::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_add1::IfcShell >(); } +void Ifc4x3_add1::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of< ::Ifc4x3_add1::IfcShell >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_add1::IfcShellBasedSurfaceModel::declaration() const { return *IFC4X3_ADD1_IfcShellBasedSurfaceModel_type; } const IfcParse::entity& Ifc4x3_add1::IfcShellBasedSurfaceModel::Class() { return *IFC4X3_ADD1_IfcShellBasedSurfaceModel_type; } Ifc4x3_add1::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcShellBasedSurfaceModel_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4x3_add1::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcShellBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SbsmBoundary));data_->setArgument(0,attr);} } +Ifc4x3_add1::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4x3_add1::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcShellBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SbsmBoundary)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcSign boost::optional< ::Ifc4x3_add1::IfcSignTypeEnum::Value > Ifc4x3_add1::IfcSign::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcSignTypeEnum::FromString(*data_->getArgument(8)); } @@ -22039,14 +22039,14 @@ Ifc4x3_add1::IfcSurfaceReinforcementArea::IfcSurfaceReinforcementArea(boost::opt // Function implementations for IfcSurfaceStyle ::Ifc4x3_add1::IfcSurfaceSide::Value Ifc4x3_add1::IfcSurfaceStyle::Side() const { return ::Ifc4x3_add1::IfcSurfaceSide::FromString(*data_->getArgument(1)); } void Ifc4x3_add1::IfcSurfaceStyle::setSide(::Ifc4x3_add1::IfcSurfaceSide::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_add1::IfcSurfaceSide::ToString(v)));data_->setArgument(1,attr);} } -aggregate_of< ::Ifc4x3_add1::IfcSurfaceStyleElementSelect >::ptr Ifc4x3_add1::IfcSurfaceStyle::Styles() const { aggregate_of< ::Ifc4x3_add1::IfcSurfaceStyleElementSelect >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_add1::IfcSurfaceStyle::setStyles(aggregate_of< ::Ifc4x3_add1::IfcSurfaceStyleElementSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_add1::IfcSurfaceStyleElementSelect >::ptr Ifc4x3_add1::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_add1::IfcSurfaceStyleElementSelect >(); } +void Ifc4x3_add1::IfcSurfaceStyle::setStyles(aggregate_of< ::Ifc4x3_add1::IfcSurfaceStyleElementSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_add1::IfcSurfaceStyle::declaration() const { return *IFC4X3_ADD1_IfcSurfaceStyle_type; } const IfcParse::entity& Ifc4x3_add1::IfcSurfaceStyle::Class() { return *IFC4X3_ADD1_IfcSurfaceStyle_type; } Ifc4x3_add1::IfcSurfaceStyle::IfcSurfaceStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcSurfaceStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x3_add1::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc4x3_add1::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles));data_->setArgument(2,attr);} } +Ifc4x3_add1::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x3_add1::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc4x3_add1::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles)->generalize());data_->setArgument(2,attr);} } // Function implementations for IfcSurfaceStyleLighting ::Ifc4x3_add1::IfcColourRgb* Ifc4x3_add1::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_add1::IfcColourRgb>(true); } @@ -22301,8 +22301,8 @@ Ifc4x3_add1::IfcTableColumn::IfcTableColumn(IfcEntityInstanceData* e) : IfcUtil: Ifc4x3_add1::IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, ::Ifc4x3_add1::IfcUnit* v4_Unit, ::Ifc4x3_add1::IfcReference* v5_ReferencePath) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcTableColumn_type); if (v1_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Identifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Name));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_ReferencePath));data_->setArgument(4,attr);} } // Function implementations for IfcTableRow -boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > Ifc4x3_add1::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_add1::IfcTableRow::setRowCells(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > Ifc4x3_add1::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_add1::IfcValue >(); } +void Ifc4x3_add1::IfcTableRow::setRowCells(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(0,attr);} } boost::optional< bool > Ifc4x3_add1::IfcTableRow::IsHeading() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } bool v = *data_->getArgument(1); return v; } void Ifc4x3_add1::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } @@ -22310,7 +22310,7 @@ void Ifc4x3_add1::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWri const IfcParse::entity& Ifc4x3_add1::IfcTableRow::declaration() const { return *IFC4X3_ADD1_IfcTableRow_type; } const IfcParse::entity& Ifc4x3_add1::IfcTableRow::Class() { return *IFC4X3_ADD1_IfcTableRow_type; } Ifc4x3_add1::IfcTableRow::IfcTableRow(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcTableRow_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcTableRow_type); if (v1_RowCells) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RowCells));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_IsHeading) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_IsHeading));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } +Ifc4x3_add1::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcTableRow_type); if (v1_RowCells) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RowCells)->generalize());data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_IsHeading) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_IsHeading));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcTank boost::optional< ::Ifc4x3_add1::IfcTankTypeEnum::Value > Ifc4x3_add1::IfcTank::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcTankTypeEnum::FromString(*data_->getArgument(8)); } @@ -22761,14 +22761,14 @@ Ifc4x3_add1::IfcTimeSeries::IfcTimeSeries(IfcEntityInstanceData* e) : IfcUtil::I Ifc4x3_add1::IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_add1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_add1::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_add1::IfcUnit* v8_Unit) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcTimeSeries_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_StartTime));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EndTime));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_TimeSeriesDataType,::Ifc4x3_add1::IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType))));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v6_DataOrigin,::Ifc4x3_add1::IfcDataOriginEnum::ToString(v6_DataOrigin))));data_->setArgument(5,attr);} if (v7_UserDefinedDataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_UserDefinedDataOrigin));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Unit));data_->setArgument(7,attr);} } // Function implementations for IfcTimeSeriesValue -aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr Ifc4x3_add1::IfcTimeSeriesValue::ListValues() const { aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_add1::IfcTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr Ifc4x3_add1::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_add1::IfcValue >(); } +void Ifc4x3_add1::IfcTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_add1::IfcTimeSeriesValue::declaration() const { return *IFC4X3_ADD1_IfcTimeSeriesValue_type; } const IfcParse::entity& Ifc4x3_add1::IfcTimeSeriesValue::Class() { return *IFC4X3_ADD1_IfcTimeSeriesValue_type; } Ifc4x3_add1::IfcTimeSeriesValue::IfcTimeSeriesValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcTimeSeriesValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ListValues));data_->setArgument(0,attr);} } +Ifc4x3_add1::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ListValues)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcTopologicalRepresentationItem @@ -22919,10 +22919,10 @@ Ifc4x3_add1::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(:: // Function implementations for IfcTrimmedCurve ::Ifc4x3_add1::IfcCurve* Ifc4x3_add1::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_add1::IfcCurve>(true); } void Ifc4x3_add1::IfcTrimmedCurve::setBasisCurve(::Ifc4x3_add1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of< ::Ifc4x3_add1::IfcTrimmingSelect >::ptr Ifc4x3_add1::IfcTrimmedCurve::Trim1() const { aggregate_of< ::Ifc4x3_add1::IfcTrimmingSelect >::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_add1::IfcTrimmedCurve::setTrim1(aggregate_of< ::Ifc4x3_add1::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -aggregate_of< ::Ifc4x3_add1::IfcTrimmingSelect >::ptr Ifc4x3_add1::IfcTrimmedCurve::Trim2() const { aggregate_of< ::Ifc4x3_add1::IfcTrimmingSelect >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_add1::IfcTrimmedCurve::setTrim2(aggregate_of< ::Ifc4x3_add1::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_add1::IfcTrimmingSelect >::ptr Ifc4x3_add1::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_add1::IfcTrimmingSelect >(); } +void Ifc4x3_add1::IfcTrimmedCurve::setTrim1(aggregate_of< ::Ifc4x3_add1::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_add1::IfcTrimmingSelect >::ptr Ifc4x3_add1::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_add1::IfcTrimmingSelect >(); } +void Ifc4x3_add1::IfcTrimmedCurve::setTrim2(aggregate_of< ::Ifc4x3_add1::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } bool Ifc4x3_add1::IfcTrimmedCurve::SenseAgreement() const { bool v = *data_->getArgument(3); return v; } void Ifc4x3_add1::IfcTrimmedCurve::setSenseAgreement(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x3_add1::IfcTrimmingPreference::Value Ifc4x3_add1::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4x3_add1::IfcTrimmingPreference::FromString(*data_->getArgument(4)); } @@ -22932,7 +22932,7 @@ void Ifc4x3_add1::IfcTrimmedCurve::setMasterRepresentation(::Ifc4x3_add1::IfcTri const IfcParse::entity& Ifc4x3_add1::IfcTrimmedCurve::declaration() const { return *IFC4X3_ADD1_IfcTrimmedCurve_type; } const IfcParse::entity& Ifc4x3_add1::IfcTrimmedCurve::Class() { return *IFC4X3_ADD1_IfcTrimmedCurve_type; } Ifc4x3_add1::IfcTrimmedCurve::IfcTrimmedCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcTrimmedCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3_add1::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_add1::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x3_add1::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_add1::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcTrimmedCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Trim1));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Trim2));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SenseAgreement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_MasterRepresentation,::Ifc4x3_add1::IfcTrimmingPreference::ToString(v5_MasterRepresentation))));data_->setArgument(4,attr);} } +Ifc4x3_add1::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3_add1::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_add1::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x3_add1::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_add1::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcTrimmedCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Trim1)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Trim2)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SenseAgreement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_MasterRepresentation,::Ifc4x3_add1::IfcTrimmingPreference::ToString(v5_MasterRepresentation))));data_->setArgument(4,attr);} } // Function implementations for IfcTubeBundle boost::optional< ::Ifc4x3_add1::IfcTubeBundleTypeEnum::Value > Ifc4x3_add1::IfcTubeBundle::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcTubeBundleTypeEnum::FromString(*data_->getArgument(8)); } @@ -23033,14 +23033,14 @@ Ifc4x3_add1::IfcUShapeProfileDef::IfcUShapeProfileDef(IfcEntityInstanceData* e) Ifc4x3_add1::IfcUShapeProfileDef::IfcUShapeProfileDef(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::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((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcUShapeProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4x3_add1::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_FlangeWidth));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_WebThickness));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_FlangeThickness));data_->setArgument(6,attr);} if (v8_FilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_FilletRadius));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_EdgeRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_EdgeRadius));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_FlangeSlope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_FlangeSlope));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcUnitAssignment -aggregate_of< ::Ifc4x3_add1::IfcUnit >::ptr Ifc4x3_add1::IfcUnitAssignment::Units() const { aggregate_of< ::Ifc4x3_add1::IfcUnit >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_add1::IfcUnitAssignment::setUnits(aggregate_of< ::Ifc4x3_add1::IfcUnit >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_add1::IfcUnit >::ptr Ifc4x3_add1::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_add1::IfcUnit >(); } +void Ifc4x3_add1::IfcUnitAssignment::setUnits(aggregate_of< ::Ifc4x3_add1::IfcUnit >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_add1::IfcUnitAssignment::declaration() const { return *IFC4X3_ADD1_IfcUnitAssignment_type; } const IfcParse::entity& Ifc4x3_add1::IfcUnitAssignment::Class() { return *IFC4X3_ADD1_IfcUnitAssignment_type; } Ifc4x3_add1::IfcUnitAssignment::IfcUnitAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_ADD1_IfcUnitAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_add1::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4x3_add1::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcUnitAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Units));data_->setArgument(0,attr);} } +Ifc4x3_add1::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4x3_add1::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_ADD1_IfcUnitAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Units)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcUnitaryControlElement boost::optional< ::Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::Value > Ifc4x3_add1::IfcUnitaryControlElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::FromString(*data_->getArgument(8)); } diff --git a/src/ifcparse/Ifc4x3_rc1.cpp b/src/ifcparse/Ifc4x3_rc1.cpp index 1ab29bc4da..ffe2b1022b 100644 --- a/src/ifcparse/Ifc4x3_rc1.cpp +++ b/src/ifcparse/Ifc4x3_rc1.cpp @@ -15615,8 +15615,8 @@ boost::optional< std::string > Ifc4x3_rc1::IfcDocumentInformation::Revision() co void Ifc4x3_rc1::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3_rc1::IfcActorSelect* Ifc4x3_rc1::IfcDocumentInformation::DocumentOwner() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc1::IfcActorSelect>(true); } void Ifc4x3_rc1::IfcDocumentInformation::setDocumentOwner(::Ifc4x3_rc1::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcActorSelect >::ptr > Ifc4x3_rc1::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc1::IfcActorSelect >::ptr v = *data_->getArgument(9); return v; } -void Ifc4x3_rc1::IfcDocumentInformation::setEditors(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcActorSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcActorSelect >::ptr > Ifc4x3_rc1::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc4x3_rc1::IfcActorSelect >(); } +void Ifc4x3_rc1::IfcDocumentInformation::setEditors(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcActorSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcDocumentInformation::CreationTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } void Ifc4x3_rc1::IfcDocumentInformation::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcDocumentInformation::LastRevisionTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } @@ -15640,7 +15640,7 @@ void Ifc4x3_rc1::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x3_rc1 const IfcParse::entity& Ifc4x3_rc1::IfcDocumentInformation::declaration() const { return *IFC4X3_RC1_IfcDocumentInformation_type; } const IfcParse::entity& Ifc4x3_rc1::IfcDocumentInformation::Class() { return *IFC4X3_RC1_IfcDocumentInformation_type; } Ifc4x3_rc1::IfcDocumentInformation::IfcDocumentInformation(IfcEntityInstanceData* e) : IfcExternalInformation((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcDocumentInformation_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::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, ::Ifc4x3_rc1::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcActorSelect >::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< ::Ifc4x3_rc1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_rc1::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Identification));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Location));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CreationTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LastRevisionTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LastRevisionTime));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ElectronicFormat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ElectronicFormat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ValidFrom) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ValidFrom));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ValidUntil) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ValidUntil));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc4x3_rc1::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc4x3_rc1::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } +Ifc4x3_rc1::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, ::Ifc4x3_rc1::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcActorSelect >::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< ::Ifc4x3_rc1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_rc1::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Identification));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Location));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CreationTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LastRevisionTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LastRevisionTime));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ElectronicFormat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ElectronicFormat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ValidFrom) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ValidFrom));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ValidUntil) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ValidUntil));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc4x3_rc1::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc4x3_rc1::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } // Function implementations for IfcDocumentInformationRelationship ::Ifc4x3_rc1::IfcDocumentInformation* Ifc4x3_rc1::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcDocumentInformation>(true); } @@ -16334,14 +16334,14 @@ Ifc4x3_rc1::IfcExternalReference::IfcExternalReference(boost::optional< std::str // Function implementations for IfcExternalReferenceRelationship ::Ifc4x3_rc1::IfcExternalReference* Ifc4x3_rc1::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcExternalReference>(true); } void Ifc4x3_rc1::IfcExternalReferenceRelationship::setRelatingReference(::Ifc4x3_rc1::IfcExternalReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr Ifc4x3_rc1::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr v = *data_->getArgument(3); return v; } -void Ifc4x3_rc1::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr Ifc4x3_rc1::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc1::IfcResourceObjectSelect >(); } +void Ifc4x3_rc1::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcExternalReferenceRelationship::declaration() const { return *IFC4X3_RC1_IfcExternalReferenceRelationship_type; } const IfcParse::entity& Ifc4x3_rc1::IfcExternalReferenceRelationship::Class() { return *IFC4X3_RC1_IfcExternalReferenceRelationship_type; } Ifc4x3_rc1::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcExternalReferenceRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcExternalReferenceRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingReference));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } +Ifc4x3_rc1::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcExternalReferenceRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingReference));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcExternalSpatialElement boost::optional< ::Ifc4x3_rc1::IfcExternalSpatialElementTypeEnum::Value > Ifc4x3_rc1::IfcExternalSpatialElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcExternalSpatialElementTypeEnum::FromString(*data_->getArgument(8)); } @@ -16586,8 +16586,8 @@ Ifc4x3_rc1::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcEntity Ifc4x3_rc1::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcFeatureElementSubtraction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcFillAreaStyle -aggregate_of< ::Ifc4x3_rc1::IfcFillStyleSelect >::ptr Ifc4x3_rc1::IfcFillAreaStyle::FillStyles() const { aggregate_of< ::Ifc4x3_rc1::IfcFillStyleSelect >::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcFillAreaStyle::setFillStyles(aggregate_of< ::Ifc4x3_rc1::IfcFillStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_rc1::IfcFillStyleSelect >::ptr Ifc4x3_rc1::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc1::IfcFillStyleSelect >(); } +void Ifc4x3_rc1::IfcFillAreaStyle::setFillStyles(aggregate_of< ::Ifc4x3_rc1::IfcFillStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x3_rc1::IfcFillAreaStyle::ModelorDraughting() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } void Ifc4x3_rc1::IfcFillAreaStyle::setModelorDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } @@ -16595,7 +16595,7 @@ void Ifc4x3_rc1::IfcFillAreaStyle::setModelorDraughting(boost::optional< bool > const IfcParse::entity& Ifc4x3_rc1::IfcFillAreaStyle::declaration() const { return *IFC4X3_RC1_IfcFillAreaStyle_type; } const IfcParse::entity& Ifc4x3_rc1::IfcFillAreaStyle::Class() { return *IFC4X3_RC1_IfcFillAreaStyle_type; } Ifc4x3_rc1::IfcFillAreaStyle::IfcFillAreaStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcFillAreaStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_rc1::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelorDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles));data_->setArgument(1,attr);} if (v3_ModelorDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ModelorDraughting));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x3_rc1::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_rc1::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelorDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles)->generalize());data_->setArgument(1,attr);} if (v3_ModelorDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ModelorDraughting));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcFillAreaStyleHatching ::Ifc4x3_rc1::IfcCurveStyle* Ifc4x3_rc1::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcCurveStyle>(true); } @@ -16915,7 +16915,7 @@ Ifc4x3_rc1::IfcGeographicElementType::IfcGeographicElementType(std::string v1_Gl const IfcParse::entity& Ifc4x3_rc1::IfcGeometricCurveSet::declaration() const { return *IFC4X3_RC1_IfcGeometricCurveSet_type; } const IfcParse::entity& Ifc4x3_rc1::IfcGeometricCurveSet::Class() { return *IFC4X3_RC1_IfcGeometricCurveSet_type; } Ifc4x3_rc1::IfcGeometricCurveSet::IfcGeometricCurveSet(IfcEntityInstanceData* e) : IfcGeometricSet((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcGeometricCurveSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4x3_rc1::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcGeometricCurveSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } +Ifc4x3_rc1::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4x3_rc1::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcGeometricCurveSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcGeometricRepresentationContext int Ifc4x3_rc1::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = *data_->getArgument(2); return v; } @@ -16960,14 +16960,14 @@ Ifc4x3_rc1::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubC Ifc4x3_rc1::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, ::Ifc4x3_rc1::IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, ::Ifc4x3_rc1::IfcGeometricProjectionEnum::Value v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcGeometricRepresentationSubContext_type); if (v1_ContextIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_ContextIdentifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_ContextType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ContextType));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ParentContext));data_->setArgument(6,attr);} if (v8_TargetScale) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_TargetScale));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_TargetView,::Ifc4x3_rc1::IfcGeometricProjectionEnum::ToString(v9_TargetView))));data_->setArgument(8,attr);} if (v10_UserDefinedTargetView) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_UserDefinedTargetView));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcGeometricSet -aggregate_of< ::Ifc4x3_rc1::IfcGeometricSetSelect >::ptr Ifc4x3_rc1::IfcGeometricSet::Elements() const { aggregate_of< ::Ifc4x3_rc1::IfcGeometricSetSelect >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc1::IfcGeometricSet::setElements(aggregate_of< ::Ifc4x3_rc1::IfcGeometricSetSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc1::IfcGeometricSetSelect >::ptr Ifc4x3_rc1::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc1::IfcGeometricSetSelect >(); } +void Ifc4x3_rc1::IfcGeometricSet::setElements(aggregate_of< ::Ifc4x3_rc1::IfcGeometricSetSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcGeometricSet::declaration() const { return *IFC4X3_RC1_IfcGeometricSet_type; } const IfcParse::entity& Ifc4x3_rc1::IfcGeometricSet::Class() { return *IFC4X3_RC1_IfcGeometricSet_type; } Ifc4x3_rc1::IfcGeometricSet::IfcGeometricSet(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcGeometricSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x3_rc1::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcGeometricSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } +Ifc4x3_rc1::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x3_rc1::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcGeometricSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcGeomodel @@ -17199,8 +17199,8 @@ Ifc4x3_rc1::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4x3_rc1::IfcTessellate // Function implementations for IfcIndexedPolyCurve ::Ifc4x3_rc1::IfcCartesianPointList* Ifc4x3_rc1::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcCartesianPointList>(true); } void Ifc4x3_rc1::IfcIndexedPolyCurve::setPoints(::Ifc4x3_rc1::IfcCartesianPointList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcSegmentIndexSelect >::ptr > Ifc4x3_rc1::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc1::IfcSegmentIndexSelect >::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcSegmentIndexSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcSegmentIndexSelect >::ptr > Ifc4x3_rc1::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc1::IfcSegmentIndexSelect >(); } +void Ifc4x3_rc1::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcSegmentIndexSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x3_rc1::IfcIndexedPolyCurve::SelfIntersect() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } void Ifc4x3_rc1::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } @@ -17208,7 +17208,7 @@ void Ifc4x3_rc1::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v const IfcParse::entity& Ifc4x3_rc1::IfcIndexedPolyCurve::declaration() const { return *IFC4X3_RC1_IfcIndexedPolyCurve_type; } const IfcParse::entity& Ifc4x3_rc1::IfcIndexedPolyCurve::Class() { return *IFC4X3_RC1_IfcIndexedPolyCurve_type; } Ifc4x3_rc1::IfcIndexedPolyCurve::IfcIndexedPolyCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcIndexedPolyCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x3_rc1::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcIndexedPolyCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Points));data_->setArgument(0,attr);} if (v2_Segments) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Segments));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_SelfIntersect) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_SelfIntersect));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x3_rc1::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x3_rc1::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcIndexedPolyCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Points));data_->setArgument(0,attr);} if (v2_Segments) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Segments)->generalize());data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_SelfIntersect) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_SelfIntersect));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcIndexedPolygonalFace std::vector< int > /*[3:?]*/ Ifc4x3_rc1::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = *data_->getArgument(0); return v; } @@ -17314,14 +17314,14 @@ Ifc4x3_rc1::IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, // Function implementations for IfcIrregularTimeSeriesValue std::string Ifc4x3_rc1::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc1::IfcIrregularTimeSeriesValue::setTimeStamp(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr Ifc4x3_rc1::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcIrregularTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr Ifc4x3_rc1::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc1::IfcValue >(); } +void Ifc4x3_rc1::IfcIrregularTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcIrregularTimeSeriesValue::declaration() const { return *IFC4X3_RC1_IfcIrregularTimeSeriesValue_type; } const IfcParse::entity& Ifc4x3_rc1::IfcIrregularTimeSeriesValue::Class() { return *IFC4X3_RC1_IfcIrregularTimeSeriesValue_type; } Ifc4x3_rc1::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC1_IfcIrregularTimeSeriesValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcIrregularTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TimeStamp));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ListValues));data_->setArgument(1,attr);} } +Ifc4x3_rc1::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcIrregularTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TimeStamp));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ListValues)->generalize());data_->setArgument(1,attr);} } // Function implementations for IfcJunctionBox boost::optional< ::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Value > Ifc4x3_rc1::IfcJunctionBox::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::FromString(*data_->getArgument(8)); } @@ -17792,8 +17792,8 @@ Ifc4x3_rc1::IfcMaterial::IfcMaterial(IfcEntityInstanceData* e) : IfcMaterialDefi Ifc4x3_rc1::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_Category) : IfcMaterialDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Category) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Category));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcMaterialClassificationRelationship -aggregate_of< ::Ifc4x3_rc1::IfcClassificationSelect >::ptr Ifc4x3_rc1::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of< ::Ifc4x3_rc1::IfcClassificationSelect >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc1::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of< ::Ifc4x3_rc1::IfcClassificationSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc1::IfcClassificationSelect >::ptr Ifc4x3_rc1::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc1::IfcClassificationSelect >(); } +void Ifc4x3_rc1::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of< ::Ifc4x3_rc1::IfcClassificationSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } ::Ifc4x3_rc1::IfcMaterial* Ifc4x3_rc1::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcMaterial>(true); } void Ifc4x3_rc1::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc4x3_rc1::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -17801,7 +17801,7 @@ void Ifc4x3_rc1::IfcMaterialClassificationRelationship::setClassifiedMaterial(:: const IfcParse::entity& Ifc4x3_rc1::IfcMaterialClassificationRelationship::declaration() const { return *IFC4X3_RC1_IfcMaterialClassificationRelationship_type; } const IfcParse::entity& Ifc4x3_rc1::IfcMaterialClassificationRelationship::Class() { return *IFC4X3_RC1_IfcMaterialClassificationRelationship_type; } Ifc4x3_rc1::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC1_IfcMaterialClassificationRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4x3_rc1::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x3_rc1::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcMaterialClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialClassifications));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ClassifiedMaterial));data_->setArgument(1,attr);} } +Ifc4x3_rc1::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4x3_rc1::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x3_rc1::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcMaterialClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialClassifications)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ClassifiedMaterial));data_->setArgument(1,attr);} } // Function implementations for IfcMaterialConstituent boost::optional< std::string > Ifc4x3_rc1::IfcMaterialConstituent::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -19035,8 +19035,8 @@ std::string Ifc4x3_rc1::IfcPresentationLayerAssignment::Name() const { std::str void Ifc4x3_rc1::IfcPresentationLayerAssignment::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcPresentationLayerAssignment::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc1::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } -aggregate_of< ::Ifc4x3_rc1::IfcLayeredItem >::ptr Ifc4x3_rc1::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of< ::Ifc4x3_rc1::IfcLayeredItem >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of< ::Ifc4x3_rc1::IfcLayeredItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_rc1::IfcLayeredItem >::ptr Ifc4x3_rc1::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc1::IfcLayeredItem >(); } +void Ifc4x3_rc1::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of< ::Ifc4x3_rc1::IfcLayeredItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcPresentationLayerAssignment::Identifier() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4x3_rc1::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } @@ -19044,7 +19044,7 @@ void Ifc4x3_rc1::IfcPresentationLayerAssignment::setIdentifier(boost::optional< const IfcParse::entity& Ifc4x3_rc1::IfcPresentationLayerAssignment::declaration() const { return *IFC4X3_RC1_IfcPresentationLayerAssignment_type; } const IfcParse::entity& Ifc4x3_rc1::IfcPresentationLayerAssignment::Class() { return *IFC4X3_RC1_IfcPresentationLayerAssignment_type; } Ifc4x3_rc1::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC1_IfcPresentationLayerAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc1::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcPresentationLayerAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } +Ifc4x3_rc1::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc1::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcPresentationLayerAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems)->generalize());data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcPresentationLayerWithStyle boost::logic::tribool Ifc4x3_rc1::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = *data_->getArgument(4); return v; } @@ -19060,7 +19060,7 @@ void Ifc4x3_rc1::IfcPresentationLayerWithStyle::setLayerStyles(aggregate_of< ::I const IfcParse::entity& Ifc4x3_rc1::IfcPresentationLayerWithStyle::declaration() const { return *IFC4X3_RC1_IfcPresentationLayerWithStyle_type; } const IfcParse::entity& Ifc4x3_rc1::IfcPresentationLayerWithStyle::Class() { return *IFC4X3_RC1_IfcPresentationLayerWithStyle_type; } Ifc4x3_rc1::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcEntityInstanceData* e) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcPresentationLayerWithStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc1::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_rc1::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcPresentationLayerWithStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_LayerOn));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LayerFrozen));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LayerBlocked));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LayerStyles)->generalize());data_->setArgument(7,attr);} } +Ifc4x3_rc1::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc1::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_rc1::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcPresentationLayerWithStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems)->generalize());data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_LayerOn));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LayerFrozen));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LayerBlocked));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LayerStyles)->generalize());data_->setArgument(7,attr);} } // Function implementations for IfcPresentationStyle boost::optional< std::string > Ifc4x3_rc1::IfcPresentationStyle::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -19073,14 +19073,14 @@ Ifc4x3_rc1::IfcPresentationStyle::IfcPresentationStyle(IfcEntityInstanceData* e) Ifc4x3_rc1::IfcPresentationStyle::IfcPresentationStyle(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcPresentationStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } } // Function implementations for IfcPresentationStyleAssignment -aggregate_of< ::Ifc4x3_rc1::IfcPresentationStyleSelect >::ptr Ifc4x3_rc1::IfcPresentationStyleAssignment::Styles() const { aggregate_of< ::Ifc4x3_rc1::IfcPresentationStyleSelect >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc1::IfcPresentationStyleAssignment::setStyles(aggregate_of< ::Ifc4x3_rc1::IfcPresentationStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc1::IfcPresentationStyleSelect >::ptr Ifc4x3_rc1::IfcPresentationStyleAssignment::Styles() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc1::IfcPresentationStyleSelect >(); } +void Ifc4x3_rc1::IfcPresentationStyleAssignment::setStyles(aggregate_of< ::Ifc4x3_rc1::IfcPresentationStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcPresentationStyleAssignment::declaration() const { return *IFC4X3_RC1_IfcPresentationStyleAssignment_type; } const IfcParse::entity& Ifc4x3_rc1::IfcPresentationStyleAssignment::Class() { return *IFC4X3_RC1_IfcPresentationStyleAssignment_type; } Ifc4x3_rc1::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC1_IfcPresentationStyleAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(aggregate_of< ::Ifc4x3_rc1::IfcPresentationStyleSelect >::ptr v1_Styles) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcPresentationStyleAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Styles));data_->setArgument(0,attr);} } +Ifc4x3_rc1::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(aggregate_of< ::Ifc4x3_rc1::IfcPresentationStyleSelect >::ptr v1_Styles) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcPresentationStyleAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Styles)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcProcedure boost::optional< ::Ifc4x3_rc1::IfcProcedureTypeEnum::Value > Ifc4x3_rc1::IfcProcedure::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcProcedureTypeEnum::FromString(*data_->getArgument(7)); } @@ -19302,8 +19302,8 @@ Ifc4x3_rc1::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship Ifc4x3_rc1::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcProperty* v3_DependingProperty, ::Ifc4x3_rc1::IfcProperty* v4_DependantProperty, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcPropertyDependencyRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_DependingProperty));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_DependantProperty));data_->setArgument(3,attr);} if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcPropertyEnumeratedValue -boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > Ifc4x3_rc1::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > Ifc4x3_rc1::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc1::IfcValue >(); } +void Ifc4x3_rc1::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } ::Ifc4x3_rc1::IfcPropertyEnumeration* Ifc4x3_rc1::IfcPropertyEnumeratedValue::EnumerationReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcPropertyEnumeration>(true); } void Ifc4x3_rc1::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x3_rc1::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19311,13 +19311,13 @@ void Ifc4x3_rc1::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x3_rc const IfcParse::entity& Ifc4x3_rc1::IfcPropertyEnumeratedValue::declaration() const { return *IFC4X3_RC1_IfcPropertyEnumeratedValue_type; } const IfcParse::entity& Ifc4x3_rc1::IfcPropertyEnumeratedValue::Class() { return *IFC4X3_RC1_IfcPropertyEnumeratedValue_type; } Ifc4x3_rc1::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcPropertyEnumeratedValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x3_rc1::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcPropertyEnumeratedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EnumerationValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EnumerationValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EnumerationReference));data_->setArgument(3,attr);} } +Ifc4x3_rc1::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x3_rc1::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcPropertyEnumeratedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EnumerationValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EnumerationValues)->generalize());data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EnumerationReference));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyEnumeration std::string Ifc4x3_rc1::IfcPropertyEnumeration::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc1::IfcPropertyEnumeration::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr Ifc4x3_rc1::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcPropertyEnumeration::setEnumerationValues(aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr Ifc4x3_rc1::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc1::IfcValue >(); } +void Ifc4x3_rc1::IfcPropertyEnumeration::setEnumerationValues(aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } ::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcPropertyEnumeration::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcUnit>(true); } void Ifc4x3_rc1::IfcPropertyEnumeration::setUnit(::Ifc4x3_rc1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -19325,11 +19325,11 @@ void Ifc4x3_rc1::IfcPropertyEnumeration::setUnit(::Ifc4x3_rc1::IfcUnit* v) { {If const IfcParse::entity& Ifc4x3_rc1::IfcPropertyEnumeration::declaration() const { return *IFC4X3_RC1_IfcPropertyEnumeration_type; } const IfcParse::entity& Ifc4x3_rc1::IfcPropertyEnumeration::Class() { return *IFC4X3_RC1_IfcPropertyEnumeration_type; } Ifc4x3_rc1::IfcPropertyEnumeration::IfcPropertyEnumeration(IfcEntityInstanceData* e) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcPropertyEnumeration_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x3_rc1::IfcUnit* v3_Unit) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcPropertyEnumeration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EnumerationValues));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);} } +Ifc4x3_rc1::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x3_rc1::IfcUnit* v3_Unit) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcPropertyEnumeration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EnumerationValues)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);} } // Function implementations for IfcPropertyListValue -boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > Ifc4x3_rc1::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcPropertyListValue::setListValues(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > Ifc4x3_rc1::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc1::IfcValue >(); } +void Ifc4x3_rc1::IfcPropertyListValue::setListValues(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } ::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcPropertyListValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcUnit>(true); } void Ifc4x3_rc1::IfcPropertyListValue::setUnit(::Ifc4x3_rc1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19337,7 +19337,7 @@ void Ifc4x3_rc1::IfcPropertyListValue::setUnit(::Ifc4x3_rc1::IfcUnit* v) { {IfcW const IfcParse::entity& Ifc4x3_rc1::IfcPropertyListValue::declaration() const { return *IFC4X3_RC1_IfcPropertyListValue_type; } const IfcParse::entity& Ifc4x3_rc1::IfcPropertyListValue::Class() { return *IFC4X3_RC1_IfcPropertyListValue_type; } Ifc4x3_rc1::IfcPropertyListValue::IfcPropertyListValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcPropertyListValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v3_ListValues, ::Ifc4x3_rc1::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcPropertyListValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ListValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ListValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } +Ifc4x3_rc1::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v3_ListValues, ::Ifc4x3_rc1::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcPropertyListValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ListValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ListValues)->generalize());data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyReferenceValue boost::optional< std::string > Ifc4x3_rc1::IfcPropertyReferenceValue::UsageName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } @@ -19400,10 +19400,10 @@ Ifc4x3_rc1::IfcPropertySingleValue::IfcPropertySingleValue(IfcEntityInstanceData Ifc4x3_rc1::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcValue* v3_NominalValue, ::Ifc4x3_rc1::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcPropertySingleValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_NominalValue));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyTableValue -boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > Ifc4x3_rc1::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } -boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > Ifc4x3_rc1::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v = *data_->getArgument(3); return v; } -void Ifc4x3_rc1::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > Ifc4x3_rc1::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc1::IfcValue >(); } +void Ifc4x3_rc1::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > Ifc4x3_rc1::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc1::IfcValue >(); } +void Ifc4x3_rc1::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcPropertyTableValue::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x3_rc1::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcPropertyTableValue::DefiningUnit() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcUnit>(true); } @@ -19417,7 +19417,7 @@ void Ifc4x3_rc1::IfcPropertyTableValue::setCurveInterpolation(boost::optional< : const IfcParse::entity& Ifc4x3_rc1::IfcPropertyTableValue::declaration() const { return *IFC4X3_RC1_IfcPropertyTableValue_type; } const IfcParse::entity& Ifc4x3_rc1::IfcPropertyTableValue::Class() { return *IFC4X3_RC1_IfcPropertyTableValue_type; } Ifc4x3_rc1::IfcPropertyTableValue::IfcPropertyTableValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcPropertyTableValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_rc1::IfcUnit* v6_DefiningUnit, ::Ifc4x3_rc1::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_rc1::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcPropertyTableValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_DefiningValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_DefiningValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DefinedValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DefinedValues));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_DefiningUnit));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_DefinedUnit));data_->setArgument(6,attr);} if (v8_CurveInterpolation) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_CurveInterpolation,::Ifc4x3_rc1::IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } +Ifc4x3_rc1::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_rc1::IfcUnit* v6_DefiningUnit, ::Ifc4x3_rc1::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_rc1::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcPropertyTableValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_DefiningValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_DefiningValues)->generalize());data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DefinedValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DefinedValues)->generalize());data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_DefiningUnit));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_DefinedUnit));data_->setArgument(6,attr);} if (v8_CurveInterpolation) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_CurveInterpolation,::Ifc4x3_rc1::IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcPropertyTemplate @@ -19898,14 +19898,14 @@ boost::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc1: void Ifc4x3_rc1::IfcReinforcingBarType::setBarSurface(boost::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::ToString(*v)));}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcReinforcingBarType::BendingShapeCode() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } void Ifc4x3_rc1::IfcReinforcingBarType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } -boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcBendingParameterSelect >::ptr > Ifc4x3_rc1::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc1::IfcBendingParameterSelect >::ptr v = *data_->getArgument(15); return v; } -void Ifc4x3_rc1::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcBendingParameterSelect >::ptr > Ifc4x3_rc1::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(15); return es->as< ::Ifc4x3_rc1::IfcBendingParameterSelect >(); } +void Ifc4x3_rc1::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(15,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcReinforcingBarType::declaration() const { return *IFC4X3_RC1_IfcReinforcingBarType_type; } const IfcParse::entity& Ifc4x3_rc1::IfcReinforcingBarType::Class() { return *IFC4X3_RC1_IfcReinforcingBarType_type; } Ifc4x3_rc1::IfcReinforcingBarType::IfcReinforcingBarType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcReinforcingBarType_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcReinforcingBarType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_BarLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_BarLength));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_BarSurface) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_BarSurface,::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_BendingShapeCode));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_BendingParameters));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } } +Ifc4x3_rc1::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcReinforcingBarType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_BarLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_BarLength));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_BarSurface) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_BarSurface,::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_BendingShapeCode));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_BendingParameters)->generalize());data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } } // Function implementations for IfcReinforcingElement boost::optional< std::string > Ifc4x3_rc1::IfcReinforcingElement::SteelGrade() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } @@ -19972,14 +19972,14 @@ boost::optional< double > Ifc4x3_rc1::IfcReinforcingMeshType::TransverseBarSpaci void Ifc4x3_rc1::IfcReinforcingMeshType::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(17,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcReinforcingMeshType::BendingShapeCode() const { if(!data_->getArgument(18) || data_->getArgument(18)->isNull()) { return boost::none; } std::string v = *data_->getArgument(18); return v; } void Ifc4x3_rc1::IfcReinforcingMeshType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(18,attr);} } -boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcBendingParameterSelect >::ptr > Ifc4x3_rc1::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc1::IfcBendingParameterSelect >::ptr v = *data_->getArgument(19); return v; } -void Ifc4x3_rc1::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(19,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcBendingParameterSelect >::ptr > Ifc4x3_rc1::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(19); return es->as< ::Ifc4x3_rc1::IfcBendingParameterSelect >(); } +void Ifc4x3_rc1::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(19,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcReinforcingMeshType::declaration() const { return *IFC4X3_RC1_IfcReinforcingMeshType_type; } const IfcParse::entity& Ifc4x3_rc1::IfcReinforcingMeshType::Class() { return *IFC4X3_RC1_IfcReinforcingMeshType_type; } Ifc4x3_rc1::IfcReinforcingMeshType::IfcReinforcingMeshType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcReinforcingMeshType_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of< ::Ifc4x3_rc1::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcReinforcingMeshType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshLength));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_MeshWidth));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LongitudinalBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TransverseBarNominalDiameter));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LongitudinalBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_TransverseBarCrossSectionArea));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LongitudinalBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_TransverseBarSpacing));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_BendingShapeCode));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_BendingParameters));data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } +Ifc4x3_rc1::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of< ::Ifc4x3_rc1::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcReinforcingMeshType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshLength));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_MeshWidth));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LongitudinalBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TransverseBarNominalDiameter));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LongitudinalBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_TransverseBarCrossSectionArea));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LongitudinalBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_TransverseBarSpacing));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_BendingShapeCode));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_BendingParameters)->generalize());data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } // Function implementations for IfcRelAggregates ::Ifc4x3_rc1::IfcObjectDefinition* Ifc4x3_rc1::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcObjectDefinition>(true); } @@ -20080,14 +20080,14 @@ Ifc4x3_rc1::IfcRelAssignsToResource::IfcRelAssignsToResource(IfcEntityInstanceDa Ifc4x3_rc1::IfcRelAssignsToResource::IfcRelAssignsToResource(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcResourceSelect* v7_RelatingResource) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelAssignsToResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x3_rc1::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingResource));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociates -aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr Ifc4x3_rc1::IfcRelAssociates::RelatedObjects() const { aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcRelAssociates::setRelatedObjects(aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr Ifc4x3_rc1::IfcRelAssociates::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc1::IfcDefinitionSelect >(); } +void Ifc4x3_rc1::IfcRelAssociates::setRelatedObjects(aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssociates::declaration() const { return *IFC4X3_RC1_IfcRelAssociates_type; } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssociates::Class() { return *IFC4X3_RC1_IfcRelAssociates_type; } Ifc4x3_rc1::IfcRelAssociates::IfcRelAssociates(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcRelAssociates_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} } +Ifc4x3_rc1::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} } // Function implementations for IfcRelAssociatesApproval ::Ifc4x3_rc1::IfcApproval* Ifc4x3_rc1::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcApproval>(true); } @@ -20097,7 +20097,7 @@ void Ifc4x3_rc1::IfcRelAssociatesApproval::setRelatingApproval(::Ifc4x3_rc1::Ifc const IfcParse::entity& Ifc4x3_rc1::IfcRelAssociatesApproval::declaration() const { return *IFC4X3_RC1_IfcRelAssociatesApproval_type; } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssociatesApproval::Class() { return *IFC4X3_RC1_IfcRelAssociatesApproval_type; } Ifc4x3_rc1::IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcRelAssociatesApproval_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } +Ifc4x3_rc1::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesClassification ::Ifc4x3_rc1::IfcClassificationSelect* Ifc4x3_rc1::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcClassificationSelect>(true); } @@ -20107,7 +20107,7 @@ void Ifc4x3_rc1::IfcRelAssociatesClassification::setRelatingClassification(::Ifc const IfcParse::entity& Ifc4x3_rc1::IfcRelAssociatesClassification::declaration() const { return *IFC4X3_RC1_IfcRelAssociatesClassification_type; } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssociatesClassification::Class() { return *IFC4X3_RC1_IfcRelAssociatesClassification_type; } Ifc4x3_rc1::IfcRelAssociatesClassification::IfcRelAssociatesClassification(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcRelAssociatesClassification_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelAssociatesClassification_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingClassification));data_->setArgument(5,attr);} } +Ifc4x3_rc1::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelAssociatesClassification_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingClassification));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesConstraint boost::optional< std::string > Ifc4x3_rc1::IfcRelAssociatesConstraint::Intent() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } @@ -20119,7 +20119,7 @@ void Ifc4x3_rc1::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc4x3_rc1: const IfcParse::entity& Ifc4x3_rc1::IfcRelAssociatesConstraint::declaration() const { return *IFC4X3_RC1_IfcRelAssociatesConstraint_type; } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssociatesConstraint::Class() { return *IFC4X3_RC1_IfcRelAssociatesConstraint_type; } Ifc4x3_rc1::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcRelAssociatesConstraint_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_rc1::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} if (v6_Intent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Intent));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } +Ifc4x3_rc1::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_rc1::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_Intent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Intent));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociatesDocument ::Ifc4x3_rc1::IfcDocumentSelect* Ifc4x3_rc1::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcDocumentSelect>(true); } @@ -20129,7 +20129,7 @@ void Ifc4x3_rc1::IfcRelAssociatesDocument::setRelatingDocument(::Ifc4x3_rc1::Ifc const IfcParse::entity& Ifc4x3_rc1::IfcRelAssociatesDocument::declaration() const { return *IFC4X3_RC1_IfcRelAssociatesDocument_type; } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssociatesDocument::Class() { return *IFC4X3_RC1_IfcRelAssociatesDocument_type; } Ifc4x3_rc1::IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcRelAssociatesDocument_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } +Ifc4x3_rc1::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesLibrary ::Ifc4x3_rc1::IfcLibrarySelect* Ifc4x3_rc1::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcLibrarySelect>(true); } @@ -20139,7 +20139,7 @@ void Ifc4x3_rc1::IfcRelAssociatesLibrary::setRelatingLibrary(::Ifc4x3_rc1::IfcLi const IfcParse::entity& Ifc4x3_rc1::IfcRelAssociatesLibrary::declaration() const { return *IFC4X3_RC1_IfcRelAssociatesLibrary_type; } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssociatesLibrary::Class() { return *IFC4X3_RC1_IfcRelAssociatesLibrary_type; } Ifc4x3_rc1::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcRelAssociatesLibrary_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } +Ifc4x3_rc1::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesMaterial ::Ifc4x3_rc1::IfcMaterialSelect* Ifc4x3_rc1::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcMaterialSelect>(true); } @@ -20149,7 +20149,7 @@ void Ifc4x3_rc1::IfcRelAssociatesMaterial::setRelatingMaterial(::Ifc4x3_rc1::Ifc const IfcParse::entity& Ifc4x3_rc1::IfcRelAssociatesMaterial::declaration() const { return *IFC4X3_RC1_IfcRelAssociatesMaterial_type; } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssociatesMaterial::Class() { return *IFC4X3_RC1_IfcRelAssociatesMaterial_type; } Ifc4x3_rc1::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcRelAssociatesMaterial_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelAssociatesMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingMaterial));data_->setArgument(5,attr);} } +Ifc4x3_rc1::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelAssociatesMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingMaterial));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesProfileDef ::Ifc4x3_rc1::IfcProfileDef* Ifc4x3_rc1::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcProfileDef>(true); } @@ -20159,7 +20159,7 @@ void Ifc4x3_rc1::IfcRelAssociatesProfileDef::setRelatingProfileDef(::Ifc4x3_rc1: const IfcParse::entity& Ifc4x3_rc1::IfcRelAssociatesProfileDef::declaration() const { return *IFC4X3_RC1_IfcRelAssociatesProfileDef_type; } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssociatesProfileDef::Class() { return *IFC4X3_RC1_IfcRelAssociatesProfileDef_type; } Ifc4x3_rc1::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcRelAssociatesProfileDef_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcProfileDef* v6_RelatingProfileDef) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelAssociatesProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingProfileDef));data_->setArgument(5,attr);} } +Ifc4x3_rc1::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcProfileDef* v6_RelatingProfileDef) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelAssociatesProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingProfileDef));data_->setArgument(5,attr);} } // Function implementations for IfcRelConnects @@ -20318,14 +20318,14 @@ Ifc4x3_rc1::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::If // Function implementations for IfcRelDeclares ::Ifc4x3_rc1::IfcContext* Ifc4x3_rc1::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcContext>(true); } void Ifc4x3_rc1::IfcRelDeclares::setRelatingContext(::Ifc4x3_rc1::IfcContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr Ifc4x3_rc1::IfcRelDeclares::RelatedDefinitions() const { aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v = *data_->getArgument(5); return v; } -void Ifc4x3_rc1::IfcRelDeclares::setRelatedDefinitions(aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } +aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr Ifc4x3_rc1::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc1::IfcDefinitionSelect >(); } +void Ifc4x3_rc1::IfcRelDeclares::setRelatedDefinitions(aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcRelDeclares::declaration() const { return *IFC4X3_RC1_IfcRelDeclares_type; } const IfcParse::entity& Ifc4x3_rc1::IfcRelDeclares::Class() { return *IFC4X3_RC1_IfcRelDeclares_type; } Ifc4x3_rc1::IfcRelDeclares::IfcRelDeclares(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcRelDeclares_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelDeclares_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingContext));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedDefinitions));data_->setArgument(5,attr);} } +Ifc4x3_rc1::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelDeclares_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingContext));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedDefinitions)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelDecomposes @@ -20470,8 +20470,8 @@ Ifc4x3_rc1::IfcRelProjectsElement::IfcRelProjectsElement(IfcEntityInstanceData* Ifc4x3_rc1::IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcElement* v5_RelatingElement, ::Ifc4x3_rc1::IfcFeatureElementAddition* v6_RelatedFeatureElement) : IfcRelDecomposes((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelProjectsElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedFeatureElement));data_->setArgument(5,attr);} } // Function implementations for IfcRelReferencedInSpatialStructure -aggregate_of< ::Ifc4x3_rc1::IfcSpatialReferenceSelect >::ptr Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of< ::Ifc4x3_rc1::IfcSpatialReferenceSelect >::ptr v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4x3_rc1::IfcSpatialReferenceSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +aggregate_of< ::Ifc4x3_rc1::IfcSpatialReferenceSelect >::ptr Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc1::IfcSpatialReferenceSelect >(); } +void Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4x3_rc1::IfcSpatialReferenceSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } ::Ifc4x3_rc1::IfcSpatialElement* Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcSpatialElement>(true); } void Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc4x3_rc1::IfcSpatialElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20479,7 +20479,7 @@ void Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc4 const IfcParse::entity& Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::declaration() const { return *IFC4X3_RC1_IfcRelReferencedInSpatialStructure_type; } const IfcParse::entity& Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::Class() { return *IFC4X3_RC1_IfcRelReferencedInSpatialStructure_type; } Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(IfcEntityInstanceData* e) : IfcRelConnects((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcRelReferencedInSpatialStructure_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcSpatialReferenceSelect >::ptr v5_RelatedElements, ::Ifc4x3_rc1::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelReferencedInSpatialStructure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedElements));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingStructure));data_->setArgument(5,attr);} } +Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcSpatialReferenceSelect >::ptr v5_RelatedElements, ::Ifc4x3_rc1::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelReferencedInSpatialStructure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedElements)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingStructure));data_->setArgument(5,attr);} } // Function implementations for IfcRelSequence ::Ifc4x3_rc1::IfcProcess* Ifc4x3_rc1::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcProcess>(true); } @@ -20651,8 +20651,8 @@ Ifc4x3_rc1::IfcResource::IfcResource(IfcEntityInstanceData* e) : IfcObject((IfcE Ifc4x3_rc1::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc4x3_rc1::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((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_LongDescription));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcResourceApprovalRelationship -aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr Ifc4x3_rc1::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr Ifc4x3_rc1::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc1::IfcResourceObjectSelect >(); } +void Ifc4x3_rc1::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } ::Ifc4x3_rc1::IfcApproval* Ifc4x3_rc1::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcApproval>(true); } void Ifc4x3_rc1::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x3_rc1::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -20660,19 +20660,19 @@ void Ifc4x3_rc1::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x3_r const IfcParse::entity& Ifc4x3_rc1::IfcResourceApprovalRelationship::declaration() const { return *IFC4X3_RC1_IfcResourceApprovalRelationship_type; } const IfcParse::entity& Ifc4x3_rc1::IfcResourceApprovalRelationship::Class() { return *IFC4X3_RC1_IfcResourceApprovalRelationship_type; } Ifc4x3_rc1::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcResourceApprovalRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x3_rc1::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcResourceApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatedResourceObjects));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatingApproval));data_->setArgument(3,attr);} } +Ifc4x3_rc1::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x3_rc1::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcResourceApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatedResourceObjects)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatingApproval));data_->setArgument(3,attr);} } // Function implementations for IfcResourceConstraintRelationship ::Ifc4x3_rc1::IfcConstraint* Ifc4x3_rc1::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcConstraint>(true); } void Ifc4x3_rc1::IfcResourceConstraintRelationship::setRelatingConstraint(::Ifc4x3_rc1::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr Ifc4x3_rc1::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr v = *data_->getArgument(3); return v; } -void Ifc4x3_rc1::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr Ifc4x3_rc1::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc1::IfcResourceObjectSelect >(); } +void Ifc4x3_rc1::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcResourceConstraintRelationship::declaration() const { return *IFC4X3_RC1_IfcResourceConstraintRelationship_type; } const IfcParse::entity& Ifc4x3_rc1::IfcResourceConstraintRelationship::Class() { return *IFC4X3_RC1_IfcResourceConstraintRelationship_type; } Ifc4x3_rc1::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcResourceConstraintRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcResourceConstraintRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingConstraint));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } +Ifc4x3_rc1::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcResourceConstraintRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingConstraint));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcResourceLevelRelationship boost::optional< std::string > Ifc4x3_rc1::IfcResourceLevelRelationship::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -21043,14 +21043,14 @@ Ifc4x3_rc1::IfcShapeRepresentation::IfcShapeRepresentation(IfcEntityInstanceData Ifc4x3_rc1::IfcShapeRepresentation::IfcShapeRepresentation(::Ifc4x3_rc1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_rc1::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcShapeRepresentation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ContextOfItems));data_->setArgument(0,attr);} if (v2_RepresentationIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_RepresentationIdentifier));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_RepresentationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_RepresentationType));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Items)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcShellBasedSurfaceModel -aggregate_of< ::Ifc4x3_rc1::IfcShell >::ptr Ifc4x3_rc1::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of< ::Ifc4x3_rc1::IfcShell >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc1::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of< ::Ifc4x3_rc1::IfcShell >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc1::IfcShell >::ptr Ifc4x3_rc1::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc1::IfcShell >(); } +void Ifc4x3_rc1::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of< ::Ifc4x3_rc1::IfcShell >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcShellBasedSurfaceModel::declaration() const { return *IFC4X3_RC1_IfcShellBasedSurfaceModel_type; } const IfcParse::entity& Ifc4x3_rc1::IfcShellBasedSurfaceModel::Class() { return *IFC4X3_RC1_IfcShellBasedSurfaceModel_type; } Ifc4x3_rc1::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcShellBasedSurfaceModel_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4x3_rc1::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcShellBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SbsmBoundary));data_->setArgument(0,attr);} } +Ifc4x3_rc1::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4x3_rc1::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcShellBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SbsmBoundary)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcSign boost::optional< ::Ifc4x3_rc1::IfcSignTypeEnum::Value > Ifc4x3_rc1::IfcSign::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSignTypeEnum::FromString(*data_->getArgument(8)); } @@ -21859,8 +21859,8 @@ Ifc4x3_rc1::IfcStyleModel::IfcStyleModel(::Ifc4x3_rc1::IfcRepresentationContext* // Function implementations for IfcStyledItem ::Ifc4x3_rc1::IfcRepresentationItem* Ifc4x3_rc1::IfcStyledItem::Item() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcRepresentationItem>(true); } void Ifc4x3_rc1::IfcStyledItem::setItem(::Ifc4x3_rc1::IfcRepresentationItem* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of< ::Ifc4x3_rc1::IfcStyleAssignmentSelect >::ptr Ifc4x3_rc1::IfcStyledItem::Styles() const { aggregate_of< ::Ifc4x3_rc1::IfcStyleAssignmentSelect >::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcStyledItem::setStyles(aggregate_of< ::Ifc4x3_rc1::IfcStyleAssignmentSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_rc1::IfcStyleAssignmentSelect >::ptr Ifc4x3_rc1::IfcStyledItem::Styles() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc1::IfcStyleAssignmentSelect >(); } +void Ifc4x3_rc1::IfcStyledItem::setStyles(aggregate_of< ::Ifc4x3_rc1::IfcStyleAssignmentSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcStyledItem::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4x3_rc1::IfcStyledItem::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } @@ -21868,7 +21868,7 @@ void Ifc4x3_rc1::IfcStyledItem::setName(boost::optional< std::string > v) { {Ifc const IfcParse::entity& Ifc4x3_rc1::IfcStyledItem::declaration() const { return *IFC4X3_RC1_IfcStyledItem_type; } const IfcParse::entity& Ifc4x3_rc1::IfcStyledItem::Class() { return *IFC4X3_RC1_IfcStyledItem_type; } Ifc4x3_rc1::IfcStyledItem::IfcStyledItem(IfcEntityInstanceData* e) : IfcRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcStyledItem_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcStyledItem::IfcStyledItem(::Ifc4x3_rc1::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc4x3_rc1::IfcStyleAssignmentSelect >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcStyledItem_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Item));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Styles));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x3_rc1::IfcStyledItem::IfcStyledItem(::Ifc4x3_rc1::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc4x3_rc1::IfcStyleAssignmentSelect >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcStyledItem_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Item));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Styles)->generalize());data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcStyledRepresentation @@ -21989,14 +21989,14 @@ Ifc4x3_rc1::IfcSurfaceReinforcementArea::IfcSurfaceReinforcementArea(boost::opti // Function implementations for IfcSurfaceStyle ::Ifc4x3_rc1::IfcSurfaceSide::Value Ifc4x3_rc1::IfcSurfaceStyle::Side() const { return ::Ifc4x3_rc1::IfcSurfaceSide::FromString(*data_->getArgument(1)); } void Ifc4x3_rc1::IfcSurfaceStyle::setSide(::Ifc4x3_rc1::IfcSurfaceSide::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcSurfaceSide::ToString(v)));data_->setArgument(1,attr);} } -aggregate_of< ::Ifc4x3_rc1::IfcSurfaceStyleElementSelect >::ptr Ifc4x3_rc1::IfcSurfaceStyle::Styles() const { aggregate_of< ::Ifc4x3_rc1::IfcSurfaceStyleElementSelect >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcSurfaceStyle::setStyles(aggregate_of< ::Ifc4x3_rc1::IfcSurfaceStyleElementSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_rc1::IfcSurfaceStyleElementSelect >::ptr Ifc4x3_rc1::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc1::IfcSurfaceStyleElementSelect >(); } +void Ifc4x3_rc1::IfcSurfaceStyle::setStyles(aggregate_of< ::Ifc4x3_rc1::IfcSurfaceStyleElementSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcSurfaceStyle::declaration() const { return *IFC4X3_RC1_IfcSurfaceStyle_type; } const IfcParse::entity& Ifc4x3_rc1::IfcSurfaceStyle::Class() { return *IFC4X3_RC1_IfcSurfaceStyle_type; } Ifc4x3_rc1::IfcSurfaceStyle::IfcSurfaceStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcSurfaceStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x3_rc1::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc4x3_rc1::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles));data_->setArgument(2,attr);} } +Ifc4x3_rc1::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x3_rc1::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc4x3_rc1::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles)->generalize());data_->setArgument(2,attr);} } // Function implementations for IfcSurfaceStyleLighting ::Ifc4x3_rc1::IfcColourRgb* Ifc4x3_rc1::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcColourRgb>(true); } @@ -22251,8 +22251,8 @@ Ifc4x3_rc1::IfcTableColumn::IfcTableColumn(IfcEntityInstanceData* e) : IfcUtil:: Ifc4x3_rc1::IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, ::Ifc4x3_rc1::IfcUnit* v4_Unit, ::Ifc4x3_rc1::IfcReference* v5_ReferencePath) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcTableColumn_type); if (v1_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Identifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Name));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_ReferencePath));data_->setArgument(4,attr);} } // Function implementations for IfcTableRow -boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > Ifc4x3_rc1::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc1::IfcTableRow::setRowCells(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > Ifc4x3_rc1::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc1::IfcValue >(); } +void Ifc4x3_rc1::IfcTableRow::setRowCells(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(0,attr);} } boost::optional< bool > Ifc4x3_rc1::IfcTableRow::IsHeading() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } bool v = *data_->getArgument(1); return v; } void Ifc4x3_rc1::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } @@ -22260,7 +22260,7 @@ void Ifc4x3_rc1::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrit const IfcParse::entity& Ifc4x3_rc1::IfcTableRow::declaration() const { return *IFC4X3_RC1_IfcTableRow_type; } const IfcParse::entity& Ifc4x3_rc1::IfcTableRow::Class() { return *IFC4X3_RC1_IfcTableRow_type; } Ifc4x3_rc1::IfcTableRow::IfcTableRow(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC1_IfcTableRow_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcTableRow_type); if (v1_RowCells) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RowCells));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_IsHeading) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_IsHeading));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } +Ifc4x3_rc1::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcTableRow_type); if (v1_RowCells) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RowCells)->generalize());data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_IsHeading) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_IsHeading));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcTank boost::optional< ::Ifc4x3_rc1::IfcTankTypeEnum::Value > Ifc4x3_rc1::IfcTank::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcTankTypeEnum::FromString(*data_->getArgument(8)); } @@ -22672,14 +22672,14 @@ Ifc4x3_rc1::IfcTimeSeries::IfcTimeSeries(IfcEntityInstanceData* e) : IfcUtil::If Ifc4x3_rc1::IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc1::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc1::IfcUnit* v8_Unit) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcTimeSeries_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_StartTime));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EndTime));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_TimeSeriesDataType,::Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType))));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v6_DataOrigin,::Ifc4x3_rc1::IfcDataOriginEnum::ToString(v6_DataOrigin))));data_->setArgument(5,attr);} if (v7_UserDefinedDataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_UserDefinedDataOrigin));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Unit));data_->setArgument(7,attr);} } // Function implementations for IfcTimeSeriesValue -aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr Ifc4x3_rc1::IfcTimeSeriesValue::ListValues() const { aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc1::IfcTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr Ifc4x3_rc1::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc1::IfcValue >(); } +void Ifc4x3_rc1::IfcTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcTimeSeriesValue::declaration() const { return *IFC4X3_RC1_IfcTimeSeriesValue_type; } const IfcParse::entity& Ifc4x3_rc1::IfcTimeSeriesValue::Class() { return *IFC4X3_RC1_IfcTimeSeriesValue_type; } Ifc4x3_rc1::IfcTimeSeriesValue::IfcTimeSeriesValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC1_IfcTimeSeriesValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ListValues));data_->setArgument(0,attr);} } +Ifc4x3_rc1::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ListValues)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcTopologicalRepresentationItem @@ -22832,10 +22832,10 @@ Ifc4x3_rc1::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(::I // Function implementations for IfcTrimmedCurve ::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcCurve>(true); } void Ifc4x3_rc1::IfcTrimmedCurve::setBasisCurve(::Ifc4x3_rc1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of< ::Ifc4x3_rc1::IfcTrimmingSelect >::ptr Ifc4x3_rc1::IfcTrimmedCurve::Trim1() const { aggregate_of< ::Ifc4x3_rc1::IfcTrimmingSelect >::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcTrimmedCurve::setTrim1(aggregate_of< ::Ifc4x3_rc1::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -aggregate_of< ::Ifc4x3_rc1::IfcTrimmingSelect >::ptr Ifc4x3_rc1::IfcTrimmedCurve::Trim2() const { aggregate_of< ::Ifc4x3_rc1::IfcTrimmingSelect >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcTrimmedCurve::setTrim2(aggregate_of< ::Ifc4x3_rc1::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_rc1::IfcTrimmingSelect >::ptr Ifc4x3_rc1::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc1::IfcTrimmingSelect >(); } +void Ifc4x3_rc1::IfcTrimmedCurve::setTrim1(aggregate_of< ::Ifc4x3_rc1::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_rc1::IfcTrimmingSelect >::ptr Ifc4x3_rc1::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc1::IfcTrimmingSelect >(); } +void Ifc4x3_rc1::IfcTrimmedCurve::setTrim2(aggregate_of< ::Ifc4x3_rc1::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } bool Ifc4x3_rc1::IfcTrimmedCurve::SenseAgreement() const { bool v = *data_->getArgument(3); return v; } void Ifc4x3_rc1::IfcTrimmedCurve::setSenseAgreement(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x3_rc1::IfcTrimmingPreference::Value Ifc4x3_rc1::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4x3_rc1::IfcTrimmingPreference::FromString(*data_->getArgument(4)); } @@ -22845,7 +22845,7 @@ void Ifc4x3_rc1::IfcTrimmedCurve::setMasterRepresentation(::Ifc4x3_rc1::IfcTrimm const IfcParse::entity& Ifc4x3_rc1::IfcTrimmedCurve::declaration() const { return *IFC4X3_RC1_IfcTrimmedCurve_type; } const IfcParse::entity& Ifc4x3_rc1::IfcTrimmedCurve::Class() { return *IFC4X3_RC1_IfcTrimmedCurve_type; } Ifc4x3_rc1::IfcTrimmedCurve::IfcTrimmedCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC1_IfcTrimmedCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3_rc1::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_rc1::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x3_rc1::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc1::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcTrimmedCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Trim1));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Trim2));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SenseAgreement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_MasterRepresentation,::Ifc4x3_rc1::IfcTrimmingPreference::ToString(v5_MasterRepresentation))));data_->setArgument(4,attr);} } +Ifc4x3_rc1::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3_rc1::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_rc1::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x3_rc1::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc1::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcTrimmedCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Trim1)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Trim2)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SenseAgreement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_MasterRepresentation,::Ifc4x3_rc1::IfcTrimmingPreference::ToString(v5_MasterRepresentation))));data_->setArgument(4,attr);} } // Function implementations for IfcTubeBundle boost::optional< ::Ifc4x3_rc1::IfcTubeBundleTypeEnum::Value > Ifc4x3_rc1::IfcTubeBundle::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcTubeBundleTypeEnum::FromString(*data_->getArgument(8)); } @@ -22946,14 +22946,14 @@ Ifc4x3_rc1::IfcUShapeProfileDef::IfcUShapeProfileDef(IfcEntityInstanceData* e) : Ifc4x3_rc1::IfcUShapeProfileDef::IfcUShapeProfileDef(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::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((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcUShapeProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4x3_rc1::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_FlangeWidth));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_WebThickness));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_FlangeThickness));data_->setArgument(6,attr);} if (v8_FilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_FilletRadius));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_EdgeRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_EdgeRadius));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_FlangeSlope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_FlangeSlope));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcUnitAssignment -aggregate_of< ::Ifc4x3_rc1::IfcUnit >::ptr Ifc4x3_rc1::IfcUnitAssignment::Units() const { aggregate_of< ::Ifc4x3_rc1::IfcUnit >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc1::IfcUnitAssignment::setUnits(aggregate_of< ::Ifc4x3_rc1::IfcUnit >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc1::IfcUnit >::ptr Ifc4x3_rc1::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc1::IfcUnit >(); } +void Ifc4x3_rc1::IfcUnitAssignment::setUnits(aggregate_of< ::Ifc4x3_rc1::IfcUnit >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcUnitAssignment::declaration() const { return *IFC4X3_RC1_IfcUnitAssignment_type; } const IfcParse::entity& Ifc4x3_rc1::IfcUnitAssignment::Class() { return *IFC4X3_RC1_IfcUnitAssignment_type; } Ifc4x3_rc1::IfcUnitAssignment::IfcUnitAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC1_IfcUnitAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc1::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4x3_rc1::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcUnitAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Units));data_->setArgument(0,attr);} } +Ifc4x3_rc1::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4x3_rc1::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcUnitAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Units)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcUnitaryControlElement boost::optional< ::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Value > Ifc4x3_rc1::IfcUnitaryControlElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::FromString(*data_->getArgument(8)); } diff --git a/src/ifcparse/Ifc4x3_rc2.cpp b/src/ifcparse/Ifc4x3_rc2.cpp index ba8b9f6500..9ade0b4c5a 100644 --- a/src/ifcparse/Ifc4x3_rc2.cpp +++ b/src/ifcparse/Ifc4x3_rc2.cpp @@ -15765,8 +15765,8 @@ boost::optional< std::string > Ifc4x3_rc2::IfcDocumentInformation::Revision() co void Ifc4x3_rc2::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3_rc2::IfcActorSelect* Ifc4x3_rc2::IfcDocumentInformation::DocumentOwner() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc2::IfcActorSelect>(true); } void Ifc4x3_rc2::IfcDocumentInformation::setDocumentOwner(::Ifc4x3_rc2::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcActorSelect >::ptr > Ifc4x3_rc2::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc2::IfcActorSelect >::ptr v = *data_->getArgument(9); return v; } -void Ifc4x3_rc2::IfcDocumentInformation::setEditors(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcActorSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcActorSelect >::ptr > Ifc4x3_rc2::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc4x3_rc2::IfcActorSelect >(); } +void Ifc4x3_rc2::IfcDocumentInformation::setEditors(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcActorSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcDocumentInformation::CreationTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } void Ifc4x3_rc2::IfcDocumentInformation::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcDocumentInformation::LastRevisionTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } @@ -15790,7 +15790,7 @@ void Ifc4x3_rc2::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x3_rc2 const IfcParse::entity& Ifc4x3_rc2::IfcDocumentInformation::declaration() const { return *IFC4X3_RC2_IfcDocumentInformation_type; } const IfcParse::entity& Ifc4x3_rc2::IfcDocumentInformation::Class() { return *IFC4X3_RC2_IfcDocumentInformation_type; } Ifc4x3_rc2::IfcDocumentInformation::IfcDocumentInformation(IfcEntityInstanceData* e) : IfcExternalInformation((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcDocumentInformation_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::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, ::Ifc4x3_rc2::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcActorSelect >::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< ::Ifc4x3_rc2::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_rc2::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Identification));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Location));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CreationTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LastRevisionTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LastRevisionTime));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ElectronicFormat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ElectronicFormat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ValidFrom) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ValidFrom));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ValidUntil) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ValidUntil));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc4x3_rc2::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc4x3_rc2::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } +Ifc4x3_rc2::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, ::Ifc4x3_rc2::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcActorSelect >::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< ::Ifc4x3_rc2::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_rc2::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Identification));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Location));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CreationTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LastRevisionTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LastRevisionTime));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ElectronicFormat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ElectronicFormat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ValidFrom) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ValidFrom));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ValidUntil) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ValidUntil));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc4x3_rc2::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc4x3_rc2::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } // Function implementations for IfcDocumentInformationRelationship ::Ifc4x3_rc2::IfcDocumentInformation* Ifc4x3_rc2::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcDocumentInformation>(true); } @@ -16484,14 +16484,14 @@ Ifc4x3_rc2::IfcExternalReference::IfcExternalReference(boost::optional< std::str // Function implementations for IfcExternalReferenceRelationship ::Ifc4x3_rc2::IfcExternalReference* Ifc4x3_rc2::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcExternalReference>(true); } void Ifc4x3_rc2::IfcExternalReferenceRelationship::setRelatingReference(::Ifc4x3_rc2::IfcExternalReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr Ifc4x3_rc2::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr v = *data_->getArgument(3); return v; } -void Ifc4x3_rc2::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr Ifc4x3_rc2::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc2::IfcResourceObjectSelect >(); } +void Ifc4x3_rc2::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcExternalReferenceRelationship::declaration() const { return *IFC4X3_RC2_IfcExternalReferenceRelationship_type; } const IfcParse::entity& Ifc4x3_rc2::IfcExternalReferenceRelationship::Class() { return *IFC4X3_RC2_IfcExternalReferenceRelationship_type; } Ifc4x3_rc2::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcExternalReferenceRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcExternalReferenceRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingReference));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } +Ifc4x3_rc2::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcExternalReferenceRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingReference));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcExternalSpatialElement boost::optional< ::Ifc4x3_rc2::IfcExternalSpatialElementTypeEnum::Value > Ifc4x3_rc2::IfcExternalSpatialElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcExternalSpatialElementTypeEnum::FromString(*data_->getArgument(8)); } @@ -16736,8 +16736,8 @@ Ifc4x3_rc2::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcEntity Ifc4x3_rc2::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcFeatureElementSubtraction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcFillAreaStyle -aggregate_of< ::Ifc4x3_rc2::IfcFillStyleSelect >::ptr Ifc4x3_rc2::IfcFillAreaStyle::FillStyles() const { aggregate_of< ::Ifc4x3_rc2::IfcFillStyleSelect >::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcFillAreaStyle::setFillStyles(aggregate_of< ::Ifc4x3_rc2::IfcFillStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_rc2::IfcFillStyleSelect >::ptr Ifc4x3_rc2::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc2::IfcFillStyleSelect >(); } +void Ifc4x3_rc2::IfcFillAreaStyle::setFillStyles(aggregate_of< ::Ifc4x3_rc2::IfcFillStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x3_rc2::IfcFillAreaStyle::ModelOrDraughting() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } void Ifc4x3_rc2::IfcFillAreaStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } @@ -16745,7 +16745,7 @@ void Ifc4x3_rc2::IfcFillAreaStyle::setModelOrDraughting(boost::optional< bool > const IfcParse::entity& Ifc4x3_rc2::IfcFillAreaStyle::declaration() const { return *IFC4X3_RC2_IfcFillAreaStyle_type; } const IfcParse::entity& Ifc4x3_rc2::IfcFillAreaStyle::Class() { return *IFC4X3_RC2_IfcFillAreaStyle_type; } Ifc4x3_rc2::IfcFillAreaStyle::IfcFillAreaStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcFillAreaStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_rc2::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles));data_->setArgument(1,attr);} if (v3_ModelOrDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ModelOrDraughting));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x3_rc2::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_rc2::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles)->generalize());data_->setArgument(1,attr);} if (v3_ModelOrDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ModelOrDraughting));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcFillAreaStyleHatching ::Ifc4x3_rc2::IfcCurveStyle* Ifc4x3_rc2::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCurveStyle>(true); } @@ -17065,7 +17065,7 @@ Ifc4x3_rc2::IfcGeographicElementType::IfcGeographicElementType(std::string v1_Gl const IfcParse::entity& Ifc4x3_rc2::IfcGeometricCurveSet::declaration() const { return *IFC4X3_RC2_IfcGeometricCurveSet_type; } const IfcParse::entity& Ifc4x3_rc2::IfcGeometricCurveSet::Class() { return *IFC4X3_RC2_IfcGeometricCurveSet_type; } Ifc4x3_rc2::IfcGeometricCurveSet::IfcGeometricCurveSet(IfcEntityInstanceData* e) : IfcGeometricSet((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcGeometricCurveSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4x3_rc2::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcGeometricCurveSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } +Ifc4x3_rc2::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4x3_rc2::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcGeometricCurveSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcGeometricRepresentationContext int Ifc4x3_rc2::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = *data_->getArgument(2); return v; } @@ -17110,14 +17110,14 @@ Ifc4x3_rc2::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubC Ifc4x3_rc2::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, ::Ifc4x3_rc2::IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, ::Ifc4x3_rc2::IfcGeometricProjectionEnum::Value v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcGeometricRepresentationSubContext_type); if (v1_ContextIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_ContextIdentifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_ContextType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ContextType));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ParentContext));data_->setArgument(6,attr);} if (v8_TargetScale) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_TargetScale));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_TargetView,::Ifc4x3_rc2::IfcGeometricProjectionEnum::ToString(v9_TargetView))));data_->setArgument(8,attr);} if (v10_UserDefinedTargetView) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_UserDefinedTargetView));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcGeometricSet -aggregate_of< ::Ifc4x3_rc2::IfcGeometricSetSelect >::ptr Ifc4x3_rc2::IfcGeometricSet::Elements() const { aggregate_of< ::Ifc4x3_rc2::IfcGeometricSetSelect >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc2::IfcGeometricSet::setElements(aggregate_of< ::Ifc4x3_rc2::IfcGeometricSetSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc2::IfcGeometricSetSelect >::ptr Ifc4x3_rc2::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc2::IfcGeometricSetSelect >(); } +void Ifc4x3_rc2::IfcGeometricSet::setElements(aggregate_of< ::Ifc4x3_rc2::IfcGeometricSetSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcGeometricSet::declaration() const { return *IFC4X3_RC2_IfcGeometricSet_type; } const IfcParse::entity& Ifc4x3_rc2::IfcGeometricSet::Class() { return *IFC4X3_RC2_IfcGeometricSet_type; } Ifc4x3_rc2::IfcGeometricSet::IfcGeometricSet(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcGeometricSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x3_rc2::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcGeometricSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } +Ifc4x3_rc2::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x3_rc2::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcGeometricSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcGeomodel @@ -17363,8 +17363,8 @@ Ifc4x3_rc2::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4x3_rc2::IfcTessellate // Function implementations for IfcIndexedPolyCurve ::Ifc4x3_rc2::IfcCartesianPointList* Ifc4x3_rc2::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCartesianPointList>(true); } void Ifc4x3_rc2::IfcIndexedPolyCurve::setPoints(::Ifc4x3_rc2::IfcCartesianPointList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcSegmentIndexSelect >::ptr > Ifc4x3_rc2::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc2::IfcSegmentIndexSelect >::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcSegmentIndexSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcSegmentIndexSelect >::ptr > Ifc4x3_rc2::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc2::IfcSegmentIndexSelect >(); } +void Ifc4x3_rc2::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcSegmentIndexSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x3_rc2::IfcIndexedPolyCurve::SelfIntersect() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } void Ifc4x3_rc2::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } @@ -17372,7 +17372,7 @@ void Ifc4x3_rc2::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v const IfcParse::entity& Ifc4x3_rc2::IfcIndexedPolyCurve::declaration() const { return *IFC4X3_RC2_IfcIndexedPolyCurve_type; } const IfcParse::entity& Ifc4x3_rc2::IfcIndexedPolyCurve::Class() { return *IFC4X3_RC2_IfcIndexedPolyCurve_type; } Ifc4x3_rc2::IfcIndexedPolyCurve::IfcIndexedPolyCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcIndexedPolyCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x3_rc2::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcIndexedPolyCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Points));data_->setArgument(0,attr);} if (v2_Segments) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Segments));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_SelfIntersect) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_SelfIntersect));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x3_rc2::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x3_rc2::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcIndexedPolyCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Points));data_->setArgument(0,attr);} if (v2_Segments) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Segments)->generalize());data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_SelfIntersect) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_SelfIntersect));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcIndexedPolygonalFace std::vector< int > /*[3:?]*/ Ifc4x3_rc2::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = *data_->getArgument(0); return v; } @@ -17478,14 +17478,14 @@ Ifc4x3_rc2::IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, // Function implementations for IfcIrregularTimeSeriesValue std::string Ifc4x3_rc2::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc2::IfcIrregularTimeSeriesValue::setTimeStamp(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr Ifc4x3_rc2::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcIrregularTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr Ifc4x3_rc2::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc2::IfcValue >(); } +void Ifc4x3_rc2::IfcIrregularTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcIrregularTimeSeriesValue::declaration() const { return *IFC4X3_RC2_IfcIrregularTimeSeriesValue_type; } const IfcParse::entity& Ifc4x3_rc2::IfcIrregularTimeSeriesValue::Class() { return *IFC4X3_RC2_IfcIrregularTimeSeriesValue_type; } Ifc4x3_rc2::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC2_IfcIrregularTimeSeriesValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcIrregularTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TimeStamp));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ListValues));data_->setArgument(1,attr);} } +Ifc4x3_rc2::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcIrregularTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TimeStamp));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ListValues)->generalize());data_->setArgument(1,attr);} } // Function implementations for IfcJunctionBox boost::optional< ::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Value > Ifc4x3_rc2::IfcJunctionBox::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::FromString(*data_->getArgument(8)); } @@ -17964,8 +17964,8 @@ Ifc4x3_rc2::IfcMaterial::IfcMaterial(IfcEntityInstanceData* e) : IfcMaterialDefi Ifc4x3_rc2::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_Category) : IfcMaterialDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Category) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Category));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcMaterialClassificationRelationship -aggregate_of< ::Ifc4x3_rc2::IfcClassificationSelect >::ptr Ifc4x3_rc2::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of< ::Ifc4x3_rc2::IfcClassificationSelect >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc2::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of< ::Ifc4x3_rc2::IfcClassificationSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc2::IfcClassificationSelect >::ptr Ifc4x3_rc2::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc2::IfcClassificationSelect >(); } +void Ifc4x3_rc2::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of< ::Ifc4x3_rc2::IfcClassificationSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } ::Ifc4x3_rc2::IfcMaterial* Ifc4x3_rc2::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcMaterial>(true); } void Ifc4x3_rc2::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc4x3_rc2::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -17973,7 +17973,7 @@ void Ifc4x3_rc2::IfcMaterialClassificationRelationship::setClassifiedMaterial(:: const IfcParse::entity& Ifc4x3_rc2::IfcMaterialClassificationRelationship::declaration() const { return *IFC4X3_RC2_IfcMaterialClassificationRelationship_type; } const IfcParse::entity& Ifc4x3_rc2::IfcMaterialClassificationRelationship::Class() { return *IFC4X3_RC2_IfcMaterialClassificationRelationship_type; } Ifc4x3_rc2::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC2_IfcMaterialClassificationRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4x3_rc2::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x3_rc2::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcMaterialClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialClassifications));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ClassifiedMaterial));data_->setArgument(1,attr);} } +Ifc4x3_rc2::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4x3_rc2::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x3_rc2::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcMaterialClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialClassifications)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ClassifiedMaterial));data_->setArgument(1,attr);} } // Function implementations for IfcMaterialConstituent boost::optional< std::string > Ifc4x3_rc2::IfcMaterialConstituent::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -19213,8 +19213,8 @@ std::string Ifc4x3_rc2::IfcPresentationLayerAssignment::Name() const { std::str void Ifc4x3_rc2::IfcPresentationLayerAssignment::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcPresentationLayerAssignment::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc2::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } -aggregate_of< ::Ifc4x3_rc2::IfcLayeredItem >::ptr Ifc4x3_rc2::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of< ::Ifc4x3_rc2::IfcLayeredItem >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of< ::Ifc4x3_rc2::IfcLayeredItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_rc2::IfcLayeredItem >::ptr Ifc4x3_rc2::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc2::IfcLayeredItem >(); } +void Ifc4x3_rc2::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of< ::Ifc4x3_rc2::IfcLayeredItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcPresentationLayerAssignment::Identifier() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4x3_rc2::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } @@ -19222,7 +19222,7 @@ void Ifc4x3_rc2::IfcPresentationLayerAssignment::setIdentifier(boost::optional< const IfcParse::entity& Ifc4x3_rc2::IfcPresentationLayerAssignment::declaration() const { return *IFC4X3_RC2_IfcPresentationLayerAssignment_type; } const IfcParse::entity& Ifc4x3_rc2::IfcPresentationLayerAssignment::Class() { return *IFC4X3_RC2_IfcPresentationLayerAssignment_type; } Ifc4x3_rc2::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC2_IfcPresentationLayerAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc2::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcPresentationLayerAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } +Ifc4x3_rc2::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc2::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcPresentationLayerAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems)->generalize());data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcPresentationLayerWithStyle boost::logic::tribool Ifc4x3_rc2::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = *data_->getArgument(4); return v; } @@ -19238,7 +19238,7 @@ void Ifc4x3_rc2::IfcPresentationLayerWithStyle::setLayerStyles(aggregate_of< ::I const IfcParse::entity& Ifc4x3_rc2::IfcPresentationLayerWithStyle::declaration() const { return *IFC4X3_RC2_IfcPresentationLayerWithStyle_type; } const IfcParse::entity& Ifc4x3_rc2::IfcPresentationLayerWithStyle::Class() { return *IFC4X3_RC2_IfcPresentationLayerWithStyle_type; } Ifc4x3_rc2::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcEntityInstanceData* e) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcPresentationLayerWithStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc2::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_rc2::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcPresentationLayerWithStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_LayerOn));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LayerFrozen));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LayerBlocked));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LayerStyles)->generalize());data_->setArgument(7,attr);} } +Ifc4x3_rc2::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc2::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_rc2::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcPresentationLayerWithStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems)->generalize());data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_LayerOn));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LayerFrozen));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LayerBlocked));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LayerStyles)->generalize());data_->setArgument(7,attr);} } // Function implementations for IfcPresentationStyle boost::optional< std::string > Ifc4x3_rc2::IfcPresentationStyle::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -19251,14 +19251,14 @@ Ifc4x3_rc2::IfcPresentationStyle::IfcPresentationStyle(IfcEntityInstanceData* e) Ifc4x3_rc2::IfcPresentationStyle::IfcPresentationStyle(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcPresentationStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } } // Function implementations for IfcPresentationStyleAssignment -aggregate_of< ::Ifc4x3_rc2::IfcPresentationStyleSelect >::ptr Ifc4x3_rc2::IfcPresentationStyleAssignment::Styles() const { aggregate_of< ::Ifc4x3_rc2::IfcPresentationStyleSelect >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc2::IfcPresentationStyleAssignment::setStyles(aggregate_of< ::Ifc4x3_rc2::IfcPresentationStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc2::IfcPresentationStyleSelect >::ptr Ifc4x3_rc2::IfcPresentationStyleAssignment::Styles() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc2::IfcPresentationStyleSelect >(); } +void Ifc4x3_rc2::IfcPresentationStyleAssignment::setStyles(aggregate_of< ::Ifc4x3_rc2::IfcPresentationStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcPresentationStyleAssignment::declaration() const { return *IFC4X3_RC2_IfcPresentationStyleAssignment_type; } const IfcParse::entity& Ifc4x3_rc2::IfcPresentationStyleAssignment::Class() { return *IFC4X3_RC2_IfcPresentationStyleAssignment_type; } Ifc4x3_rc2::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC2_IfcPresentationStyleAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(aggregate_of< ::Ifc4x3_rc2::IfcPresentationStyleSelect >::ptr v1_Styles) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcPresentationStyleAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Styles));data_->setArgument(0,attr);} } +Ifc4x3_rc2::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(aggregate_of< ::Ifc4x3_rc2::IfcPresentationStyleSelect >::ptr v1_Styles) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcPresentationStyleAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Styles)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcProcedure boost::optional< ::Ifc4x3_rc2::IfcProcedureTypeEnum::Value > Ifc4x3_rc2::IfcProcedure::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcProcedureTypeEnum::FromString(*data_->getArgument(7)); } @@ -19480,8 +19480,8 @@ Ifc4x3_rc2::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship Ifc4x3_rc2::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcProperty* v3_DependingProperty, ::Ifc4x3_rc2::IfcProperty* v4_DependantProperty, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcPropertyDependencyRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_DependingProperty));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_DependantProperty));data_->setArgument(3,attr);} if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcPropertyEnumeratedValue -boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > Ifc4x3_rc2::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > Ifc4x3_rc2::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc2::IfcValue >(); } +void Ifc4x3_rc2::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } ::Ifc4x3_rc2::IfcPropertyEnumeration* Ifc4x3_rc2::IfcPropertyEnumeratedValue::EnumerationReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcPropertyEnumeration>(true); } void Ifc4x3_rc2::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x3_rc2::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19489,13 +19489,13 @@ void Ifc4x3_rc2::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x3_rc const IfcParse::entity& Ifc4x3_rc2::IfcPropertyEnumeratedValue::declaration() const { return *IFC4X3_RC2_IfcPropertyEnumeratedValue_type; } const IfcParse::entity& Ifc4x3_rc2::IfcPropertyEnumeratedValue::Class() { return *IFC4X3_RC2_IfcPropertyEnumeratedValue_type; } Ifc4x3_rc2::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcPropertyEnumeratedValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x3_rc2::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcPropertyEnumeratedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EnumerationValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EnumerationValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EnumerationReference));data_->setArgument(3,attr);} } +Ifc4x3_rc2::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x3_rc2::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcPropertyEnumeratedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EnumerationValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EnumerationValues)->generalize());data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EnumerationReference));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyEnumeration std::string Ifc4x3_rc2::IfcPropertyEnumeration::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc2::IfcPropertyEnumeration::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr Ifc4x3_rc2::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcPropertyEnumeration::setEnumerationValues(aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr Ifc4x3_rc2::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc2::IfcValue >(); } +void Ifc4x3_rc2::IfcPropertyEnumeration::setEnumerationValues(aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } ::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcPropertyEnumeration::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcUnit>(true); } void Ifc4x3_rc2::IfcPropertyEnumeration::setUnit(::Ifc4x3_rc2::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -19503,11 +19503,11 @@ void Ifc4x3_rc2::IfcPropertyEnumeration::setUnit(::Ifc4x3_rc2::IfcUnit* v) { {If const IfcParse::entity& Ifc4x3_rc2::IfcPropertyEnumeration::declaration() const { return *IFC4X3_RC2_IfcPropertyEnumeration_type; } const IfcParse::entity& Ifc4x3_rc2::IfcPropertyEnumeration::Class() { return *IFC4X3_RC2_IfcPropertyEnumeration_type; } Ifc4x3_rc2::IfcPropertyEnumeration::IfcPropertyEnumeration(IfcEntityInstanceData* e) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcPropertyEnumeration_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x3_rc2::IfcUnit* v3_Unit) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcPropertyEnumeration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EnumerationValues));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);} } +Ifc4x3_rc2::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x3_rc2::IfcUnit* v3_Unit) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcPropertyEnumeration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EnumerationValues)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);} } // Function implementations for IfcPropertyListValue -boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > Ifc4x3_rc2::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcPropertyListValue::setListValues(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > Ifc4x3_rc2::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc2::IfcValue >(); } +void Ifc4x3_rc2::IfcPropertyListValue::setListValues(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } ::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcPropertyListValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcUnit>(true); } void Ifc4x3_rc2::IfcPropertyListValue::setUnit(::Ifc4x3_rc2::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19515,7 +19515,7 @@ void Ifc4x3_rc2::IfcPropertyListValue::setUnit(::Ifc4x3_rc2::IfcUnit* v) { {IfcW const IfcParse::entity& Ifc4x3_rc2::IfcPropertyListValue::declaration() const { return *IFC4X3_RC2_IfcPropertyListValue_type; } const IfcParse::entity& Ifc4x3_rc2::IfcPropertyListValue::Class() { return *IFC4X3_RC2_IfcPropertyListValue_type; } Ifc4x3_rc2::IfcPropertyListValue::IfcPropertyListValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcPropertyListValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v3_ListValues, ::Ifc4x3_rc2::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcPropertyListValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ListValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ListValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } +Ifc4x3_rc2::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v3_ListValues, ::Ifc4x3_rc2::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcPropertyListValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ListValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ListValues)->generalize());data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyReferenceValue boost::optional< std::string > Ifc4x3_rc2::IfcPropertyReferenceValue::UsageName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } @@ -19578,10 +19578,10 @@ Ifc4x3_rc2::IfcPropertySingleValue::IfcPropertySingleValue(IfcEntityInstanceData Ifc4x3_rc2::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcValue* v3_NominalValue, ::Ifc4x3_rc2::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcPropertySingleValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_NominalValue));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyTableValue -boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > Ifc4x3_rc2::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } -boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > Ifc4x3_rc2::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v = *data_->getArgument(3); return v; } -void Ifc4x3_rc2::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > Ifc4x3_rc2::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc2::IfcValue >(); } +void Ifc4x3_rc2::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > Ifc4x3_rc2::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc2::IfcValue >(); } +void Ifc4x3_rc2::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcPropertyTableValue::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x3_rc2::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcPropertyTableValue::DefiningUnit() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcUnit>(true); } @@ -19595,7 +19595,7 @@ void Ifc4x3_rc2::IfcPropertyTableValue::setCurveInterpolation(boost::optional< : const IfcParse::entity& Ifc4x3_rc2::IfcPropertyTableValue::declaration() const { return *IFC4X3_RC2_IfcPropertyTableValue_type; } const IfcParse::entity& Ifc4x3_rc2::IfcPropertyTableValue::Class() { return *IFC4X3_RC2_IfcPropertyTableValue_type; } Ifc4x3_rc2::IfcPropertyTableValue::IfcPropertyTableValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcPropertyTableValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_rc2::IfcUnit* v6_DefiningUnit, ::Ifc4x3_rc2::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_rc2::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcPropertyTableValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_DefiningValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_DefiningValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DefinedValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DefinedValues));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_DefiningUnit));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_DefinedUnit));data_->setArgument(6,attr);} if (v8_CurveInterpolation) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_CurveInterpolation,::Ifc4x3_rc2::IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } +Ifc4x3_rc2::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_rc2::IfcUnit* v6_DefiningUnit, ::Ifc4x3_rc2::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_rc2::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcPropertyTableValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_DefiningValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_DefiningValues)->generalize());data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DefinedValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DefinedValues)->generalize());data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_DefiningUnit));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_DefinedUnit));data_->setArgument(6,attr);} if (v8_CurveInterpolation) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_CurveInterpolation,::Ifc4x3_rc2::IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcPropertyTemplate @@ -20076,14 +20076,14 @@ boost::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc2: void Ifc4x3_rc2::IfcReinforcingBarType::setBarSurface(boost::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::ToString(*v)));}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcReinforcingBarType::BendingShapeCode() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } void Ifc4x3_rc2::IfcReinforcingBarType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } -boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcBendingParameterSelect >::ptr > Ifc4x3_rc2::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc2::IfcBendingParameterSelect >::ptr v = *data_->getArgument(15); return v; } -void Ifc4x3_rc2::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcBendingParameterSelect >::ptr > Ifc4x3_rc2::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(15); return es->as< ::Ifc4x3_rc2::IfcBendingParameterSelect >(); } +void Ifc4x3_rc2::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(15,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcReinforcingBarType::declaration() const { return *IFC4X3_RC2_IfcReinforcingBarType_type; } const IfcParse::entity& Ifc4x3_rc2::IfcReinforcingBarType::Class() { return *IFC4X3_RC2_IfcReinforcingBarType_type; } Ifc4x3_rc2::IfcReinforcingBarType::IfcReinforcingBarType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcReinforcingBarType_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcReinforcingBarType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_BarLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_BarLength));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_BarSurface) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_BarSurface,::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_BendingShapeCode));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_BendingParameters));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } } +Ifc4x3_rc2::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcReinforcingBarType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_BarLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_BarLength));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_BarSurface) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_BarSurface,::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_BendingShapeCode));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_BendingParameters)->generalize());data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } } // Function implementations for IfcReinforcingElement boost::optional< std::string > Ifc4x3_rc2::IfcReinforcingElement::SteelGrade() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } @@ -20150,14 +20150,14 @@ boost::optional< double > Ifc4x3_rc2::IfcReinforcingMeshType::TransverseBarSpaci void Ifc4x3_rc2::IfcReinforcingMeshType::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(17,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcReinforcingMeshType::BendingShapeCode() const { if(!data_->getArgument(18) || data_->getArgument(18)->isNull()) { return boost::none; } std::string v = *data_->getArgument(18); return v; } void Ifc4x3_rc2::IfcReinforcingMeshType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(18,attr);} } -boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcBendingParameterSelect >::ptr > Ifc4x3_rc2::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc2::IfcBendingParameterSelect >::ptr v = *data_->getArgument(19); return v; } -void Ifc4x3_rc2::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(19,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcBendingParameterSelect >::ptr > Ifc4x3_rc2::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(19); return es->as< ::Ifc4x3_rc2::IfcBendingParameterSelect >(); } +void Ifc4x3_rc2::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(19,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcReinforcingMeshType::declaration() const { return *IFC4X3_RC2_IfcReinforcingMeshType_type; } const IfcParse::entity& Ifc4x3_rc2::IfcReinforcingMeshType::Class() { return *IFC4X3_RC2_IfcReinforcingMeshType_type; } Ifc4x3_rc2::IfcReinforcingMeshType::IfcReinforcingMeshType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcReinforcingMeshType_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of< ::Ifc4x3_rc2::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcReinforcingMeshType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshLength));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_MeshWidth));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LongitudinalBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TransverseBarNominalDiameter));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LongitudinalBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_TransverseBarCrossSectionArea));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LongitudinalBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_TransverseBarSpacing));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_BendingShapeCode));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_BendingParameters));data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } +Ifc4x3_rc2::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of< ::Ifc4x3_rc2::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcReinforcingMeshType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshLength));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_MeshWidth));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LongitudinalBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TransverseBarNominalDiameter));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LongitudinalBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_TransverseBarCrossSectionArea));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LongitudinalBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_TransverseBarSpacing));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_BendingShapeCode));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_BendingParameters)->generalize());data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } // Function implementations for IfcRelAggregates ::Ifc4x3_rc2::IfcObjectDefinition* Ifc4x3_rc2::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcObjectDefinition>(true); } @@ -20258,14 +20258,14 @@ Ifc4x3_rc2::IfcRelAssignsToResource::IfcRelAssignsToResource(IfcEntityInstanceDa Ifc4x3_rc2::IfcRelAssignsToResource::IfcRelAssignsToResource(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcResourceSelect* v7_RelatingResource) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelAssignsToResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x3_rc2::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingResource));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociates -aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr Ifc4x3_rc2::IfcRelAssociates::RelatedObjects() const { aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcRelAssociates::setRelatedObjects(aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr Ifc4x3_rc2::IfcRelAssociates::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc2::IfcDefinitionSelect >(); } +void Ifc4x3_rc2::IfcRelAssociates::setRelatedObjects(aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssociates::declaration() const { return *IFC4X3_RC2_IfcRelAssociates_type; } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssociates::Class() { return *IFC4X3_RC2_IfcRelAssociates_type; } Ifc4x3_rc2::IfcRelAssociates::IfcRelAssociates(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcRelAssociates_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} } +Ifc4x3_rc2::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} } // Function implementations for IfcRelAssociatesApproval ::Ifc4x3_rc2::IfcApproval* Ifc4x3_rc2::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcApproval>(true); } @@ -20275,7 +20275,7 @@ void Ifc4x3_rc2::IfcRelAssociatesApproval::setRelatingApproval(::Ifc4x3_rc2::Ifc const IfcParse::entity& Ifc4x3_rc2::IfcRelAssociatesApproval::declaration() const { return *IFC4X3_RC2_IfcRelAssociatesApproval_type; } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssociatesApproval::Class() { return *IFC4X3_RC2_IfcRelAssociatesApproval_type; } Ifc4x3_rc2::IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcRelAssociatesApproval_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } +Ifc4x3_rc2::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesClassification ::Ifc4x3_rc2::IfcClassificationSelect* Ifc4x3_rc2::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcClassificationSelect>(true); } @@ -20285,7 +20285,7 @@ void Ifc4x3_rc2::IfcRelAssociatesClassification::setRelatingClassification(::Ifc const IfcParse::entity& Ifc4x3_rc2::IfcRelAssociatesClassification::declaration() const { return *IFC4X3_RC2_IfcRelAssociatesClassification_type; } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssociatesClassification::Class() { return *IFC4X3_RC2_IfcRelAssociatesClassification_type; } Ifc4x3_rc2::IfcRelAssociatesClassification::IfcRelAssociatesClassification(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcRelAssociatesClassification_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelAssociatesClassification_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingClassification));data_->setArgument(5,attr);} } +Ifc4x3_rc2::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelAssociatesClassification_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingClassification));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesConstraint boost::optional< std::string > Ifc4x3_rc2::IfcRelAssociatesConstraint::Intent() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } @@ -20297,7 +20297,7 @@ void Ifc4x3_rc2::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc4x3_rc2: const IfcParse::entity& Ifc4x3_rc2::IfcRelAssociatesConstraint::declaration() const { return *IFC4X3_RC2_IfcRelAssociatesConstraint_type; } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssociatesConstraint::Class() { return *IFC4X3_RC2_IfcRelAssociatesConstraint_type; } Ifc4x3_rc2::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcRelAssociatesConstraint_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_rc2::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} if (v6_Intent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Intent));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } +Ifc4x3_rc2::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_rc2::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_Intent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Intent));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociatesDocument ::Ifc4x3_rc2::IfcDocumentSelect* Ifc4x3_rc2::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcDocumentSelect>(true); } @@ -20307,7 +20307,7 @@ void Ifc4x3_rc2::IfcRelAssociatesDocument::setRelatingDocument(::Ifc4x3_rc2::Ifc const IfcParse::entity& Ifc4x3_rc2::IfcRelAssociatesDocument::declaration() const { return *IFC4X3_RC2_IfcRelAssociatesDocument_type; } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssociatesDocument::Class() { return *IFC4X3_RC2_IfcRelAssociatesDocument_type; } Ifc4x3_rc2::IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcRelAssociatesDocument_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } +Ifc4x3_rc2::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesLibrary ::Ifc4x3_rc2::IfcLibrarySelect* Ifc4x3_rc2::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcLibrarySelect>(true); } @@ -20317,7 +20317,7 @@ void Ifc4x3_rc2::IfcRelAssociatesLibrary::setRelatingLibrary(::Ifc4x3_rc2::IfcLi const IfcParse::entity& Ifc4x3_rc2::IfcRelAssociatesLibrary::declaration() const { return *IFC4X3_RC2_IfcRelAssociatesLibrary_type; } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssociatesLibrary::Class() { return *IFC4X3_RC2_IfcRelAssociatesLibrary_type; } Ifc4x3_rc2::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcRelAssociatesLibrary_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } +Ifc4x3_rc2::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesMaterial ::Ifc4x3_rc2::IfcMaterialSelect* Ifc4x3_rc2::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcMaterialSelect>(true); } @@ -20327,7 +20327,7 @@ void Ifc4x3_rc2::IfcRelAssociatesMaterial::setRelatingMaterial(::Ifc4x3_rc2::Ifc const IfcParse::entity& Ifc4x3_rc2::IfcRelAssociatesMaterial::declaration() const { return *IFC4X3_RC2_IfcRelAssociatesMaterial_type; } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssociatesMaterial::Class() { return *IFC4X3_RC2_IfcRelAssociatesMaterial_type; } Ifc4x3_rc2::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcRelAssociatesMaterial_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelAssociatesMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingMaterial));data_->setArgument(5,attr);} } +Ifc4x3_rc2::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelAssociatesMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingMaterial));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesProfileDef ::Ifc4x3_rc2::IfcProfileDef* Ifc4x3_rc2::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcProfileDef>(true); } @@ -20337,7 +20337,7 @@ void Ifc4x3_rc2::IfcRelAssociatesProfileDef::setRelatingProfileDef(::Ifc4x3_rc2: const IfcParse::entity& Ifc4x3_rc2::IfcRelAssociatesProfileDef::declaration() const { return *IFC4X3_RC2_IfcRelAssociatesProfileDef_type; } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssociatesProfileDef::Class() { return *IFC4X3_RC2_IfcRelAssociatesProfileDef_type; } Ifc4x3_rc2::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcRelAssociatesProfileDef_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcProfileDef* v6_RelatingProfileDef) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelAssociatesProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingProfileDef));data_->setArgument(5,attr);} } +Ifc4x3_rc2::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcProfileDef* v6_RelatingProfileDef) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelAssociatesProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingProfileDef));data_->setArgument(5,attr);} } // Function implementations for IfcRelConnects @@ -20496,14 +20496,14 @@ Ifc4x3_rc2::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::If // Function implementations for IfcRelDeclares ::Ifc4x3_rc2::IfcContext* Ifc4x3_rc2::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcContext>(true); } void Ifc4x3_rc2::IfcRelDeclares::setRelatingContext(::Ifc4x3_rc2::IfcContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr Ifc4x3_rc2::IfcRelDeclares::RelatedDefinitions() const { aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v = *data_->getArgument(5); return v; } -void Ifc4x3_rc2::IfcRelDeclares::setRelatedDefinitions(aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } +aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr Ifc4x3_rc2::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc2::IfcDefinitionSelect >(); } +void Ifc4x3_rc2::IfcRelDeclares::setRelatedDefinitions(aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcRelDeclares::declaration() const { return *IFC4X3_RC2_IfcRelDeclares_type; } const IfcParse::entity& Ifc4x3_rc2::IfcRelDeclares::Class() { return *IFC4X3_RC2_IfcRelDeclares_type; } Ifc4x3_rc2::IfcRelDeclares::IfcRelDeclares(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcRelDeclares_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelDeclares_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingContext));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedDefinitions));data_->setArgument(5,attr);} } +Ifc4x3_rc2::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelDeclares_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingContext));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedDefinitions)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelDecomposes @@ -20648,8 +20648,8 @@ Ifc4x3_rc2::IfcRelProjectsElement::IfcRelProjectsElement(IfcEntityInstanceData* Ifc4x3_rc2::IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcElement* v5_RelatingElement, ::Ifc4x3_rc2::IfcFeatureElementAddition* v6_RelatedFeatureElement) : IfcRelDecomposes((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelProjectsElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedFeatureElement));data_->setArgument(5,attr);} } // Function implementations for IfcRelReferencedInSpatialStructure -aggregate_of< ::Ifc4x3_rc2::IfcSpatialReferenceSelect >::ptr Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of< ::Ifc4x3_rc2::IfcSpatialReferenceSelect >::ptr v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4x3_rc2::IfcSpatialReferenceSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +aggregate_of< ::Ifc4x3_rc2::IfcSpatialReferenceSelect >::ptr Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc2::IfcSpatialReferenceSelect >(); } +void Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4x3_rc2::IfcSpatialReferenceSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } ::Ifc4x3_rc2::IfcSpatialElement* Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcSpatialElement>(true); } void Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc4x3_rc2::IfcSpatialElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20657,7 +20657,7 @@ void Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc4 const IfcParse::entity& Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::declaration() const { return *IFC4X3_RC2_IfcRelReferencedInSpatialStructure_type; } const IfcParse::entity& Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::Class() { return *IFC4X3_RC2_IfcRelReferencedInSpatialStructure_type; } Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(IfcEntityInstanceData* e) : IfcRelConnects((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcRelReferencedInSpatialStructure_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcSpatialReferenceSelect >::ptr v5_RelatedElements, ::Ifc4x3_rc2::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelReferencedInSpatialStructure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedElements));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingStructure));data_->setArgument(5,attr);} } +Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcSpatialReferenceSelect >::ptr v5_RelatedElements, ::Ifc4x3_rc2::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelReferencedInSpatialStructure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedElements)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingStructure));data_->setArgument(5,attr);} } // Function implementations for IfcRelSequence ::Ifc4x3_rc2::IfcProcess* Ifc4x3_rc2::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcProcess>(true); } @@ -20829,8 +20829,8 @@ Ifc4x3_rc2::IfcResource::IfcResource(IfcEntityInstanceData* e) : IfcObject((IfcE Ifc4x3_rc2::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc4x3_rc2::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((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_LongDescription));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcResourceApprovalRelationship -aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr Ifc4x3_rc2::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr Ifc4x3_rc2::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc2::IfcResourceObjectSelect >(); } +void Ifc4x3_rc2::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } ::Ifc4x3_rc2::IfcApproval* Ifc4x3_rc2::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcApproval>(true); } void Ifc4x3_rc2::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x3_rc2::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -20838,19 +20838,19 @@ void Ifc4x3_rc2::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x3_r const IfcParse::entity& Ifc4x3_rc2::IfcResourceApprovalRelationship::declaration() const { return *IFC4X3_RC2_IfcResourceApprovalRelationship_type; } const IfcParse::entity& Ifc4x3_rc2::IfcResourceApprovalRelationship::Class() { return *IFC4X3_RC2_IfcResourceApprovalRelationship_type; } Ifc4x3_rc2::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcResourceApprovalRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x3_rc2::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcResourceApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatedResourceObjects));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatingApproval));data_->setArgument(3,attr);} } +Ifc4x3_rc2::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x3_rc2::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcResourceApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatedResourceObjects)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatingApproval));data_->setArgument(3,attr);} } // Function implementations for IfcResourceConstraintRelationship ::Ifc4x3_rc2::IfcConstraint* Ifc4x3_rc2::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcConstraint>(true); } void Ifc4x3_rc2::IfcResourceConstraintRelationship::setRelatingConstraint(::Ifc4x3_rc2::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr Ifc4x3_rc2::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr v = *data_->getArgument(3); return v; } -void Ifc4x3_rc2::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr Ifc4x3_rc2::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc2::IfcResourceObjectSelect >(); } +void Ifc4x3_rc2::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcResourceConstraintRelationship::declaration() const { return *IFC4X3_RC2_IfcResourceConstraintRelationship_type; } const IfcParse::entity& Ifc4x3_rc2::IfcResourceConstraintRelationship::Class() { return *IFC4X3_RC2_IfcResourceConstraintRelationship_type; } Ifc4x3_rc2::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcResourceConstraintRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcResourceConstraintRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingConstraint));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } +Ifc4x3_rc2::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcResourceConstraintRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingConstraint));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcResourceLevelRelationship boost::optional< std::string > Ifc4x3_rc2::IfcResourceLevelRelationship::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -21259,14 +21259,14 @@ Ifc4x3_rc2::IfcShapeRepresentation::IfcShapeRepresentation(IfcEntityInstanceData Ifc4x3_rc2::IfcShapeRepresentation::IfcShapeRepresentation(::Ifc4x3_rc2::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_rc2::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcShapeRepresentation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ContextOfItems));data_->setArgument(0,attr);} if (v2_RepresentationIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_RepresentationIdentifier));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_RepresentationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_RepresentationType));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Items)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcShellBasedSurfaceModel -aggregate_of< ::Ifc4x3_rc2::IfcShell >::ptr Ifc4x3_rc2::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of< ::Ifc4x3_rc2::IfcShell >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc2::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of< ::Ifc4x3_rc2::IfcShell >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc2::IfcShell >::ptr Ifc4x3_rc2::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc2::IfcShell >(); } +void Ifc4x3_rc2::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of< ::Ifc4x3_rc2::IfcShell >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcShellBasedSurfaceModel::declaration() const { return *IFC4X3_RC2_IfcShellBasedSurfaceModel_type; } const IfcParse::entity& Ifc4x3_rc2::IfcShellBasedSurfaceModel::Class() { return *IFC4X3_RC2_IfcShellBasedSurfaceModel_type; } Ifc4x3_rc2::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcShellBasedSurfaceModel_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4x3_rc2::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcShellBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SbsmBoundary));data_->setArgument(0,attr);} } +Ifc4x3_rc2::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4x3_rc2::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcShellBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SbsmBoundary)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcSign boost::optional< ::Ifc4x3_rc2::IfcSignTypeEnum::Value > Ifc4x3_rc2::IfcSign::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSignTypeEnum::FromString(*data_->getArgument(8)); } @@ -22075,8 +22075,8 @@ Ifc4x3_rc2::IfcStyleModel::IfcStyleModel(::Ifc4x3_rc2::IfcRepresentationContext* // Function implementations for IfcStyledItem ::Ifc4x3_rc2::IfcRepresentationItem* Ifc4x3_rc2::IfcStyledItem::Item() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcRepresentationItem>(true); } void Ifc4x3_rc2::IfcStyledItem::setItem(::Ifc4x3_rc2::IfcRepresentationItem* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of< ::Ifc4x3_rc2::IfcStyleAssignmentSelect >::ptr Ifc4x3_rc2::IfcStyledItem::Styles() const { aggregate_of< ::Ifc4x3_rc2::IfcStyleAssignmentSelect >::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcStyledItem::setStyles(aggregate_of< ::Ifc4x3_rc2::IfcStyleAssignmentSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_rc2::IfcStyleAssignmentSelect >::ptr Ifc4x3_rc2::IfcStyledItem::Styles() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc2::IfcStyleAssignmentSelect >(); } +void Ifc4x3_rc2::IfcStyledItem::setStyles(aggregate_of< ::Ifc4x3_rc2::IfcStyleAssignmentSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcStyledItem::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4x3_rc2::IfcStyledItem::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } @@ -22084,7 +22084,7 @@ void Ifc4x3_rc2::IfcStyledItem::setName(boost::optional< std::string > v) { {Ifc const IfcParse::entity& Ifc4x3_rc2::IfcStyledItem::declaration() const { return *IFC4X3_RC2_IfcStyledItem_type; } const IfcParse::entity& Ifc4x3_rc2::IfcStyledItem::Class() { return *IFC4X3_RC2_IfcStyledItem_type; } Ifc4x3_rc2::IfcStyledItem::IfcStyledItem(IfcEntityInstanceData* e) : IfcRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcStyledItem_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcStyledItem::IfcStyledItem(::Ifc4x3_rc2::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc4x3_rc2::IfcStyleAssignmentSelect >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcStyledItem_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Item));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Styles));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x3_rc2::IfcStyledItem::IfcStyledItem(::Ifc4x3_rc2::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc4x3_rc2::IfcStyleAssignmentSelect >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcStyledItem_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Item));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Styles)->generalize());data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcStyledRepresentation @@ -22205,14 +22205,14 @@ Ifc4x3_rc2::IfcSurfaceReinforcementArea::IfcSurfaceReinforcementArea(boost::opti // Function implementations for IfcSurfaceStyle ::Ifc4x3_rc2::IfcSurfaceSide::Value Ifc4x3_rc2::IfcSurfaceStyle::Side() const { return ::Ifc4x3_rc2::IfcSurfaceSide::FromString(*data_->getArgument(1)); } void Ifc4x3_rc2::IfcSurfaceStyle::setSide(::Ifc4x3_rc2::IfcSurfaceSide::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcSurfaceSide::ToString(v)));data_->setArgument(1,attr);} } -aggregate_of< ::Ifc4x3_rc2::IfcSurfaceStyleElementSelect >::ptr Ifc4x3_rc2::IfcSurfaceStyle::Styles() const { aggregate_of< ::Ifc4x3_rc2::IfcSurfaceStyleElementSelect >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcSurfaceStyle::setStyles(aggregate_of< ::Ifc4x3_rc2::IfcSurfaceStyleElementSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_rc2::IfcSurfaceStyleElementSelect >::ptr Ifc4x3_rc2::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc2::IfcSurfaceStyleElementSelect >(); } +void Ifc4x3_rc2::IfcSurfaceStyle::setStyles(aggregate_of< ::Ifc4x3_rc2::IfcSurfaceStyleElementSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcSurfaceStyle::declaration() const { return *IFC4X3_RC2_IfcSurfaceStyle_type; } const IfcParse::entity& Ifc4x3_rc2::IfcSurfaceStyle::Class() { return *IFC4X3_RC2_IfcSurfaceStyle_type; } Ifc4x3_rc2::IfcSurfaceStyle::IfcSurfaceStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcSurfaceStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x3_rc2::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc4x3_rc2::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles));data_->setArgument(2,attr);} } +Ifc4x3_rc2::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x3_rc2::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc4x3_rc2::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles)->generalize());data_->setArgument(2,attr);} } // Function implementations for IfcSurfaceStyleLighting ::Ifc4x3_rc2::IfcColourRgb* Ifc4x3_rc2::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcColourRgb>(true); } @@ -22467,8 +22467,8 @@ Ifc4x3_rc2::IfcTableColumn::IfcTableColumn(IfcEntityInstanceData* e) : IfcUtil:: Ifc4x3_rc2::IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, ::Ifc4x3_rc2::IfcUnit* v4_Unit, ::Ifc4x3_rc2::IfcReference* v5_ReferencePath) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcTableColumn_type); if (v1_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Identifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Name));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_ReferencePath));data_->setArgument(4,attr);} } // Function implementations for IfcTableRow -boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > Ifc4x3_rc2::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc2::IfcTableRow::setRowCells(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > Ifc4x3_rc2::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc2::IfcValue >(); } +void Ifc4x3_rc2::IfcTableRow::setRowCells(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(0,attr);} } boost::optional< bool > Ifc4x3_rc2::IfcTableRow::IsHeading() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } bool v = *data_->getArgument(1); return v; } void Ifc4x3_rc2::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } @@ -22476,7 +22476,7 @@ void Ifc4x3_rc2::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrit const IfcParse::entity& Ifc4x3_rc2::IfcTableRow::declaration() const { return *IFC4X3_RC2_IfcTableRow_type; } const IfcParse::entity& Ifc4x3_rc2::IfcTableRow::Class() { return *IFC4X3_RC2_IfcTableRow_type; } Ifc4x3_rc2::IfcTableRow::IfcTableRow(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC2_IfcTableRow_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcTableRow_type); if (v1_RowCells) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RowCells));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_IsHeading) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_IsHeading));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } +Ifc4x3_rc2::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcTableRow_type); if (v1_RowCells) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RowCells)->generalize());data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_IsHeading) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_IsHeading));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcTank boost::optional< ::Ifc4x3_rc2::IfcTankTypeEnum::Value > Ifc4x3_rc2::IfcTank::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcTankTypeEnum::FromString(*data_->getArgument(8)); } @@ -22888,14 +22888,14 @@ Ifc4x3_rc2::IfcTimeSeries::IfcTimeSeries(IfcEntityInstanceData* e) : IfcUtil::If Ifc4x3_rc2::IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc2::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc2::IfcUnit* v8_Unit) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcTimeSeries_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_StartTime));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EndTime));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_TimeSeriesDataType,::Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType))));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v6_DataOrigin,::Ifc4x3_rc2::IfcDataOriginEnum::ToString(v6_DataOrigin))));data_->setArgument(5,attr);} if (v7_UserDefinedDataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_UserDefinedDataOrigin));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Unit));data_->setArgument(7,attr);} } // Function implementations for IfcTimeSeriesValue -aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr Ifc4x3_rc2::IfcTimeSeriesValue::ListValues() const { aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc2::IfcTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr Ifc4x3_rc2::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc2::IfcValue >(); } +void Ifc4x3_rc2::IfcTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcTimeSeriesValue::declaration() const { return *IFC4X3_RC2_IfcTimeSeriesValue_type; } const IfcParse::entity& Ifc4x3_rc2::IfcTimeSeriesValue::Class() { return *IFC4X3_RC2_IfcTimeSeriesValue_type; } Ifc4x3_rc2::IfcTimeSeriesValue::IfcTimeSeriesValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC2_IfcTimeSeriesValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ListValues));data_->setArgument(0,attr);} } +Ifc4x3_rc2::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ListValues)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcTopologicalRepresentationItem @@ -23048,10 +23048,10 @@ Ifc4x3_rc2::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(::I // Function implementations for IfcTrimmedCurve ::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCurve>(true); } void Ifc4x3_rc2::IfcTrimmedCurve::setBasisCurve(::Ifc4x3_rc2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of< ::Ifc4x3_rc2::IfcTrimmingSelect >::ptr Ifc4x3_rc2::IfcTrimmedCurve::Trim1() const { aggregate_of< ::Ifc4x3_rc2::IfcTrimmingSelect >::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcTrimmedCurve::setTrim1(aggregate_of< ::Ifc4x3_rc2::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -aggregate_of< ::Ifc4x3_rc2::IfcTrimmingSelect >::ptr Ifc4x3_rc2::IfcTrimmedCurve::Trim2() const { aggregate_of< ::Ifc4x3_rc2::IfcTrimmingSelect >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcTrimmedCurve::setTrim2(aggregate_of< ::Ifc4x3_rc2::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_rc2::IfcTrimmingSelect >::ptr Ifc4x3_rc2::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc2::IfcTrimmingSelect >(); } +void Ifc4x3_rc2::IfcTrimmedCurve::setTrim1(aggregate_of< ::Ifc4x3_rc2::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_rc2::IfcTrimmingSelect >::ptr Ifc4x3_rc2::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc2::IfcTrimmingSelect >(); } +void Ifc4x3_rc2::IfcTrimmedCurve::setTrim2(aggregate_of< ::Ifc4x3_rc2::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } bool Ifc4x3_rc2::IfcTrimmedCurve::SenseAgreement() const { bool v = *data_->getArgument(3); return v; } void Ifc4x3_rc2::IfcTrimmedCurve::setSenseAgreement(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x3_rc2::IfcTrimmingPreference::Value Ifc4x3_rc2::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4x3_rc2::IfcTrimmingPreference::FromString(*data_->getArgument(4)); } @@ -23061,7 +23061,7 @@ void Ifc4x3_rc2::IfcTrimmedCurve::setMasterRepresentation(::Ifc4x3_rc2::IfcTrimm const IfcParse::entity& Ifc4x3_rc2::IfcTrimmedCurve::declaration() const { return *IFC4X3_RC2_IfcTrimmedCurve_type; } const IfcParse::entity& Ifc4x3_rc2::IfcTrimmedCurve::Class() { return *IFC4X3_RC2_IfcTrimmedCurve_type; } Ifc4x3_rc2::IfcTrimmedCurve::IfcTrimmedCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC2_IfcTrimmedCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3_rc2::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_rc2::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x3_rc2::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc2::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcTrimmedCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Trim1));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Trim2));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SenseAgreement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_MasterRepresentation,::Ifc4x3_rc2::IfcTrimmingPreference::ToString(v5_MasterRepresentation))));data_->setArgument(4,attr);} } +Ifc4x3_rc2::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3_rc2::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_rc2::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x3_rc2::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc2::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcTrimmedCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Trim1)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Trim2)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SenseAgreement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_MasterRepresentation,::Ifc4x3_rc2::IfcTrimmingPreference::ToString(v5_MasterRepresentation))));data_->setArgument(4,attr);} } // Function implementations for IfcTubeBundle boost::optional< ::Ifc4x3_rc2::IfcTubeBundleTypeEnum::Value > Ifc4x3_rc2::IfcTubeBundle::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcTubeBundleTypeEnum::FromString(*data_->getArgument(8)); } @@ -23162,14 +23162,14 @@ Ifc4x3_rc2::IfcUShapeProfileDef::IfcUShapeProfileDef(IfcEntityInstanceData* e) : Ifc4x3_rc2::IfcUShapeProfileDef::IfcUShapeProfileDef(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::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((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcUShapeProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4x3_rc2::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_FlangeWidth));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_WebThickness));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_FlangeThickness));data_->setArgument(6,attr);} if (v8_FilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_FilletRadius));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_EdgeRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_EdgeRadius));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_FlangeSlope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_FlangeSlope));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcUnitAssignment -aggregate_of< ::Ifc4x3_rc2::IfcUnit >::ptr Ifc4x3_rc2::IfcUnitAssignment::Units() const { aggregate_of< ::Ifc4x3_rc2::IfcUnit >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc2::IfcUnitAssignment::setUnits(aggregate_of< ::Ifc4x3_rc2::IfcUnit >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc2::IfcUnit >::ptr Ifc4x3_rc2::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc2::IfcUnit >(); } +void Ifc4x3_rc2::IfcUnitAssignment::setUnits(aggregate_of< ::Ifc4x3_rc2::IfcUnit >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcUnitAssignment::declaration() const { return *IFC4X3_RC2_IfcUnitAssignment_type; } const IfcParse::entity& Ifc4x3_rc2::IfcUnitAssignment::Class() { return *IFC4X3_RC2_IfcUnitAssignment_type; } Ifc4x3_rc2::IfcUnitAssignment::IfcUnitAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC2_IfcUnitAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc2::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4x3_rc2::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcUnitAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Units));data_->setArgument(0,attr);} } +Ifc4x3_rc2::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4x3_rc2::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcUnitAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Units)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcUnitaryControlElement boost::optional< ::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Value > Ifc4x3_rc2::IfcUnitaryControlElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::FromString(*data_->getArgument(8)); } diff --git a/src/ifcparse/Ifc4x3_rc3.cpp b/src/ifcparse/Ifc4x3_rc3.cpp index 8b3eb66471..91ae19c6ee 100644 --- a/src/ifcparse/Ifc4x3_rc3.cpp +++ b/src/ifcparse/Ifc4x3_rc3.cpp @@ -15701,8 +15701,8 @@ boost::optional< std::string > Ifc4x3_rc3::IfcDocumentInformation::Revision() co void Ifc4x3_rc3::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3_rc3::IfcActorSelect* Ifc4x3_rc3::IfcDocumentInformation::DocumentOwner() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc3::IfcActorSelect>(true); } void Ifc4x3_rc3::IfcDocumentInformation::setDocumentOwner(::Ifc4x3_rc3::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcActorSelect >::ptr > Ifc4x3_rc3::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc3::IfcActorSelect >::ptr v = *data_->getArgument(9); return v; } -void Ifc4x3_rc3::IfcDocumentInformation::setEditors(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcActorSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcActorSelect >::ptr > Ifc4x3_rc3::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc4x3_rc3::IfcActorSelect >(); } +void Ifc4x3_rc3::IfcDocumentInformation::setEditors(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcActorSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcDocumentInformation::CreationTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } void Ifc4x3_rc3::IfcDocumentInformation::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcDocumentInformation::LastRevisionTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } @@ -15726,7 +15726,7 @@ void Ifc4x3_rc3::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x3_rc3 const IfcParse::entity& Ifc4x3_rc3::IfcDocumentInformation::declaration() const { return *IFC4X3_RC3_IfcDocumentInformation_type; } const IfcParse::entity& Ifc4x3_rc3::IfcDocumentInformation::Class() { return *IFC4X3_RC3_IfcDocumentInformation_type; } Ifc4x3_rc3::IfcDocumentInformation::IfcDocumentInformation(IfcEntityInstanceData* e) : IfcExternalInformation((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcDocumentInformation_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::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, ::Ifc4x3_rc3::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcActorSelect >::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< ::Ifc4x3_rc3::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_rc3::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Identification));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Location));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CreationTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LastRevisionTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LastRevisionTime));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ElectronicFormat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ElectronicFormat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ValidFrom) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ValidFrom));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ValidUntil) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ValidUntil));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc4x3_rc3::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc4x3_rc3::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } +Ifc4x3_rc3::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, ::Ifc4x3_rc3::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcActorSelect >::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< ::Ifc4x3_rc3::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_rc3::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Identification));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Location));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CreationTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LastRevisionTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LastRevisionTime));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ElectronicFormat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ElectronicFormat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ValidFrom) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ValidFrom));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ValidUntil) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ValidUntil));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc4x3_rc3::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc4x3_rc3::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } // Function implementations for IfcDocumentInformationRelationship ::Ifc4x3_rc3::IfcDocumentInformation* Ifc4x3_rc3::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcDocumentInformation>(true); } @@ -16420,14 +16420,14 @@ Ifc4x3_rc3::IfcExternalReference::IfcExternalReference(boost::optional< std::str // Function implementations for IfcExternalReferenceRelationship ::Ifc4x3_rc3::IfcExternalReference* Ifc4x3_rc3::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcExternalReference>(true); } void Ifc4x3_rc3::IfcExternalReferenceRelationship::setRelatingReference(::Ifc4x3_rc3::IfcExternalReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr Ifc4x3_rc3::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr v = *data_->getArgument(3); return v; } -void Ifc4x3_rc3::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr Ifc4x3_rc3::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc3::IfcResourceObjectSelect >(); } +void Ifc4x3_rc3::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcExternalReferenceRelationship::declaration() const { return *IFC4X3_RC3_IfcExternalReferenceRelationship_type; } const IfcParse::entity& Ifc4x3_rc3::IfcExternalReferenceRelationship::Class() { return *IFC4X3_RC3_IfcExternalReferenceRelationship_type; } Ifc4x3_rc3::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcExternalReferenceRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcExternalReferenceRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingReference));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } +Ifc4x3_rc3::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcExternalReferenceRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingReference));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcExternalSpatialElement boost::optional< ::Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::Value > Ifc4x3_rc3::IfcExternalSpatialElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::FromString(*data_->getArgument(8)); } @@ -16672,8 +16672,8 @@ Ifc4x3_rc3::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcEntity Ifc4x3_rc3::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcFeatureElementSubtraction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcFillAreaStyle -aggregate_of< ::Ifc4x3_rc3::IfcFillStyleSelect >::ptr Ifc4x3_rc3::IfcFillAreaStyle::FillStyles() const { aggregate_of< ::Ifc4x3_rc3::IfcFillStyleSelect >::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcFillAreaStyle::setFillStyles(aggregate_of< ::Ifc4x3_rc3::IfcFillStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_rc3::IfcFillStyleSelect >::ptr Ifc4x3_rc3::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc3::IfcFillStyleSelect >(); } +void Ifc4x3_rc3::IfcFillAreaStyle::setFillStyles(aggregate_of< ::Ifc4x3_rc3::IfcFillStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x3_rc3::IfcFillAreaStyle::ModelOrDraughting() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } void Ifc4x3_rc3::IfcFillAreaStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } @@ -16681,7 +16681,7 @@ void Ifc4x3_rc3::IfcFillAreaStyle::setModelOrDraughting(boost::optional< bool > const IfcParse::entity& Ifc4x3_rc3::IfcFillAreaStyle::declaration() const { return *IFC4X3_RC3_IfcFillAreaStyle_type; } const IfcParse::entity& Ifc4x3_rc3::IfcFillAreaStyle::Class() { return *IFC4X3_RC3_IfcFillAreaStyle_type; } Ifc4x3_rc3::IfcFillAreaStyle::IfcFillAreaStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcFillAreaStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_rc3::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles));data_->setArgument(1,attr);} if (v3_ModelOrDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ModelOrDraughting));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x3_rc3::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_rc3::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles)->generalize());data_->setArgument(1,attr);} if (v3_ModelOrDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ModelOrDraughting));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcFillAreaStyleHatching ::Ifc4x3_rc3::IfcCurveStyle* Ifc4x3_rc3::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcCurveStyle>(true); } @@ -17001,7 +17001,7 @@ Ifc4x3_rc3::IfcGeographicElementType::IfcGeographicElementType(std::string v1_Gl const IfcParse::entity& Ifc4x3_rc3::IfcGeometricCurveSet::declaration() const { return *IFC4X3_RC3_IfcGeometricCurveSet_type; } const IfcParse::entity& Ifc4x3_rc3::IfcGeometricCurveSet::Class() { return *IFC4X3_RC3_IfcGeometricCurveSet_type; } Ifc4x3_rc3::IfcGeometricCurveSet::IfcGeometricCurveSet(IfcEntityInstanceData* e) : IfcGeometricSet((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcGeometricCurveSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4x3_rc3::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcGeometricCurveSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } +Ifc4x3_rc3::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4x3_rc3::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcGeometricCurveSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcGeometricRepresentationContext int Ifc4x3_rc3::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = *data_->getArgument(2); return v; } @@ -17046,14 +17046,14 @@ Ifc4x3_rc3::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubC Ifc4x3_rc3::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, ::Ifc4x3_rc3::IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, ::Ifc4x3_rc3::IfcGeometricProjectionEnum::Value v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcGeometricRepresentationSubContext_type); if (v1_ContextIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_ContextIdentifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_ContextType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ContextType));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ParentContext));data_->setArgument(6,attr);} if (v8_TargetScale) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_TargetScale));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_TargetView,::Ifc4x3_rc3::IfcGeometricProjectionEnum::ToString(v9_TargetView))));data_->setArgument(8,attr);} if (v10_UserDefinedTargetView) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_UserDefinedTargetView));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcGeometricSet -aggregate_of< ::Ifc4x3_rc3::IfcGeometricSetSelect >::ptr Ifc4x3_rc3::IfcGeometricSet::Elements() const { aggregate_of< ::Ifc4x3_rc3::IfcGeometricSetSelect >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc3::IfcGeometricSet::setElements(aggregate_of< ::Ifc4x3_rc3::IfcGeometricSetSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc3::IfcGeometricSetSelect >::ptr Ifc4x3_rc3::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc3::IfcGeometricSetSelect >(); } +void Ifc4x3_rc3::IfcGeometricSet::setElements(aggregate_of< ::Ifc4x3_rc3::IfcGeometricSetSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcGeometricSet::declaration() const { return *IFC4X3_RC3_IfcGeometricSet_type; } const IfcParse::entity& Ifc4x3_rc3::IfcGeometricSet::Class() { return *IFC4X3_RC3_IfcGeometricSet_type; } Ifc4x3_rc3::IfcGeometricSet::IfcGeometricSet(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcGeometricSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x3_rc3::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcGeometricSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } +Ifc4x3_rc3::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x3_rc3::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcGeometricSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcGeomodel @@ -17295,8 +17295,8 @@ Ifc4x3_rc3::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4x3_rc3::IfcTessellate // Function implementations for IfcIndexedPolyCurve ::Ifc4x3_rc3::IfcCartesianPointList* Ifc4x3_rc3::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcCartesianPointList>(true); } void Ifc4x3_rc3::IfcIndexedPolyCurve::setPoints(::Ifc4x3_rc3::IfcCartesianPointList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcSegmentIndexSelect >::ptr > Ifc4x3_rc3::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc3::IfcSegmentIndexSelect >::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcSegmentIndexSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcSegmentIndexSelect >::ptr > Ifc4x3_rc3::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc3::IfcSegmentIndexSelect >(); } +void Ifc4x3_rc3::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcSegmentIndexSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x3_rc3::IfcIndexedPolyCurve::SelfIntersect() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } void Ifc4x3_rc3::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } @@ -17304,7 +17304,7 @@ void Ifc4x3_rc3::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v const IfcParse::entity& Ifc4x3_rc3::IfcIndexedPolyCurve::declaration() const { return *IFC4X3_RC3_IfcIndexedPolyCurve_type; } const IfcParse::entity& Ifc4x3_rc3::IfcIndexedPolyCurve::Class() { return *IFC4X3_RC3_IfcIndexedPolyCurve_type; } Ifc4x3_rc3::IfcIndexedPolyCurve::IfcIndexedPolyCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcIndexedPolyCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x3_rc3::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcIndexedPolyCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Points));data_->setArgument(0,attr);} if (v2_Segments) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Segments));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_SelfIntersect) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_SelfIntersect));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x3_rc3::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x3_rc3::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcIndexedPolyCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Points));data_->setArgument(0,attr);} if (v2_Segments) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Segments)->generalize());data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_SelfIntersect) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_SelfIntersect));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcIndexedPolygonalFace std::vector< int > /*[3:?]*/ Ifc4x3_rc3::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = *data_->getArgument(0); return v; } @@ -17410,14 +17410,14 @@ Ifc4x3_rc3::IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, // Function implementations for IfcIrregularTimeSeriesValue std::string Ifc4x3_rc3::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc3::IfcIrregularTimeSeriesValue::setTimeStamp(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr Ifc4x3_rc3::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcIrregularTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr Ifc4x3_rc3::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc3::IfcValue >(); } +void Ifc4x3_rc3::IfcIrregularTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcIrregularTimeSeriesValue::declaration() const { return *IFC4X3_RC3_IfcIrregularTimeSeriesValue_type; } const IfcParse::entity& Ifc4x3_rc3::IfcIrregularTimeSeriesValue::Class() { return *IFC4X3_RC3_IfcIrregularTimeSeriesValue_type; } Ifc4x3_rc3::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC3_IfcIrregularTimeSeriesValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcIrregularTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TimeStamp));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ListValues));data_->setArgument(1,attr);} } +Ifc4x3_rc3::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcIrregularTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TimeStamp));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ListValues)->generalize());data_->setArgument(1,attr);} } // Function implementations for IfcJunctionBox boost::optional< ::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Value > Ifc4x3_rc3::IfcJunctionBox::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::FromString(*data_->getArgument(8)); } @@ -17854,8 +17854,8 @@ Ifc4x3_rc3::IfcMaterial::IfcMaterial(IfcEntityInstanceData* e) : IfcMaterialDefi Ifc4x3_rc3::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_Category) : IfcMaterialDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Category) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Category));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcMaterialClassificationRelationship -aggregate_of< ::Ifc4x3_rc3::IfcClassificationSelect >::ptr Ifc4x3_rc3::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of< ::Ifc4x3_rc3::IfcClassificationSelect >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc3::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of< ::Ifc4x3_rc3::IfcClassificationSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc3::IfcClassificationSelect >::ptr Ifc4x3_rc3::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc3::IfcClassificationSelect >(); } +void Ifc4x3_rc3::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of< ::Ifc4x3_rc3::IfcClassificationSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } ::Ifc4x3_rc3::IfcMaterial* Ifc4x3_rc3::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcMaterial>(true); } void Ifc4x3_rc3::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc4x3_rc3::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -17863,7 +17863,7 @@ void Ifc4x3_rc3::IfcMaterialClassificationRelationship::setClassifiedMaterial(:: const IfcParse::entity& Ifc4x3_rc3::IfcMaterialClassificationRelationship::declaration() const { return *IFC4X3_RC3_IfcMaterialClassificationRelationship_type; } const IfcParse::entity& Ifc4x3_rc3::IfcMaterialClassificationRelationship::Class() { return *IFC4X3_RC3_IfcMaterialClassificationRelationship_type; } Ifc4x3_rc3::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC3_IfcMaterialClassificationRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4x3_rc3::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x3_rc3::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcMaterialClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialClassifications));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ClassifiedMaterial));data_->setArgument(1,attr);} } +Ifc4x3_rc3::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4x3_rc3::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x3_rc3::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcMaterialClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialClassifications)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ClassifiedMaterial));data_->setArgument(1,attr);} } // Function implementations for IfcMaterialConstituent boost::optional< std::string > Ifc4x3_rc3::IfcMaterialConstituent::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -19119,8 +19119,8 @@ std::string Ifc4x3_rc3::IfcPresentationLayerAssignment::Name() const { std::str void Ifc4x3_rc3::IfcPresentationLayerAssignment::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcPresentationLayerAssignment::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc3::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } -aggregate_of< ::Ifc4x3_rc3::IfcLayeredItem >::ptr Ifc4x3_rc3::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of< ::Ifc4x3_rc3::IfcLayeredItem >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of< ::Ifc4x3_rc3::IfcLayeredItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_rc3::IfcLayeredItem >::ptr Ifc4x3_rc3::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc3::IfcLayeredItem >(); } +void Ifc4x3_rc3::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of< ::Ifc4x3_rc3::IfcLayeredItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcPresentationLayerAssignment::Identifier() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4x3_rc3::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } @@ -19128,7 +19128,7 @@ void Ifc4x3_rc3::IfcPresentationLayerAssignment::setIdentifier(boost::optional< const IfcParse::entity& Ifc4x3_rc3::IfcPresentationLayerAssignment::declaration() const { return *IFC4X3_RC3_IfcPresentationLayerAssignment_type; } const IfcParse::entity& Ifc4x3_rc3::IfcPresentationLayerAssignment::Class() { return *IFC4X3_RC3_IfcPresentationLayerAssignment_type; } Ifc4x3_rc3::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC3_IfcPresentationLayerAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc3::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPresentationLayerAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } +Ifc4x3_rc3::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc3::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPresentationLayerAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems)->generalize());data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcPresentationLayerWithStyle boost::logic::tribool Ifc4x3_rc3::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = *data_->getArgument(4); return v; } @@ -19144,7 +19144,7 @@ void Ifc4x3_rc3::IfcPresentationLayerWithStyle::setLayerStyles(aggregate_of< ::I const IfcParse::entity& Ifc4x3_rc3::IfcPresentationLayerWithStyle::declaration() const { return *IFC4X3_RC3_IfcPresentationLayerWithStyle_type; } const IfcParse::entity& Ifc4x3_rc3::IfcPresentationLayerWithStyle::Class() { return *IFC4X3_RC3_IfcPresentationLayerWithStyle_type; } Ifc4x3_rc3::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcEntityInstanceData* e) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcPresentationLayerWithStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc3::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_rc3::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPresentationLayerWithStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_LayerOn));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LayerFrozen));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LayerBlocked));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LayerStyles)->generalize());data_->setArgument(7,attr);} } +Ifc4x3_rc3::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc3::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_rc3::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPresentationLayerWithStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems)->generalize());data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_LayerOn));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LayerFrozen));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LayerBlocked));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LayerStyles)->generalize());data_->setArgument(7,attr);} } // Function implementations for IfcPresentationStyle boost::optional< std::string > Ifc4x3_rc3::IfcPresentationStyle::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -19376,8 +19376,8 @@ Ifc4x3_rc3::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship Ifc4x3_rc3::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcProperty* v3_DependingProperty, ::Ifc4x3_rc3::IfcProperty* v4_DependantProperty, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPropertyDependencyRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_DependingProperty));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_DependantProperty));data_->setArgument(3,attr);} if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcPropertyEnumeratedValue -boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > Ifc4x3_rc3::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > Ifc4x3_rc3::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc3::IfcValue >(); } +void Ifc4x3_rc3::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } ::Ifc4x3_rc3::IfcPropertyEnumeration* Ifc4x3_rc3::IfcPropertyEnumeratedValue::EnumerationReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcPropertyEnumeration>(true); } void Ifc4x3_rc3::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x3_rc3::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19385,13 +19385,13 @@ void Ifc4x3_rc3::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x3_rc const IfcParse::entity& Ifc4x3_rc3::IfcPropertyEnumeratedValue::declaration() const { return *IFC4X3_RC3_IfcPropertyEnumeratedValue_type; } const IfcParse::entity& Ifc4x3_rc3::IfcPropertyEnumeratedValue::Class() { return *IFC4X3_RC3_IfcPropertyEnumeratedValue_type; } Ifc4x3_rc3::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcPropertyEnumeratedValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x3_rc3::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPropertyEnumeratedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EnumerationValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EnumerationValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EnumerationReference));data_->setArgument(3,attr);} } +Ifc4x3_rc3::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x3_rc3::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPropertyEnumeratedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EnumerationValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EnumerationValues)->generalize());data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EnumerationReference));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyEnumeration std::string Ifc4x3_rc3::IfcPropertyEnumeration::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc3::IfcPropertyEnumeration::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr Ifc4x3_rc3::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcPropertyEnumeration::setEnumerationValues(aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr Ifc4x3_rc3::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc3::IfcValue >(); } +void Ifc4x3_rc3::IfcPropertyEnumeration::setEnumerationValues(aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } ::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcPropertyEnumeration::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcUnit>(true); } void Ifc4x3_rc3::IfcPropertyEnumeration::setUnit(::Ifc4x3_rc3::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -19399,11 +19399,11 @@ void Ifc4x3_rc3::IfcPropertyEnumeration::setUnit(::Ifc4x3_rc3::IfcUnit* v) { {If const IfcParse::entity& Ifc4x3_rc3::IfcPropertyEnumeration::declaration() const { return *IFC4X3_RC3_IfcPropertyEnumeration_type; } const IfcParse::entity& Ifc4x3_rc3::IfcPropertyEnumeration::Class() { return *IFC4X3_RC3_IfcPropertyEnumeration_type; } Ifc4x3_rc3::IfcPropertyEnumeration::IfcPropertyEnumeration(IfcEntityInstanceData* e) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcPropertyEnumeration_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x3_rc3::IfcUnit* v3_Unit) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPropertyEnumeration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EnumerationValues));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);} } +Ifc4x3_rc3::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x3_rc3::IfcUnit* v3_Unit) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPropertyEnumeration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EnumerationValues)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);} } // Function implementations for IfcPropertyListValue -boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > Ifc4x3_rc3::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcPropertyListValue::setListValues(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > Ifc4x3_rc3::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc3::IfcValue >(); } +void Ifc4x3_rc3::IfcPropertyListValue::setListValues(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } ::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcPropertyListValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcUnit>(true); } void Ifc4x3_rc3::IfcPropertyListValue::setUnit(::Ifc4x3_rc3::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19411,7 +19411,7 @@ void Ifc4x3_rc3::IfcPropertyListValue::setUnit(::Ifc4x3_rc3::IfcUnit* v) { {IfcW const IfcParse::entity& Ifc4x3_rc3::IfcPropertyListValue::declaration() const { return *IFC4X3_RC3_IfcPropertyListValue_type; } const IfcParse::entity& Ifc4x3_rc3::IfcPropertyListValue::Class() { return *IFC4X3_RC3_IfcPropertyListValue_type; } Ifc4x3_rc3::IfcPropertyListValue::IfcPropertyListValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcPropertyListValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v3_ListValues, ::Ifc4x3_rc3::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPropertyListValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ListValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ListValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } +Ifc4x3_rc3::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v3_ListValues, ::Ifc4x3_rc3::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPropertyListValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ListValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ListValues)->generalize());data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyReferenceValue boost::optional< std::string > Ifc4x3_rc3::IfcPropertyReferenceValue::UsageName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } @@ -19474,10 +19474,10 @@ Ifc4x3_rc3::IfcPropertySingleValue::IfcPropertySingleValue(IfcEntityInstanceData Ifc4x3_rc3::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcValue* v3_NominalValue, ::Ifc4x3_rc3::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPropertySingleValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_NominalValue));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyTableValue -boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > Ifc4x3_rc3::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } -boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > Ifc4x3_rc3::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v = *data_->getArgument(3); return v; } -void Ifc4x3_rc3::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > Ifc4x3_rc3::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc3::IfcValue >(); } +void Ifc4x3_rc3::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > Ifc4x3_rc3::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc3::IfcValue >(); } +void Ifc4x3_rc3::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcPropertyTableValue::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x3_rc3::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcPropertyTableValue::DefiningUnit() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcUnit>(true); } @@ -19491,7 +19491,7 @@ void Ifc4x3_rc3::IfcPropertyTableValue::setCurveInterpolation(boost::optional< : const IfcParse::entity& Ifc4x3_rc3::IfcPropertyTableValue::declaration() const { return *IFC4X3_RC3_IfcPropertyTableValue_type; } const IfcParse::entity& Ifc4x3_rc3::IfcPropertyTableValue::Class() { return *IFC4X3_RC3_IfcPropertyTableValue_type; } Ifc4x3_rc3::IfcPropertyTableValue::IfcPropertyTableValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcPropertyTableValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_rc3::IfcUnit* v6_DefiningUnit, ::Ifc4x3_rc3::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_rc3::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPropertyTableValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_DefiningValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_DefiningValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DefinedValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DefinedValues));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_DefiningUnit));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_DefinedUnit));data_->setArgument(6,attr);} if (v8_CurveInterpolation) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_CurveInterpolation,::Ifc4x3_rc3::IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } +Ifc4x3_rc3::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_rc3::IfcUnit* v6_DefiningUnit, ::Ifc4x3_rc3::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_rc3::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPropertyTableValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_DefiningValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_DefiningValues)->generalize());data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DefinedValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DefinedValues)->generalize());data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_DefiningUnit));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_DefinedUnit));data_->setArgument(6,attr);} if (v8_CurveInterpolation) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_CurveInterpolation,::Ifc4x3_rc3::IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcPropertyTemplate @@ -19974,14 +19974,14 @@ boost::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc3: void Ifc4x3_rc3::IfcReinforcingBarType::setBarSurface(boost::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::ToString(*v)));}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcReinforcingBarType::BendingShapeCode() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } void Ifc4x3_rc3::IfcReinforcingBarType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } -boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcBendingParameterSelect >::ptr > Ifc4x3_rc3::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc3::IfcBendingParameterSelect >::ptr v = *data_->getArgument(15); return v; } -void Ifc4x3_rc3::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcBendingParameterSelect >::ptr > Ifc4x3_rc3::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(15); return es->as< ::Ifc4x3_rc3::IfcBendingParameterSelect >(); } +void Ifc4x3_rc3::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(15,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcReinforcingBarType::declaration() const { return *IFC4X3_RC3_IfcReinforcingBarType_type; } const IfcParse::entity& Ifc4x3_rc3::IfcReinforcingBarType::Class() { return *IFC4X3_RC3_IfcReinforcingBarType_type; } Ifc4x3_rc3::IfcReinforcingBarType::IfcReinforcingBarType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcReinforcingBarType_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcReinforcingBarType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_BarLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_BarLength));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_BarSurface) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_BarSurface,::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_BendingShapeCode));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_BendingParameters));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } } +Ifc4x3_rc3::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcReinforcingBarType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_BarLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_BarLength));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_BarSurface) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_BarSurface,::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_BendingShapeCode));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_BendingParameters)->generalize());data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } } // Function implementations for IfcReinforcingElement boost::optional< std::string > Ifc4x3_rc3::IfcReinforcingElement::SteelGrade() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } @@ -20048,14 +20048,14 @@ boost::optional< double > Ifc4x3_rc3::IfcReinforcingMeshType::TransverseBarSpaci void Ifc4x3_rc3::IfcReinforcingMeshType::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(17,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcReinforcingMeshType::BendingShapeCode() const { if(!data_->getArgument(18) || data_->getArgument(18)->isNull()) { return boost::none; } std::string v = *data_->getArgument(18); return v; } void Ifc4x3_rc3::IfcReinforcingMeshType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(18,attr);} } -boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcBendingParameterSelect >::ptr > Ifc4x3_rc3::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc3::IfcBendingParameterSelect >::ptr v = *data_->getArgument(19); return v; } -void Ifc4x3_rc3::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(19,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcBendingParameterSelect >::ptr > Ifc4x3_rc3::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(19); return es->as< ::Ifc4x3_rc3::IfcBendingParameterSelect >(); } +void Ifc4x3_rc3::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(19,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcReinforcingMeshType::declaration() const { return *IFC4X3_RC3_IfcReinforcingMeshType_type; } const IfcParse::entity& Ifc4x3_rc3::IfcReinforcingMeshType::Class() { return *IFC4X3_RC3_IfcReinforcingMeshType_type; } Ifc4x3_rc3::IfcReinforcingMeshType::IfcReinforcingMeshType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcReinforcingMeshType_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of< ::Ifc4x3_rc3::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcReinforcingMeshType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshLength));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_MeshWidth));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LongitudinalBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TransverseBarNominalDiameter));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LongitudinalBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_TransverseBarCrossSectionArea));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LongitudinalBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_TransverseBarSpacing));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_BendingShapeCode));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_BendingParameters));data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } +Ifc4x3_rc3::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of< ::Ifc4x3_rc3::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcReinforcingMeshType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshLength));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_MeshWidth));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LongitudinalBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TransverseBarNominalDiameter));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LongitudinalBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_TransverseBarCrossSectionArea));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LongitudinalBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_TransverseBarSpacing));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_BendingShapeCode));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_BendingParameters)->generalize());data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } // Function implementations for IfcRelAggregates ::Ifc4x3_rc3::IfcObjectDefinition* Ifc4x3_rc3::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcObjectDefinition>(true); } @@ -20156,14 +20156,14 @@ Ifc4x3_rc3::IfcRelAssignsToResource::IfcRelAssignsToResource(IfcEntityInstanceDa Ifc4x3_rc3::IfcRelAssignsToResource::IfcRelAssignsToResource(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcResourceSelect* v7_RelatingResource) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelAssignsToResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x3_rc3::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingResource));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociates -aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr Ifc4x3_rc3::IfcRelAssociates::RelatedObjects() const { aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcRelAssociates::setRelatedObjects(aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr Ifc4x3_rc3::IfcRelAssociates::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc3::IfcDefinitionSelect >(); } +void Ifc4x3_rc3::IfcRelAssociates::setRelatedObjects(aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssociates::declaration() const { return *IFC4X3_RC3_IfcRelAssociates_type; } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssociates::Class() { return *IFC4X3_RC3_IfcRelAssociates_type; } Ifc4x3_rc3::IfcRelAssociates::IfcRelAssociates(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcRelAssociates_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} } +Ifc4x3_rc3::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} } // Function implementations for IfcRelAssociatesApproval ::Ifc4x3_rc3::IfcApproval* Ifc4x3_rc3::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcApproval>(true); } @@ -20173,7 +20173,7 @@ void Ifc4x3_rc3::IfcRelAssociatesApproval::setRelatingApproval(::Ifc4x3_rc3::Ifc const IfcParse::entity& Ifc4x3_rc3::IfcRelAssociatesApproval::declaration() const { return *IFC4X3_RC3_IfcRelAssociatesApproval_type; } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssociatesApproval::Class() { return *IFC4X3_RC3_IfcRelAssociatesApproval_type; } Ifc4x3_rc3::IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcRelAssociatesApproval_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } +Ifc4x3_rc3::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesClassification ::Ifc4x3_rc3::IfcClassificationSelect* Ifc4x3_rc3::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcClassificationSelect>(true); } @@ -20183,7 +20183,7 @@ void Ifc4x3_rc3::IfcRelAssociatesClassification::setRelatingClassification(::Ifc const IfcParse::entity& Ifc4x3_rc3::IfcRelAssociatesClassification::declaration() const { return *IFC4X3_RC3_IfcRelAssociatesClassification_type; } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssociatesClassification::Class() { return *IFC4X3_RC3_IfcRelAssociatesClassification_type; } Ifc4x3_rc3::IfcRelAssociatesClassification::IfcRelAssociatesClassification(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcRelAssociatesClassification_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelAssociatesClassification_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingClassification));data_->setArgument(5,attr);} } +Ifc4x3_rc3::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelAssociatesClassification_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingClassification));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesConstraint boost::optional< std::string > Ifc4x3_rc3::IfcRelAssociatesConstraint::Intent() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } @@ -20195,7 +20195,7 @@ void Ifc4x3_rc3::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc4x3_rc3: const IfcParse::entity& Ifc4x3_rc3::IfcRelAssociatesConstraint::declaration() const { return *IFC4X3_RC3_IfcRelAssociatesConstraint_type; } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssociatesConstraint::Class() { return *IFC4X3_RC3_IfcRelAssociatesConstraint_type; } Ifc4x3_rc3::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcRelAssociatesConstraint_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_rc3::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} if (v6_Intent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Intent));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } +Ifc4x3_rc3::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_rc3::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_Intent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Intent));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociatesDocument ::Ifc4x3_rc3::IfcDocumentSelect* Ifc4x3_rc3::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcDocumentSelect>(true); } @@ -20205,7 +20205,7 @@ void Ifc4x3_rc3::IfcRelAssociatesDocument::setRelatingDocument(::Ifc4x3_rc3::Ifc const IfcParse::entity& Ifc4x3_rc3::IfcRelAssociatesDocument::declaration() const { return *IFC4X3_RC3_IfcRelAssociatesDocument_type; } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssociatesDocument::Class() { return *IFC4X3_RC3_IfcRelAssociatesDocument_type; } Ifc4x3_rc3::IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcRelAssociatesDocument_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } +Ifc4x3_rc3::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesLibrary ::Ifc4x3_rc3::IfcLibrarySelect* Ifc4x3_rc3::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcLibrarySelect>(true); } @@ -20215,7 +20215,7 @@ void Ifc4x3_rc3::IfcRelAssociatesLibrary::setRelatingLibrary(::Ifc4x3_rc3::IfcLi const IfcParse::entity& Ifc4x3_rc3::IfcRelAssociatesLibrary::declaration() const { return *IFC4X3_RC3_IfcRelAssociatesLibrary_type; } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssociatesLibrary::Class() { return *IFC4X3_RC3_IfcRelAssociatesLibrary_type; } Ifc4x3_rc3::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcRelAssociatesLibrary_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } +Ifc4x3_rc3::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesMaterial ::Ifc4x3_rc3::IfcMaterialSelect* Ifc4x3_rc3::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcMaterialSelect>(true); } @@ -20225,7 +20225,7 @@ void Ifc4x3_rc3::IfcRelAssociatesMaterial::setRelatingMaterial(::Ifc4x3_rc3::Ifc const IfcParse::entity& Ifc4x3_rc3::IfcRelAssociatesMaterial::declaration() const { return *IFC4X3_RC3_IfcRelAssociatesMaterial_type; } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssociatesMaterial::Class() { return *IFC4X3_RC3_IfcRelAssociatesMaterial_type; } Ifc4x3_rc3::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcRelAssociatesMaterial_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelAssociatesMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingMaterial));data_->setArgument(5,attr);} } +Ifc4x3_rc3::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelAssociatesMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingMaterial));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesProfileDef ::Ifc4x3_rc3::IfcProfileDef* Ifc4x3_rc3::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcProfileDef>(true); } @@ -20235,7 +20235,7 @@ void Ifc4x3_rc3::IfcRelAssociatesProfileDef::setRelatingProfileDef(::Ifc4x3_rc3: const IfcParse::entity& Ifc4x3_rc3::IfcRelAssociatesProfileDef::declaration() const { return *IFC4X3_RC3_IfcRelAssociatesProfileDef_type; } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssociatesProfileDef::Class() { return *IFC4X3_RC3_IfcRelAssociatesProfileDef_type; } Ifc4x3_rc3::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcRelAssociatesProfileDef_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcProfileDef* v6_RelatingProfileDef) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelAssociatesProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingProfileDef));data_->setArgument(5,attr);} } +Ifc4x3_rc3::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcProfileDef* v6_RelatingProfileDef) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelAssociatesProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingProfileDef));data_->setArgument(5,attr);} } // Function implementations for IfcRelConnects @@ -20394,14 +20394,14 @@ Ifc4x3_rc3::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::If // Function implementations for IfcRelDeclares ::Ifc4x3_rc3::IfcContext* Ifc4x3_rc3::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcContext>(true); } void Ifc4x3_rc3::IfcRelDeclares::setRelatingContext(::Ifc4x3_rc3::IfcContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr Ifc4x3_rc3::IfcRelDeclares::RelatedDefinitions() const { aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v = *data_->getArgument(5); return v; } -void Ifc4x3_rc3::IfcRelDeclares::setRelatedDefinitions(aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } +aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr Ifc4x3_rc3::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc3::IfcDefinitionSelect >(); } +void Ifc4x3_rc3::IfcRelDeclares::setRelatedDefinitions(aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcRelDeclares::declaration() const { return *IFC4X3_RC3_IfcRelDeclares_type; } const IfcParse::entity& Ifc4x3_rc3::IfcRelDeclares::Class() { return *IFC4X3_RC3_IfcRelDeclares_type; } Ifc4x3_rc3::IfcRelDeclares::IfcRelDeclares(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcRelDeclares_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelDeclares_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingContext));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedDefinitions));data_->setArgument(5,attr);} } +Ifc4x3_rc3::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelDeclares_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingContext));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedDefinitions)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelDecomposes @@ -20546,8 +20546,8 @@ Ifc4x3_rc3::IfcRelProjectsElement::IfcRelProjectsElement(IfcEntityInstanceData* Ifc4x3_rc3::IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcElement* v5_RelatingElement, ::Ifc4x3_rc3::IfcFeatureElementAddition* v6_RelatedFeatureElement) : IfcRelDecomposes((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelProjectsElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedFeatureElement));data_->setArgument(5,attr);} } // Function implementations for IfcRelReferencedInSpatialStructure -aggregate_of< ::Ifc4x3_rc3::IfcSpatialReferenceSelect >::ptr Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of< ::Ifc4x3_rc3::IfcSpatialReferenceSelect >::ptr v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4x3_rc3::IfcSpatialReferenceSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +aggregate_of< ::Ifc4x3_rc3::IfcSpatialReferenceSelect >::ptr Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc3::IfcSpatialReferenceSelect >(); } +void Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4x3_rc3::IfcSpatialReferenceSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } ::Ifc4x3_rc3::IfcSpatialElement* Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcSpatialElement>(true); } void Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc4x3_rc3::IfcSpatialElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20555,7 +20555,7 @@ void Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc4 const IfcParse::entity& Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::declaration() const { return *IFC4X3_RC3_IfcRelReferencedInSpatialStructure_type; } const IfcParse::entity& Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::Class() { return *IFC4X3_RC3_IfcRelReferencedInSpatialStructure_type; } Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(IfcEntityInstanceData* e) : IfcRelConnects((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcRelReferencedInSpatialStructure_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcSpatialReferenceSelect >::ptr v5_RelatedElements, ::Ifc4x3_rc3::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelReferencedInSpatialStructure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedElements));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingStructure));data_->setArgument(5,attr);} } +Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcSpatialReferenceSelect >::ptr v5_RelatedElements, ::Ifc4x3_rc3::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelReferencedInSpatialStructure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedElements)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingStructure));data_->setArgument(5,attr);} } // Function implementations for IfcRelSequence ::Ifc4x3_rc3::IfcProcess* Ifc4x3_rc3::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcProcess>(true); } @@ -20727,8 +20727,8 @@ Ifc4x3_rc3::IfcResource::IfcResource(IfcEntityInstanceData* e) : IfcObject((IfcE Ifc4x3_rc3::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc4x3_rc3::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((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_LongDescription));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcResourceApprovalRelationship -aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr Ifc4x3_rc3::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr Ifc4x3_rc3::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc3::IfcResourceObjectSelect >(); } +void Ifc4x3_rc3::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } ::Ifc4x3_rc3::IfcApproval* Ifc4x3_rc3::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcApproval>(true); } void Ifc4x3_rc3::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x3_rc3::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -20736,19 +20736,19 @@ void Ifc4x3_rc3::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x3_r const IfcParse::entity& Ifc4x3_rc3::IfcResourceApprovalRelationship::declaration() const { return *IFC4X3_RC3_IfcResourceApprovalRelationship_type; } const IfcParse::entity& Ifc4x3_rc3::IfcResourceApprovalRelationship::Class() { return *IFC4X3_RC3_IfcResourceApprovalRelationship_type; } Ifc4x3_rc3::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcResourceApprovalRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x3_rc3::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcResourceApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatedResourceObjects));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatingApproval));data_->setArgument(3,attr);} } +Ifc4x3_rc3::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x3_rc3::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcResourceApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatedResourceObjects)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatingApproval));data_->setArgument(3,attr);} } // Function implementations for IfcResourceConstraintRelationship ::Ifc4x3_rc3::IfcConstraint* Ifc4x3_rc3::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcConstraint>(true); } void Ifc4x3_rc3::IfcResourceConstraintRelationship::setRelatingConstraint(::Ifc4x3_rc3::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr Ifc4x3_rc3::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr v = *data_->getArgument(3); return v; } -void Ifc4x3_rc3::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr Ifc4x3_rc3::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc3::IfcResourceObjectSelect >(); } +void Ifc4x3_rc3::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcResourceConstraintRelationship::declaration() const { return *IFC4X3_RC3_IfcResourceConstraintRelationship_type; } const IfcParse::entity& Ifc4x3_rc3::IfcResourceConstraintRelationship::Class() { return *IFC4X3_RC3_IfcResourceConstraintRelationship_type; } Ifc4x3_rc3::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcResourceConstraintRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcResourceConstraintRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingConstraint));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } +Ifc4x3_rc3::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcResourceConstraintRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingConstraint));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcResourceLevelRelationship boost::optional< std::string > Ifc4x3_rc3::IfcResourceLevelRelationship::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -21158,14 +21158,14 @@ Ifc4x3_rc3::IfcShapeRepresentation::IfcShapeRepresentation(IfcEntityInstanceData Ifc4x3_rc3::IfcShapeRepresentation::IfcShapeRepresentation(::Ifc4x3_rc3::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_rc3::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcShapeRepresentation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ContextOfItems));data_->setArgument(0,attr);} if (v2_RepresentationIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_RepresentationIdentifier));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_RepresentationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_RepresentationType));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Items)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcShellBasedSurfaceModel -aggregate_of< ::Ifc4x3_rc3::IfcShell >::ptr Ifc4x3_rc3::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of< ::Ifc4x3_rc3::IfcShell >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc3::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of< ::Ifc4x3_rc3::IfcShell >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc3::IfcShell >::ptr Ifc4x3_rc3::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc3::IfcShell >(); } +void Ifc4x3_rc3::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of< ::Ifc4x3_rc3::IfcShell >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcShellBasedSurfaceModel::declaration() const { return *IFC4X3_RC3_IfcShellBasedSurfaceModel_type; } const IfcParse::entity& Ifc4x3_rc3::IfcShellBasedSurfaceModel::Class() { return *IFC4X3_RC3_IfcShellBasedSurfaceModel_type; } Ifc4x3_rc3::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcShellBasedSurfaceModel_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4x3_rc3::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcShellBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SbsmBoundary));data_->setArgument(0,attr);} } +Ifc4x3_rc3::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4x3_rc3::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcShellBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SbsmBoundary)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcSign boost::optional< ::Ifc4x3_rc3::IfcSignTypeEnum::Value > Ifc4x3_rc3::IfcSign::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSignTypeEnum::FromString(*data_->getArgument(8)); } @@ -22126,14 +22126,14 @@ Ifc4x3_rc3::IfcSurfaceReinforcementArea::IfcSurfaceReinforcementArea(boost::opti // Function implementations for IfcSurfaceStyle ::Ifc4x3_rc3::IfcSurfaceSide::Value Ifc4x3_rc3::IfcSurfaceStyle::Side() const { return ::Ifc4x3_rc3::IfcSurfaceSide::FromString(*data_->getArgument(1)); } void Ifc4x3_rc3::IfcSurfaceStyle::setSide(::Ifc4x3_rc3::IfcSurfaceSide::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcSurfaceSide::ToString(v)));data_->setArgument(1,attr);} } -aggregate_of< ::Ifc4x3_rc3::IfcSurfaceStyleElementSelect >::ptr Ifc4x3_rc3::IfcSurfaceStyle::Styles() const { aggregate_of< ::Ifc4x3_rc3::IfcSurfaceStyleElementSelect >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcSurfaceStyle::setStyles(aggregate_of< ::Ifc4x3_rc3::IfcSurfaceStyleElementSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_rc3::IfcSurfaceStyleElementSelect >::ptr Ifc4x3_rc3::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc3::IfcSurfaceStyleElementSelect >(); } +void Ifc4x3_rc3::IfcSurfaceStyle::setStyles(aggregate_of< ::Ifc4x3_rc3::IfcSurfaceStyleElementSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcSurfaceStyle::declaration() const { return *IFC4X3_RC3_IfcSurfaceStyle_type; } const IfcParse::entity& Ifc4x3_rc3::IfcSurfaceStyle::Class() { return *IFC4X3_RC3_IfcSurfaceStyle_type; } Ifc4x3_rc3::IfcSurfaceStyle::IfcSurfaceStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcSurfaceStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x3_rc3::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc4x3_rc3::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles));data_->setArgument(2,attr);} } +Ifc4x3_rc3::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x3_rc3::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc4x3_rc3::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles)->generalize());data_->setArgument(2,attr);} } // Function implementations for IfcSurfaceStyleLighting ::Ifc4x3_rc3::IfcColourRgb* Ifc4x3_rc3::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcColourRgb>(true); } @@ -22388,8 +22388,8 @@ Ifc4x3_rc3::IfcTableColumn::IfcTableColumn(IfcEntityInstanceData* e) : IfcUtil:: Ifc4x3_rc3::IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, ::Ifc4x3_rc3::IfcUnit* v4_Unit, ::Ifc4x3_rc3::IfcReference* v5_ReferencePath) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTableColumn_type); if (v1_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Identifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Name));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_ReferencePath));data_->setArgument(4,attr);} } // Function implementations for IfcTableRow -boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > Ifc4x3_rc3::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc3::IfcTableRow::setRowCells(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > Ifc4x3_rc3::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc3::IfcValue >(); } +void Ifc4x3_rc3::IfcTableRow::setRowCells(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(0,attr);} } boost::optional< bool > Ifc4x3_rc3::IfcTableRow::IsHeading() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } bool v = *data_->getArgument(1); return v; } void Ifc4x3_rc3::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } @@ -22397,7 +22397,7 @@ void Ifc4x3_rc3::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrit const IfcParse::entity& Ifc4x3_rc3::IfcTableRow::declaration() const { return *IFC4X3_RC3_IfcTableRow_type; } const IfcParse::entity& Ifc4x3_rc3::IfcTableRow::Class() { return *IFC4X3_RC3_IfcTableRow_type; } Ifc4x3_rc3::IfcTableRow::IfcTableRow(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC3_IfcTableRow_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTableRow_type); if (v1_RowCells) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RowCells));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_IsHeading) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_IsHeading));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } +Ifc4x3_rc3::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTableRow_type); if (v1_RowCells) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RowCells)->generalize());data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_IsHeading) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_IsHeading));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcTank boost::optional< ::Ifc4x3_rc3::IfcTankTypeEnum::Value > Ifc4x3_rc3::IfcTank::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcTankTypeEnum::FromString(*data_->getArgument(8)); } @@ -22825,14 +22825,14 @@ Ifc4x3_rc3::IfcTimeSeries::IfcTimeSeries(IfcEntityInstanceData* e) : IfcUtil::If Ifc4x3_rc3::IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc3::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc3::IfcUnit* v8_Unit) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTimeSeries_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_StartTime));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EndTime));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_TimeSeriesDataType,::Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType))));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v6_DataOrigin,::Ifc4x3_rc3::IfcDataOriginEnum::ToString(v6_DataOrigin))));data_->setArgument(5,attr);} if (v7_UserDefinedDataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_UserDefinedDataOrigin));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Unit));data_->setArgument(7,attr);} } // Function implementations for IfcTimeSeriesValue -aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr Ifc4x3_rc3::IfcTimeSeriesValue::ListValues() const { aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc3::IfcTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr Ifc4x3_rc3::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc3::IfcValue >(); } +void Ifc4x3_rc3::IfcTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcTimeSeriesValue::declaration() const { return *IFC4X3_RC3_IfcTimeSeriesValue_type; } const IfcParse::entity& Ifc4x3_rc3::IfcTimeSeriesValue::Class() { return *IFC4X3_RC3_IfcTimeSeriesValue_type; } Ifc4x3_rc3::IfcTimeSeriesValue::IfcTimeSeriesValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC3_IfcTimeSeriesValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ListValues));data_->setArgument(0,attr);} } +Ifc4x3_rc3::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ListValues)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcTopologicalRepresentationItem @@ -22967,10 +22967,10 @@ Ifc4x3_rc3::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(::I // Function implementations for IfcTrimmedCurve ::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcCurve>(true); } void Ifc4x3_rc3::IfcTrimmedCurve::setBasisCurve(::Ifc4x3_rc3::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of< ::Ifc4x3_rc3::IfcTrimmingSelect >::ptr Ifc4x3_rc3::IfcTrimmedCurve::Trim1() const { aggregate_of< ::Ifc4x3_rc3::IfcTrimmingSelect >::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcTrimmedCurve::setTrim1(aggregate_of< ::Ifc4x3_rc3::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -aggregate_of< ::Ifc4x3_rc3::IfcTrimmingSelect >::ptr Ifc4x3_rc3::IfcTrimmedCurve::Trim2() const { aggregate_of< ::Ifc4x3_rc3::IfcTrimmingSelect >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcTrimmedCurve::setTrim2(aggregate_of< ::Ifc4x3_rc3::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_rc3::IfcTrimmingSelect >::ptr Ifc4x3_rc3::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc3::IfcTrimmingSelect >(); } +void Ifc4x3_rc3::IfcTrimmedCurve::setTrim1(aggregate_of< ::Ifc4x3_rc3::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_rc3::IfcTrimmingSelect >::ptr Ifc4x3_rc3::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc3::IfcTrimmingSelect >(); } +void Ifc4x3_rc3::IfcTrimmedCurve::setTrim2(aggregate_of< ::Ifc4x3_rc3::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } bool Ifc4x3_rc3::IfcTrimmedCurve::SenseAgreement() const { bool v = *data_->getArgument(3); return v; } void Ifc4x3_rc3::IfcTrimmedCurve::setSenseAgreement(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x3_rc3::IfcTrimmingPreference::Value Ifc4x3_rc3::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4x3_rc3::IfcTrimmingPreference::FromString(*data_->getArgument(4)); } @@ -22980,7 +22980,7 @@ void Ifc4x3_rc3::IfcTrimmedCurve::setMasterRepresentation(::Ifc4x3_rc3::IfcTrimm const IfcParse::entity& Ifc4x3_rc3::IfcTrimmedCurve::declaration() const { return *IFC4X3_RC3_IfcTrimmedCurve_type; } const IfcParse::entity& Ifc4x3_rc3::IfcTrimmedCurve::Class() { return *IFC4X3_RC3_IfcTrimmedCurve_type; } Ifc4x3_rc3::IfcTrimmedCurve::IfcTrimmedCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC3_IfcTrimmedCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3_rc3::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_rc3::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x3_rc3::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc3::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTrimmedCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Trim1));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Trim2));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SenseAgreement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_MasterRepresentation,::Ifc4x3_rc3::IfcTrimmingPreference::ToString(v5_MasterRepresentation))));data_->setArgument(4,attr);} } +Ifc4x3_rc3::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3_rc3::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_rc3::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x3_rc3::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc3::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTrimmedCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Trim1)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Trim2)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SenseAgreement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_MasterRepresentation,::Ifc4x3_rc3::IfcTrimmingPreference::ToString(v5_MasterRepresentation))));data_->setArgument(4,attr);} } // Function implementations for IfcTubeBundle boost::optional< ::Ifc4x3_rc3::IfcTubeBundleTypeEnum::Value > Ifc4x3_rc3::IfcTubeBundle::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcTubeBundleTypeEnum::FromString(*data_->getArgument(8)); } @@ -23081,14 +23081,14 @@ Ifc4x3_rc3::IfcUShapeProfileDef::IfcUShapeProfileDef(IfcEntityInstanceData* e) : Ifc4x3_rc3::IfcUShapeProfileDef::IfcUShapeProfileDef(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::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((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcUShapeProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4x3_rc3::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_FlangeWidth));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_WebThickness));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_FlangeThickness));data_->setArgument(6,attr);} if (v8_FilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_FilletRadius));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_EdgeRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_EdgeRadius));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_FlangeSlope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_FlangeSlope));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcUnitAssignment -aggregate_of< ::Ifc4x3_rc3::IfcUnit >::ptr Ifc4x3_rc3::IfcUnitAssignment::Units() const { aggregate_of< ::Ifc4x3_rc3::IfcUnit >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc3::IfcUnitAssignment::setUnits(aggregate_of< ::Ifc4x3_rc3::IfcUnit >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc3::IfcUnit >::ptr Ifc4x3_rc3::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc3::IfcUnit >(); } +void Ifc4x3_rc3::IfcUnitAssignment::setUnits(aggregate_of< ::Ifc4x3_rc3::IfcUnit >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcUnitAssignment::declaration() const { return *IFC4X3_RC3_IfcUnitAssignment_type; } const IfcParse::entity& Ifc4x3_rc3::IfcUnitAssignment::Class() { return *IFC4X3_RC3_IfcUnitAssignment_type; } Ifc4x3_rc3::IfcUnitAssignment::IfcUnitAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC3_IfcUnitAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc3::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4x3_rc3::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcUnitAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Units));data_->setArgument(0,attr);} } +Ifc4x3_rc3::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4x3_rc3::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcUnitAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Units)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcUnitaryControlElement boost::optional< ::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Value > Ifc4x3_rc3::IfcUnitaryControlElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::FromString(*data_->getArgument(8)); } diff --git a/src/ifcparse/Ifc4x3_rc4.cpp b/src/ifcparse/Ifc4x3_rc4.cpp index 47c04e0bf4..430e82e18a 100644 --- a/src/ifcparse/Ifc4x3_rc4.cpp +++ b/src/ifcparse/Ifc4x3_rc4.cpp @@ -15705,8 +15705,8 @@ boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::Revision() co void Ifc4x3_rc4::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcDocumentInformation::DocumentOwner() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc4::IfcActorSelect>(true); } void Ifc4x3_rc4::IfcDocumentInformation::setDocumentOwner(::Ifc4x3_rc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorSelect >::ptr > Ifc4x3_rc4::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc4::IfcActorSelect >::ptr v = *data_->getArgument(9); return v; } -void Ifc4x3_rc4::IfcDocumentInformation::setEditors(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorSelect >::ptr > Ifc4x3_rc4::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc4x3_rc4::IfcActorSelect >(); } +void Ifc4x3_rc4::IfcDocumentInformation::setEditors(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::CreationTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } void Ifc4x3_rc4::IfcDocumentInformation::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::LastRevisionTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } @@ -15730,7 +15730,7 @@ void Ifc4x3_rc4::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x3_rc4 const IfcParse::entity& Ifc4x3_rc4::IfcDocumentInformation::declaration() const { return *IFC4X3_RC4_IfcDocumentInformation_type; } const IfcParse::entity& Ifc4x3_rc4::IfcDocumentInformation::Class() { return *IFC4X3_RC4_IfcDocumentInformation_type; } Ifc4x3_rc4::IfcDocumentInformation::IfcDocumentInformation(IfcEntityInstanceData* e) : IfcExternalInformation((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcDocumentInformation_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::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, ::Ifc4x3_rc4::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorSelect >::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< ::Ifc4x3_rc4::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_rc4::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Identification));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Location));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CreationTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LastRevisionTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LastRevisionTime));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ElectronicFormat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ElectronicFormat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ValidFrom) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ValidFrom));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ValidUntil) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ValidUntil));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc4x3_rc4::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc4x3_rc4::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } +Ifc4x3_rc4::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, ::Ifc4x3_rc4::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorSelect >::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< ::Ifc4x3_rc4::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_rc4::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Identification));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Location));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CreationTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LastRevisionTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LastRevisionTime));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ElectronicFormat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ElectronicFormat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ValidFrom) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ValidFrom));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ValidUntil) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ValidUntil));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc4x3_rc4::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc4x3_rc4::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } // Function implementations for IfcDocumentInformationRelationship ::Ifc4x3_rc4::IfcDocumentInformation* Ifc4x3_rc4::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcDocumentInformation>(true); } @@ -16425,14 +16425,14 @@ Ifc4x3_rc4::IfcExternalReference::IfcExternalReference(boost::optional< std::str // Function implementations for IfcExternalReferenceRelationship ::Ifc4x3_rc4::IfcExternalReference* Ifc4x3_rc4::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcExternalReference>(true); } void Ifc4x3_rc4::IfcExternalReferenceRelationship::setRelatingReference(::Ifc4x3_rc4::IfcExternalReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr Ifc4x3_rc4::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr Ifc4x3_rc4::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc4::IfcResourceObjectSelect >(); } +void Ifc4x3_rc4::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcExternalReferenceRelationship::declaration() const { return *IFC4X3_RC4_IfcExternalReferenceRelationship_type; } const IfcParse::entity& Ifc4x3_rc4::IfcExternalReferenceRelationship::Class() { return *IFC4X3_RC4_IfcExternalReferenceRelationship_type; } Ifc4x3_rc4::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcExternalReferenceRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcExternalReferenceRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingReference));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } +Ifc4x3_rc4::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcExternalReferenceRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingReference));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcExternalSpatialElement boost::optional< ::Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::Value > Ifc4x3_rc4::IfcExternalSpatialElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::FromString(*data_->getArgument(8)); } @@ -16677,8 +16677,8 @@ Ifc4x3_rc4::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcEntity Ifc4x3_rc4::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFeatureElementSubtraction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcFillAreaStyle -aggregate_of< ::Ifc4x3_rc4::IfcFillStyleSelect >::ptr Ifc4x3_rc4::IfcFillAreaStyle::FillStyles() const { aggregate_of< ::Ifc4x3_rc4::IfcFillStyleSelect >::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcFillAreaStyle::setFillStyles(aggregate_of< ::Ifc4x3_rc4::IfcFillStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcFillStyleSelect >::ptr Ifc4x3_rc4::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc4::IfcFillStyleSelect >(); } +void Ifc4x3_rc4::IfcFillAreaStyle::setFillStyles(aggregate_of< ::Ifc4x3_rc4::IfcFillStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x3_rc4::IfcFillAreaStyle::ModelOrDraughting() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } void Ifc4x3_rc4::IfcFillAreaStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } @@ -16686,7 +16686,7 @@ void Ifc4x3_rc4::IfcFillAreaStyle::setModelOrDraughting(boost::optional< bool > const IfcParse::entity& Ifc4x3_rc4::IfcFillAreaStyle::declaration() const { return *IFC4X3_RC4_IfcFillAreaStyle_type; } const IfcParse::entity& Ifc4x3_rc4::IfcFillAreaStyle::Class() { return *IFC4X3_RC4_IfcFillAreaStyle_type; } Ifc4x3_rc4::IfcFillAreaStyle::IfcFillAreaStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcFillAreaStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_rc4::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles));data_->setArgument(1,attr);} if (v3_ModelOrDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ModelOrDraughting));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x3_rc4::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_rc4::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles)->generalize());data_->setArgument(1,attr);} if (v3_ModelOrDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ModelOrDraughting));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcFillAreaStyleHatching ::Ifc4x3_rc4::IfcCurveStyle* Ifc4x3_rc4::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcCurveStyle>(true); } @@ -17006,7 +17006,7 @@ Ifc4x3_rc4::IfcGeographicElementType::IfcGeographicElementType(std::string v1_Gl const IfcParse::entity& Ifc4x3_rc4::IfcGeometricCurveSet::declaration() const { return *IFC4X3_RC4_IfcGeometricCurveSet_type; } const IfcParse::entity& Ifc4x3_rc4::IfcGeometricCurveSet::Class() { return *IFC4X3_RC4_IfcGeometricCurveSet_type; } Ifc4x3_rc4::IfcGeometricCurveSet::IfcGeometricCurveSet(IfcEntityInstanceData* e) : IfcGeometricSet((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcGeometricCurveSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4x3_rc4::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcGeometricCurveSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } +Ifc4x3_rc4::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4x3_rc4::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcGeometricCurveSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcGeometricRepresentationContext int Ifc4x3_rc4::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = *data_->getArgument(2); return v; } @@ -17051,14 +17051,14 @@ Ifc4x3_rc4::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubC Ifc4x3_rc4::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, ::Ifc4x3_rc4::IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, ::Ifc4x3_rc4::IfcGeometricProjectionEnum::Value v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcGeometricRepresentationSubContext_type); if (v1_ContextIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_ContextIdentifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_ContextType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ContextType));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ParentContext));data_->setArgument(6,attr);} if (v8_TargetScale) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_TargetScale));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_TargetView,::Ifc4x3_rc4::IfcGeometricProjectionEnum::ToString(v9_TargetView))));data_->setArgument(8,attr);} if (v10_UserDefinedTargetView) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_UserDefinedTargetView));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcGeometricSet -aggregate_of< ::Ifc4x3_rc4::IfcGeometricSetSelect >::ptr Ifc4x3_rc4::IfcGeometricSet::Elements() const { aggregate_of< ::Ifc4x3_rc4::IfcGeometricSetSelect >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc4::IfcGeometricSet::setElements(aggregate_of< ::Ifc4x3_rc4::IfcGeometricSetSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcGeometricSetSelect >::ptr Ifc4x3_rc4::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc4::IfcGeometricSetSelect >(); } +void Ifc4x3_rc4::IfcGeometricSet::setElements(aggregate_of< ::Ifc4x3_rc4::IfcGeometricSetSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcGeometricSet::declaration() const { return *IFC4X3_RC4_IfcGeometricSet_type; } const IfcParse::entity& Ifc4x3_rc4::IfcGeometricSet::Class() { return *IFC4X3_RC4_IfcGeometricSet_type; } Ifc4x3_rc4::IfcGeometricSet::IfcGeometricSet(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcGeometricSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x3_rc4::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcGeometricSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } +Ifc4x3_rc4::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x3_rc4::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcGeometricSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcGeomodel @@ -17290,8 +17290,8 @@ Ifc4x3_rc4::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4x3_rc4::IfcTessellate // Function implementations for IfcIndexedPolyCurve ::Ifc4x3_rc4::IfcCartesianPointList* Ifc4x3_rc4::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcCartesianPointList>(true); } void Ifc4x3_rc4::IfcIndexedPolyCurve::setPoints(::Ifc4x3_rc4::IfcCartesianPointList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcSegmentIndexSelect >::ptr > Ifc4x3_rc4::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc4::IfcSegmentIndexSelect >::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcSegmentIndexSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcSegmentIndexSelect >::ptr > Ifc4x3_rc4::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc4::IfcSegmentIndexSelect >(); } +void Ifc4x3_rc4::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcSegmentIndexSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x3_rc4::IfcIndexedPolyCurve::SelfIntersect() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } void Ifc4x3_rc4::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } @@ -17299,7 +17299,7 @@ void Ifc4x3_rc4::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v const IfcParse::entity& Ifc4x3_rc4::IfcIndexedPolyCurve::declaration() const { return *IFC4X3_RC4_IfcIndexedPolyCurve_type; } const IfcParse::entity& Ifc4x3_rc4::IfcIndexedPolyCurve::Class() { return *IFC4X3_RC4_IfcIndexedPolyCurve_type; } Ifc4x3_rc4::IfcIndexedPolyCurve::IfcIndexedPolyCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcIndexedPolyCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x3_rc4::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcIndexedPolyCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Points));data_->setArgument(0,attr);} if (v2_Segments) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Segments));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_SelfIntersect) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_SelfIntersect));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x3_rc4::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x3_rc4::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcIndexedPolyCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Points));data_->setArgument(0,attr);} if (v2_Segments) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Segments)->generalize());data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_SelfIntersect) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_SelfIntersect));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcIndexedPolygonalFace std::vector< int > /*[3:?]*/ Ifc4x3_rc4::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = *data_->getArgument(0); return v; } @@ -17405,14 +17405,14 @@ Ifc4x3_rc4::IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, // Function implementations for IfcIrregularTimeSeriesValue std::string Ifc4x3_rc4::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcIrregularTimeSeriesValue::setTimeStamp(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr Ifc4x3_rc4::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcIrregularTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr Ifc4x3_rc4::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc4::IfcValue >(); } +void Ifc4x3_rc4::IfcIrregularTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcIrregularTimeSeriesValue::declaration() const { return *IFC4X3_RC4_IfcIrregularTimeSeriesValue_type; } const IfcParse::entity& Ifc4x3_rc4::IfcIrregularTimeSeriesValue::Class() { return *IFC4X3_RC4_IfcIrregularTimeSeriesValue_type; } Ifc4x3_rc4::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC4_IfcIrregularTimeSeriesValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcIrregularTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TimeStamp));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ListValues));data_->setArgument(1,attr);} } +Ifc4x3_rc4::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcIrregularTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TimeStamp));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ListValues)->generalize());data_->setArgument(1,attr);} } // Function implementations for IfcJunctionBox boost::optional< ::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Value > Ifc4x3_rc4::IfcJunctionBox::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::FromString(*data_->getArgument(8)); } @@ -17849,8 +17849,8 @@ Ifc4x3_rc4::IfcMaterial::IfcMaterial(IfcEntityInstanceData* e) : IfcMaterialDefi Ifc4x3_rc4::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_Category) : IfcMaterialDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Category) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Category));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcMaterialClassificationRelationship -aggregate_of< ::Ifc4x3_rc4::IfcClassificationSelect >::ptr Ifc4x3_rc4::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of< ::Ifc4x3_rc4::IfcClassificationSelect >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc4::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of< ::Ifc4x3_rc4::IfcClassificationSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcClassificationSelect >::ptr Ifc4x3_rc4::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc4::IfcClassificationSelect >(); } +void Ifc4x3_rc4::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of< ::Ifc4x3_rc4::IfcClassificationSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } ::Ifc4x3_rc4::IfcMaterial* Ifc4x3_rc4::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcMaterial>(true); } void Ifc4x3_rc4::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc4x3_rc4::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -17858,7 +17858,7 @@ void Ifc4x3_rc4::IfcMaterialClassificationRelationship::setClassifiedMaterial(:: const IfcParse::entity& Ifc4x3_rc4::IfcMaterialClassificationRelationship::declaration() const { return *IFC4X3_RC4_IfcMaterialClassificationRelationship_type; } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialClassificationRelationship::Class() { return *IFC4X3_RC4_IfcMaterialClassificationRelationship_type; } Ifc4x3_rc4::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC4_IfcMaterialClassificationRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4x3_rc4::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x3_rc4::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMaterialClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialClassifications));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ClassifiedMaterial));data_->setArgument(1,attr);} } +Ifc4x3_rc4::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4x3_rc4::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x3_rc4::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMaterialClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialClassifications)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ClassifiedMaterial));data_->setArgument(1,attr);} } // Function implementations for IfcMaterialConstituent boost::optional< std::string > Ifc4x3_rc4::IfcMaterialConstituent::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -19114,8 +19114,8 @@ std::string Ifc4x3_rc4::IfcPresentationLayerAssignment::Name() const { std::str void Ifc4x3_rc4::IfcPresentationLayerAssignment::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcPresentationLayerAssignment::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } -aggregate_of< ::Ifc4x3_rc4::IfcLayeredItem >::ptr Ifc4x3_rc4::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of< ::Ifc4x3_rc4::IfcLayeredItem >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of< ::Ifc4x3_rc4::IfcLayeredItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcLayeredItem >::ptr Ifc4x3_rc4::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc4::IfcLayeredItem >(); } +void Ifc4x3_rc4::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of< ::Ifc4x3_rc4::IfcLayeredItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcPresentationLayerAssignment::Identifier() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } @@ -19123,7 +19123,7 @@ void Ifc4x3_rc4::IfcPresentationLayerAssignment::setIdentifier(boost::optional< const IfcParse::entity& Ifc4x3_rc4::IfcPresentationLayerAssignment::declaration() const { return *IFC4X3_RC4_IfcPresentationLayerAssignment_type; } const IfcParse::entity& Ifc4x3_rc4::IfcPresentationLayerAssignment::Class() { return *IFC4X3_RC4_IfcPresentationLayerAssignment_type; } Ifc4x3_rc4::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC4_IfcPresentationLayerAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc4::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPresentationLayerAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } +Ifc4x3_rc4::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc4::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPresentationLayerAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems)->generalize());data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcPresentationLayerWithStyle boost::logic::tribool Ifc4x3_rc4::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = *data_->getArgument(4); return v; } @@ -19139,7 +19139,7 @@ void Ifc4x3_rc4::IfcPresentationLayerWithStyle::setLayerStyles(aggregate_of< ::I const IfcParse::entity& Ifc4x3_rc4::IfcPresentationLayerWithStyle::declaration() const { return *IFC4X3_RC4_IfcPresentationLayerWithStyle_type; } const IfcParse::entity& Ifc4x3_rc4::IfcPresentationLayerWithStyle::Class() { return *IFC4X3_RC4_IfcPresentationLayerWithStyle_type; } Ifc4x3_rc4::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcEntityInstanceData* e) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcPresentationLayerWithStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc4::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_rc4::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPresentationLayerWithStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_LayerOn));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LayerFrozen));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LayerBlocked));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LayerStyles)->generalize());data_->setArgument(7,attr);} } +Ifc4x3_rc4::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc4::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_rc4::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPresentationLayerWithStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems)->generalize());data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_LayerOn));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LayerFrozen));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LayerBlocked));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LayerStyles)->generalize());data_->setArgument(7,attr);} } // Function implementations for IfcPresentationStyle boost::optional< std::string > Ifc4x3_rc4::IfcPresentationStyle::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -19371,8 +19371,8 @@ Ifc4x3_rc4::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship Ifc4x3_rc4::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcProperty* v3_DependingProperty, ::Ifc4x3_rc4::IfcProperty* v4_DependantProperty, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPropertyDependencyRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_DependingProperty));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_DependantProperty));data_->setArgument(3,attr);} if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcPropertyEnumeratedValue -boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > Ifc4x3_rc4::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > Ifc4x3_rc4::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc4::IfcValue >(); } +void Ifc4x3_rc4::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } ::Ifc4x3_rc4::IfcPropertyEnumeration* Ifc4x3_rc4::IfcPropertyEnumeratedValue::EnumerationReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcPropertyEnumeration>(true); } void Ifc4x3_rc4::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x3_rc4::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19380,13 +19380,13 @@ void Ifc4x3_rc4::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x3_rc const IfcParse::entity& Ifc4x3_rc4::IfcPropertyEnumeratedValue::declaration() const { return *IFC4X3_RC4_IfcPropertyEnumeratedValue_type; } const IfcParse::entity& Ifc4x3_rc4::IfcPropertyEnumeratedValue::Class() { return *IFC4X3_RC4_IfcPropertyEnumeratedValue_type; } Ifc4x3_rc4::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcPropertyEnumeratedValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x3_rc4::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPropertyEnumeratedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EnumerationValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EnumerationValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EnumerationReference));data_->setArgument(3,attr);} } +Ifc4x3_rc4::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x3_rc4::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPropertyEnumeratedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EnumerationValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EnumerationValues)->generalize());data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EnumerationReference));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyEnumeration std::string Ifc4x3_rc4::IfcPropertyEnumeration::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcPropertyEnumeration::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr Ifc4x3_rc4::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcPropertyEnumeration::setEnumerationValues(aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr Ifc4x3_rc4::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc4::IfcValue >(); } +void Ifc4x3_rc4::IfcPropertyEnumeration::setEnumerationValues(aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } ::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcPropertyEnumeration::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcUnit>(true); } void Ifc4x3_rc4::IfcPropertyEnumeration::setUnit(::Ifc4x3_rc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -19394,11 +19394,11 @@ void Ifc4x3_rc4::IfcPropertyEnumeration::setUnit(::Ifc4x3_rc4::IfcUnit* v) { {If const IfcParse::entity& Ifc4x3_rc4::IfcPropertyEnumeration::declaration() const { return *IFC4X3_RC4_IfcPropertyEnumeration_type; } const IfcParse::entity& Ifc4x3_rc4::IfcPropertyEnumeration::Class() { return *IFC4X3_RC4_IfcPropertyEnumeration_type; } Ifc4x3_rc4::IfcPropertyEnumeration::IfcPropertyEnumeration(IfcEntityInstanceData* e) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcPropertyEnumeration_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x3_rc4::IfcUnit* v3_Unit) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPropertyEnumeration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EnumerationValues));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);} } +Ifc4x3_rc4::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x3_rc4::IfcUnit* v3_Unit) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPropertyEnumeration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EnumerationValues)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);} } // Function implementations for IfcPropertyListValue -boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > Ifc4x3_rc4::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcPropertyListValue::setListValues(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > Ifc4x3_rc4::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc4::IfcValue >(); } +void Ifc4x3_rc4::IfcPropertyListValue::setListValues(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } ::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcPropertyListValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcUnit>(true); } void Ifc4x3_rc4::IfcPropertyListValue::setUnit(::Ifc4x3_rc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19406,7 +19406,7 @@ void Ifc4x3_rc4::IfcPropertyListValue::setUnit(::Ifc4x3_rc4::IfcUnit* v) { {IfcW const IfcParse::entity& Ifc4x3_rc4::IfcPropertyListValue::declaration() const { return *IFC4X3_RC4_IfcPropertyListValue_type; } const IfcParse::entity& Ifc4x3_rc4::IfcPropertyListValue::Class() { return *IFC4X3_RC4_IfcPropertyListValue_type; } Ifc4x3_rc4::IfcPropertyListValue::IfcPropertyListValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcPropertyListValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v3_ListValues, ::Ifc4x3_rc4::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPropertyListValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ListValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ListValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } +Ifc4x3_rc4::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v3_ListValues, ::Ifc4x3_rc4::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPropertyListValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ListValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ListValues)->generalize());data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyReferenceValue boost::optional< std::string > Ifc4x3_rc4::IfcPropertyReferenceValue::UsageName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } @@ -19469,10 +19469,10 @@ Ifc4x3_rc4::IfcPropertySingleValue::IfcPropertySingleValue(IfcEntityInstanceData Ifc4x3_rc4::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcValue* v3_NominalValue, ::Ifc4x3_rc4::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPropertySingleValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_NominalValue));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyTableValue -boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > Ifc4x3_rc4::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } -boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > Ifc4x3_rc4::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > Ifc4x3_rc4::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc4::IfcValue >(); } +void Ifc4x3_rc4::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > Ifc4x3_rc4::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc4::IfcValue >(); } +void Ifc4x3_rc4::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcPropertyTableValue::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x3_rc4::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcPropertyTableValue::DefiningUnit() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcUnit>(true); } @@ -19486,7 +19486,7 @@ void Ifc4x3_rc4::IfcPropertyTableValue::setCurveInterpolation(boost::optional< : const IfcParse::entity& Ifc4x3_rc4::IfcPropertyTableValue::declaration() const { return *IFC4X3_RC4_IfcPropertyTableValue_type; } const IfcParse::entity& Ifc4x3_rc4::IfcPropertyTableValue::Class() { return *IFC4X3_RC4_IfcPropertyTableValue_type; } Ifc4x3_rc4::IfcPropertyTableValue::IfcPropertyTableValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcPropertyTableValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_rc4::IfcUnit* v6_DefiningUnit, ::Ifc4x3_rc4::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_rc4::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPropertyTableValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_DefiningValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_DefiningValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DefinedValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DefinedValues));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_DefiningUnit));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_DefinedUnit));data_->setArgument(6,attr);} if (v8_CurveInterpolation) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_CurveInterpolation,::Ifc4x3_rc4::IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } +Ifc4x3_rc4::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_rc4::IfcUnit* v6_DefiningUnit, ::Ifc4x3_rc4::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_rc4::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPropertyTableValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_DefiningValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_DefiningValues)->generalize());data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DefinedValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DefinedValues)->generalize());data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_DefiningUnit));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_DefinedUnit));data_->setArgument(6,attr);} if (v8_CurveInterpolation) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_CurveInterpolation,::Ifc4x3_rc4::IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcPropertyTemplate @@ -19969,14 +19969,14 @@ boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc4: void Ifc4x3_rc4::IfcReinforcingBarType::setBarSurface(boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::ToString(*v)));}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcReinforcingBarType::BendingShapeCode() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } void Ifc4x3_rc4::IfcReinforcingBarType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } -boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcBendingParameterSelect >::ptr > Ifc4x3_rc4::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc4::IfcBendingParameterSelect >::ptr v = *data_->getArgument(15); return v; } -void Ifc4x3_rc4::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcBendingParameterSelect >::ptr > Ifc4x3_rc4::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(15); return es->as< ::Ifc4x3_rc4::IfcBendingParameterSelect >(); } +void Ifc4x3_rc4::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(15,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcReinforcingBarType::declaration() const { return *IFC4X3_RC4_IfcReinforcingBarType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcReinforcingBarType::Class() { return *IFC4X3_RC4_IfcReinforcingBarType_type; } Ifc4x3_rc4::IfcReinforcingBarType::IfcReinforcingBarType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcReinforcingBarType_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcReinforcingBarType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_BarLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_BarLength));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_BarSurface) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_BarSurface,::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_BendingShapeCode));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_BendingParameters));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } } +Ifc4x3_rc4::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcReinforcingBarType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_BarLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_BarLength));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_BarSurface) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_BarSurface,::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_BendingShapeCode));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_BendingParameters)->generalize());data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } } // Function implementations for IfcReinforcingElement boost::optional< std::string > Ifc4x3_rc4::IfcReinforcingElement::SteelGrade() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } @@ -20043,14 +20043,14 @@ boost::optional< double > Ifc4x3_rc4::IfcReinforcingMeshType::TransverseBarSpaci void Ifc4x3_rc4::IfcReinforcingMeshType::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(17,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcReinforcingMeshType::BendingShapeCode() const { if(!data_->getArgument(18) || data_->getArgument(18)->isNull()) { return boost::none; } std::string v = *data_->getArgument(18); return v; } void Ifc4x3_rc4::IfcReinforcingMeshType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(18,attr);} } -boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcBendingParameterSelect >::ptr > Ifc4x3_rc4::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc4::IfcBendingParameterSelect >::ptr v = *data_->getArgument(19); return v; } -void Ifc4x3_rc4::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(19,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcBendingParameterSelect >::ptr > Ifc4x3_rc4::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(19); return es->as< ::Ifc4x3_rc4::IfcBendingParameterSelect >(); } +void Ifc4x3_rc4::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(19,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcReinforcingMeshType::declaration() const { return *IFC4X3_RC4_IfcReinforcingMeshType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcReinforcingMeshType::Class() { return *IFC4X3_RC4_IfcReinforcingMeshType_type; } Ifc4x3_rc4::IfcReinforcingMeshType::IfcReinforcingMeshType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcReinforcingMeshType_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of< ::Ifc4x3_rc4::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcReinforcingMeshType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshLength));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_MeshWidth));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LongitudinalBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TransverseBarNominalDiameter));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LongitudinalBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_TransverseBarCrossSectionArea));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LongitudinalBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_TransverseBarSpacing));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_BendingShapeCode));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_BendingParameters));data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } +Ifc4x3_rc4::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of< ::Ifc4x3_rc4::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcReinforcingMeshType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshLength));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_MeshWidth));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LongitudinalBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TransverseBarNominalDiameter));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LongitudinalBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_TransverseBarCrossSectionArea));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LongitudinalBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_TransverseBarSpacing));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_BendingShapeCode));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_BendingParameters)->generalize());data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } // Function implementations for IfcRelAdheresToElement ::Ifc4x3_rc4::IfcElement* Ifc4x3_rc4::IfcRelAdheresToElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcElement>(true); } @@ -20163,14 +20163,14 @@ Ifc4x3_rc4::IfcRelAssignsToResource::IfcRelAssignsToResource(IfcEntityInstanceDa Ifc4x3_rc4::IfcRelAssignsToResource::IfcRelAssignsToResource(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcResourceSelect* v7_RelatingResource) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssignsToResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x3_rc4::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingResource));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociates -aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr Ifc4x3_rc4::IfcRelAssociates::RelatedObjects() const { aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcRelAssociates::setRelatedObjects(aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr Ifc4x3_rc4::IfcRelAssociates::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc4::IfcDefinitionSelect >(); } +void Ifc4x3_rc4::IfcRelAssociates::setRelatedObjects(aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociates::declaration() const { return *IFC4X3_RC4_IfcRelAssociates_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociates::Class() { return *IFC4X3_RC4_IfcRelAssociates_type; } Ifc4x3_rc4::IfcRelAssociates::IfcRelAssociates(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelAssociates_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} } +Ifc4x3_rc4::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} } // Function implementations for IfcRelAssociatesApproval ::Ifc4x3_rc4::IfcApproval* Ifc4x3_rc4::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcApproval>(true); } @@ -20180,7 +20180,7 @@ void Ifc4x3_rc4::IfcRelAssociatesApproval::setRelatingApproval(::Ifc4x3_rc4::Ifc const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesApproval::declaration() const { return *IFC4X3_RC4_IfcRelAssociatesApproval_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesApproval::Class() { return *IFC4X3_RC4_IfcRelAssociatesApproval_type; } Ifc4x3_rc4::IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelAssociatesApproval_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } +Ifc4x3_rc4::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesClassification ::Ifc4x3_rc4::IfcClassificationSelect* Ifc4x3_rc4::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcClassificationSelect>(true); } @@ -20190,7 +20190,7 @@ void Ifc4x3_rc4::IfcRelAssociatesClassification::setRelatingClassification(::Ifc const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesClassification::declaration() const { return *IFC4X3_RC4_IfcRelAssociatesClassification_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesClassification::Class() { return *IFC4X3_RC4_IfcRelAssociatesClassification_type; } Ifc4x3_rc4::IfcRelAssociatesClassification::IfcRelAssociatesClassification(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelAssociatesClassification_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssociatesClassification_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingClassification));data_->setArgument(5,attr);} } +Ifc4x3_rc4::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssociatesClassification_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingClassification));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesConstraint boost::optional< std::string > Ifc4x3_rc4::IfcRelAssociatesConstraint::Intent() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } @@ -20202,7 +20202,7 @@ void Ifc4x3_rc4::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc4x3_rc4: const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesConstraint::declaration() const { return *IFC4X3_RC4_IfcRelAssociatesConstraint_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesConstraint::Class() { return *IFC4X3_RC4_IfcRelAssociatesConstraint_type; } Ifc4x3_rc4::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelAssociatesConstraint_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_rc4::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} if (v6_Intent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Intent));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } +Ifc4x3_rc4::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_rc4::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_Intent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Intent));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociatesDocument ::Ifc4x3_rc4::IfcDocumentSelect* Ifc4x3_rc4::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcDocumentSelect>(true); } @@ -20212,7 +20212,7 @@ void Ifc4x3_rc4::IfcRelAssociatesDocument::setRelatingDocument(::Ifc4x3_rc4::Ifc const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesDocument::declaration() const { return *IFC4X3_RC4_IfcRelAssociatesDocument_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesDocument::Class() { return *IFC4X3_RC4_IfcRelAssociatesDocument_type; } Ifc4x3_rc4::IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelAssociatesDocument_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } +Ifc4x3_rc4::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesLibrary ::Ifc4x3_rc4::IfcLibrarySelect* Ifc4x3_rc4::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcLibrarySelect>(true); } @@ -20222,7 +20222,7 @@ void Ifc4x3_rc4::IfcRelAssociatesLibrary::setRelatingLibrary(::Ifc4x3_rc4::IfcLi const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesLibrary::declaration() const { return *IFC4X3_RC4_IfcRelAssociatesLibrary_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesLibrary::Class() { return *IFC4X3_RC4_IfcRelAssociatesLibrary_type; } Ifc4x3_rc4::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelAssociatesLibrary_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } +Ifc4x3_rc4::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesMaterial ::Ifc4x3_rc4::IfcMaterialSelect* Ifc4x3_rc4::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcMaterialSelect>(true); } @@ -20232,7 +20232,7 @@ void Ifc4x3_rc4::IfcRelAssociatesMaterial::setRelatingMaterial(::Ifc4x3_rc4::Ifc const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesMaterial::declaration() const { return *IFC4X3_RC4_IfcRelAssociatesMaterial_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesMaterial::Class() { return *IFC4X3_RC4_IfcRelAssociatesMaterial_type; } Ifc4x3_rc4::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelAssociatesMaterial_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssociatesMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingMaterial));data_->setArgument(5,attr);} } +Ifc4x3_rc4::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssociatesMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingMaterial));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesProfileDef ::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcProfileDef>(true); } @@ -20242,7 +20242,7 @@ void Ifc4x3_rc4::IfcRelAssociatesProfileDef::setRelatingProfileDef(::Ifc4x3_rc4: const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesProfileDef::declaration() const { return *IFC4X3_RC4_IfcRelAssociatesProfileDef_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesProfileDef::Class() { return *IFC4X3_RC4_IfcRelAssociatesProfileDef_type; } Ifc4x3_rc4::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelAssociatesProfileDef_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcProfileDef* v6_RelatingProfileDef) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssociatesProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingProfileDef));data_->setArgument(5,attr);} } +Ifc4x3_rc4::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcProfileDef* v6_RelatingProfileDef) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssociatesProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingProfileDef));data_->setArgument(5,attr);} } // Function implementations for IfcRelConnects @@ -20401,14 +20401,14 @@ Ifc4x3_rc4::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::If // Function implementations for IfcRelDeclares ::Ifc4x3_rc4::IfcContext* Ifc4x3_rc4::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcContext>(true); } void Ifc4x3_rc4::IfcRelDeclares::setRelatingContext(::Ifc4x3_rc4::IfcContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr Ifc4x3_rc4::IfcRelDeclares::RelatedDefinitions() const { aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v = *data_->getArgument(5); return v; } -void Ifc4x3_rc4::IfcRelDeclares::setRelatedDefinitions(aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr Ifc4x3_rc4::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc4::IfcDefinitionSelect >(); } +void Ifc4x3_rc4::IfcRelDeclares::setRelatedDefinitions(aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRelDeclares::declaration() const { return *IFC4X3_RC4_IfcRelDeclares_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelDeclares::Class() { return *IFC4X3_RC4_IfcRelDeclares_type; } Ifc4x3_rc4::IfcRelDeclares::IfcRelDeclares(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelDeclares_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelDeclares_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingContext));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedDefinitions));data_->setArgument(5,attr);} } +Ifc4x3_rc4::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelDeclares_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingContext));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedDefinitions)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelDecomposes @@ -20555,8 +20555,8 @@ Ifc4x3_rc4::IfcRelProjectsElement::IfcRelProjectsElement(IfcEntityInstanceData* Ifc4x3_rc4::IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcElement* v5_RelatingElement, ::Ifc4x3_rc4::IfcFeatureElementAddition* v6_RelatedFeatureElement) : IfcRelDecomposes((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelProjectsElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedFeatureElement));data_->setArgument(5,attr);} } // Function implementations for IfcRelReferencedInSpatialStructure -aggregate_of< ::Ifc4x3_rc4::IfcSpatialReferenceSelect >::ptr Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of< ::Ifc4x3_rc4::IfcSpatialReferenceSelect >::ptr v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4x3_rc4::IfcSpatialReferenceSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcSpatialReferenceSelect >::ptr Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc4::IfcSpatialReferenceSelect >(); } +void Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4x3_rc4::IfcSpatialReferenceSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } ::Ifc4x3_rc4::IfcSpatialElement* Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcSpatialElement>(true); } void Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc4x3_rc4::IfcSpatialElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20564,7 +20564,7 @@ void Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc4 const IfcParse::entity& Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::declaration() const { return *IFC4X3_RC4_IfcRelReferencedInSpatialStructure_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::Class() { return *IFC4X3_RC4_IfcRelReferencedInSpatialStructure_type; } Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(IfcEntityInstanceData* e) : IfcRelConnects((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelReferencedInSpatialStructure_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcSpatialReferenceSelect >::ptr v5_RelatedElements, ::Ifc4x3_rc4::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelReferencedInSpatialStructure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedElements));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingStructure));data_->setArgument(5,attr);} } +Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcSpatialReferenceSelect >::ptr v5_RelatedElements, ::Ifc4x3_rc4::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelReferencedInSpatialStructure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedElements)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingStructure));data_->setArgument(5,attr);} } // Function implementations for IfcRelSequence ::Ifc4x3_rc4::IfcProcess* Ifc4x3_rc4::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcProcess>(true); } @@ -20736,8 +20736,8 @@ Ifc4x3_rc4::IfcResource::IfcResource(IfcEntityInstanceData* e) : IfcObject((IfcE Ifc4x3_rc4::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc4x3_rc4::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((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_LongDescription));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcResourceApprovalRelationship -aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr Ifc4x3_rc4::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr Ifc4x3_rc4::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc4::IfcResourceObjectSelect >(); } +void Ifc4x3_rc4::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } ::Ifc4x3_rc4::IfcApproval* Ifc4x3_rc4::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcApproval>(true); } void Ifc4x3_rc4::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x3_rc4::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -20745,19 +20745,19 @@ void Ifc4x3_rc4::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x3_r const IfcParse::entity& Ifc4x3_rc4::IfcResourceApprovalRelationship::declaration() const { return *IFC4X3_RC4_IfcResourceApprovalRelationship_type; } const IfcParse::entity& Ifc4x3_rc4::IfcResourceApprovalRelationship::Class() { return *IFC4X3_RC4_IfcResourceApprovalRelationship_type; } Ifc4x3_rc4::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcResourceApprovalRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x3_rc4::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcResourceApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatedResourceObjects));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatingApproval));data_->setArgument(3,attr);} } +Ifc4x3_rc4::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x3_rc4::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcResourceApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatedResourceObjects)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatingApproval));data_->setArgument(3,attr);} } // Function implementations for IfcResourceConstraintRelationship ::Ifc4x3_rc4::IfcConstraint* Ifc4x3_rc4::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcConstraint>(true); } void Ifc4x3_rc4::IfcResourceConstraintRelationship::setRelatingConstraint(::Ifc4x3_rc4::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr Ifc4x3_rc4::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr Ifc4x3_rc4::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc4::IfcResourceObjectSelect >(); } +void Ifc4x3_rc4::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcResourceConstraintRelationship::declaration() const { return *IFC4X3_RC4_IfcResourceConstraintRelationship_type; } const IfcParse::entity& Ifc4x3_rc4::IfcResourceConstraintRelationship::Class() { return *IFC4X3_RC4_IfcResourceConstraintRelationship_type; } Ifc4x3_rc4::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcResourceConstraintRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcResourceConstraintRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingConstraint));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } +Ifc4x3_rc4::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcResourceConstraintRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingConstraint));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcResourceLevelRelationship boost::optional< std::string > Ifc4x3_rc4::IfcResourceLevelRelationship::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -21191,14 +21191,14 @@ Ifc4x3_rc4::IfcShapeRepresentation::IfcShapeRepresentation(IfcEntityInstanceData Ifc4x3_rc4::IfcShapeRepresentation::IfcShapeRepresentation(::Ifc4x3_rc4::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_rc4::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcShapeRepresentation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ContextOfItems));data_->setArgument(0,attr);} if (v2_RepresentationIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_RepresentationIdentifier));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_RepresentationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_RepresentationType));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Items)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcShellBasedSurfaceModel -aggregate_of< ::Ifc4x3_rc4::IfcShell >::ptr Ifc4x3_rc4::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of< ::Ifc4x3_rc4::IfcShell >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc4::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of< ::Ifc4x3_rc4::IfcShell >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcShell >::ptr Ifc4x3_rc4::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc4::IfcShell >(); } +void Ifc4x3_rc4::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of< ::Ifc4x3_rc4::IfcShell >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcShellBasedSurfaceModel::declaration() const { return *IFC4X3_RC4_IfcShellBasedSurfaceModel_type; } const IfcParse::entity& Ifc4x3_rc4::IfcShellBasedSurfaceModel::Class() { return *IFC4X3_RC4_IfcShellBasedSurfaceModel_type; } Ifc4x3_rc4::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcShellBasedSurfaceModel_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4x3_rc4::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcShellBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SbsmBoundary));data_->setArgument(0,attr);} } +Ifc4x3_rc4::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4x3_rc4::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcShellBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SbsmBoundary)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcSign boost::optional< ::Ifc4x3_rc4::IfcSignTypeEnum::Value > Ifc4x3_rc4::IfcSign::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSignTypeEnum::FromString(*data_->getArgument(8)); } @@ -22162,14 +22162,14 @@ Ifc4x3_rc4::IfcSurfaceReinforcementArea::IfcSurfaceReinforcementArea(boost::opti // Function implementations for IfcSurfaceStyle ::Ifc4x3_rc4::IfcSurfaceSide::Value Ifc4x3_rc4::IfcSurfaceStyle::Side() const { return ::Ifc4x3_rc4::IfcSurfaceSide::FromString(*data_->getArgument(1)); } void Ifc4x3_rc4::IfcSurfaceStyle::setSide(::Ifc4x3_rc4::IfcSurfaceSide::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcSurfaceSide::ToString(v)));data_->setArgument(1,attr);} } -aggregate_of< ::Ifc4x3_rc4::IfcSurfaceStyleElementSelect >::ptr Ifc4x3_rc4::IfcSurfaceStyle::Styles() const { aggregate_of< ::Ifc4x3_rc4::IfcSurfaceStyleElementSelect >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcSurfaceStyle::setStyles(aggregate_of< ::Ifc4x3_rc4::IfcSurfaceStyleElementSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcSurfaceStyleElementSelect >::ptr Ifc4x3_rc4::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc4::IfcSurfaceStyleElementSelect >(); } +void Ifc4x3_rc4::IfcSurfaceStyle::setStyles(aggregate_of< ::Ifc4x3_rc4::IfcSurfaceStyleElementSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceStyle::declaration() const { return *IFC4X3_RC4_IfcSurfaceStyle_type; } const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceStyle::Class() { return *IFC4X3_RC4_IfcSurfaceStyle_type; } Ifc4x3_rc4::IfcSurfaceStyle::IfcSurfaceStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcSurfaceStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x3_rc4::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc4x3_rc4::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles));data_->setArgument(2,attr);} } +Ifc4x3_rc4::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x3_rc4::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc4x3_rc4::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles)->generalize());data_->setArgument(2,attr);} } // Function implementations for IfcSurfaceStyleLighting ::Ifc4x3_rc4::IfcColourRgb* Ifc4x3_rc4::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcColourRgb>(true); } @@ -22424,8 +22424,8 @@ Ifc4x3_rc4::IfcTableColumn::IfcTableColumn(IfcEntityInstanceData* e) : IfcUtil:: Ifc4x3_rc4::IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, ::Ifc4x3_rc4::IfcUnit* v4_Unit, ::Ifc4x3_rc4::IfcReference* v5_ReferencePath) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTableColumn_type); if (v1_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Identifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Name));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_ReferencePath));data_->setArgument(4,attr);} } // Function implementations for IfcTableRow -boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > Ifc4x3_rc4::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc4::IfcTableRow::setRowCells(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > Ifc4x3_rc4::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc4::IfcValue >(); } +void Ifc4x3_rc4::IfcTableRow::setRowCells(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(0,attr);} } boost::optional< bool > Ifc4x3_rc4::IfcTableRow::IsHeading() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } bool v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } @@ -22433,7 +22433,7 @@ void Ifc4x3_rc4::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrit const IfcParse::entity& Ifc4x3_rc4::IfcTableRow::declaration() const { return *IFC4X3_RC4_IfcTableRow_type; } const IfcParse::entity& Ifc4x3_rc4::IfcTableRow::Class() { return *IFC4X3_RC4_IfcTableRow_type; } Ifc4x3_rc4::IfcTableRow::IfcTableRow(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC4_IfcTableRow_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTableRow_type); if (v1_RowCells) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RowCells));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_IsHeading) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_IsHeading));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } +Ifc4x3_rc4::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTableRow_type); if (v1_RowCells) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RowCells)->generalize());data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_IsHeading) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_IsHeading));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcTank boost::optional< ::Ifc4x3_rc4::IfcTankTypeEnum::Value > Ifc4x3_rc4::IfcTank::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcTankTypeEnum::FromString(*data_->getArgument(8)); } @@ -22861,14 +22861,14 @@ Ifc4x3_rc4::IfcTimeSeries::IfcTimeSeries(IfcEntityInstanceData* e) : IfcUtil::If Ifc4x3_rc4::IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc4::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc4::IfcUnit* v8_Unit) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTimeSeries_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_StartTime));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EndTime));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_TimeSeriesDataType,::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType))));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v6_DataOrigin,::Ifc4x3_rc4::IfcDataOriginEnum::ToString(v6_DataOrigin))));data_->setArgument(5,attr);} if (v7_UserDefinedDataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_UserDefinedDataOrigin));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Unit));data_->setArgument(7,attr);} } // Function implementations for IfcTimeSeriesValue -aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr Ifc4x3_rc4::IfcTimeSeriesValue::ListValues() const { aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc4::IfcTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr Ifc4x3_rc4::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc4::IfcValue >(); } +void Ifc4x3_rc4::IfcTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcTimeSeriesValue::declaration() const { return *IFC4X3_RC4_IfcTimeSeriesValue_type; } const IfcParse::entity& Ifc4x3_rc4::IfcTimeSeriesValue::Class() { return *IFC4X3_RC4_IfcTimeSeriesValue_type; } Ifc4x3_rc4::IfcTimeSeriesValue::IfcTimeSeriesValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC4_IfcTimeSeriesValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ListValues));data_->setArgument(0,attr);} } +Ifc4x3_rc4::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ListValues)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcTopologicalRepresentationItem @@ -23003,10 +23003,10 @@ Ifc4x3_rc4::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(::I // Function implementations for IfcTrimmedCurve ::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcCurve>(true); } void Ifc4x3_rc4::IfcTrimmedCurve::setBasisCurve(::Ifc4x3_rc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of< ::Ifc4x3_rc4::IfcTrimmingSelect >::ptr Ifc4x3_rc4::IfcTrimmedCurve::Trim1() const { aggregate_of< ::Ifc4x3_rc4::IfcTrimmingSelect >::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcTrimmedCurve::setTrim1(aggregate_of< ::Ifc4x3_rc4::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -aggregate_of< ::Ifc4x3_rc4::IfcTrimmingSelect >::ptr Ifc4x3_rc4::IfcTrimmedCurve::Trim2() const { aggregate_of< ::Ifc4x3_rc4::IfcTrimmingSelect >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcTrimmedCurve::setTrim2(aggregate_of< ::Ifc4x3_rc4::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcTrimmingSelect >::ptr Ifc4x3_rc4::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc4::IfcTrimmingSelect >(); } +void Ifc4x3_rc4::IfcTrimmedCurve::setTrim1(aggregate_of< ::Ifc4x3_rc4::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcTrimmingSelect >::ptr Ifc4x3_rc4::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc4::IfcTrimmingSelect >(); } +void Ifc4x3_rc4::IfcTrimmedCurve::setTrim2(aggregate_of< ::Ifc4x3_rc4::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } bool Ifc4x3_rc4::IfcTrimmedCurve::SenseAgreement() const { bool v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcTrimmedCurve::setSenseAgreement(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x3_rc4::IfcTrimmingPreference::Value Ifc4x3_rc4::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4x3_rc4::IfcTrimmingPreference::FromString(*data_->getArgument(4)); } @@ -23016,7 +23016,7 @@ void Ifc4x3_rc4::IfcTrimmedCurve::setMasterRepresentation(::Ifc4x3_rc4::IfcTrimm const IfcParse::entity& Ifc4x3_rc4::IfcTrimmedCurve::declaration() const { return *IFC4X3_RC4_IfcTrimmedCurve_type; } const IfcParse::entity& Ifc4x3_rc4::IfcTrimmedCurve::Class() { return *IFC4X3_RC4_IfcTrimmedCurve_type; } Ifc4x3_rc4::IfcTrimmedCurve::IfcTrimmedCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcTrimmedCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3_rc4::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_rc4::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x3_rc4::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc4::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTrimmedCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Trim1));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Trim2));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SenseAgreement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_MasterRepresentation,::Ifc4x3_rc4::IfcTrimmingPreference::ToString(v5_MasterRepresentation))));data_->setArgument(4,attr);} } +Ifc4x3_rc4::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3_rc4::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_rc4::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x3_rc4::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc4::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTrimmedCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Trim1)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Trim2)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SenseAgreement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_MasterRepresentation,::Ifc4x3_rc4::IfcTrimmingPreference::ToString(v5_MasterRepresentation))));data_->setArgument(4,attr);} } // Function implementations for IfcTubeBundle boost::optional< ::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Value > Ifc4x3_rc4::IfcTubeBundle::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcTubeBundleTypeEnum::FromString(*data_->getArgument(8)); } @@ -23117,14 +23117,14 @@ Ifc4x3_rc4::IfcUShapeProfileDef::IfcUShapeProfileDef(IfcEntityInstanceData* e) : Ifc4x3_rc4::IfcUShapeProfileDef::IfcUShapeProfileDef(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::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((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcUShapeProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4x3_rc4::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_FlangeWidth));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_WebThickness));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_FlangeThickness));data_->setArgument(6,attr);} if (v8_FilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_FilletRadius));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_EdgeRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_EdgeRadius));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_FlangeSlope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_FlangeSlope));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcUnitAssignment -aggregate_of< ::Ifc4x3_rc4::IfcUnit >::ptr Ifc4x3_rc4::IfcUnitAssignment::Units() const { aggregate_of< ::Ifc4x3_rc4::IfcUnit >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc4::IfcUnitAssignment::setUnits(aggregate_of< ::Ifc4x3_rc4::IfcUnit >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcUnit >::ptr Ifc4x3_rc4::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc4::IfcUnit >(); } +void Ifc4x3_rc4::IfcUnitAssignment::setUnits(aggregate_of< ::Ifc4x3_rc4::IfcUnit >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcUnitAssignment::declaration() const { return *IFC4X3_RC4_IfcUnitAssignment_type; } const IfcParse::entity& Ifc4x3_rc4::IfcUnitAssignment::Class() { return *IFC4X3_RC4_IfcUnitAssignment_type; } Ifc4x3_rc4::IfcUnitAssignment::IfcUnitAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC4_IfcUnitAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4x3_rc4::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcUnitAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Units));data_->setArgument(0,attr);} } +Ifc4x3_rc4::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4x3_rc4::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcUnitAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Units)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcUnitaryControlElement boost::optional< ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Value > Ifc4x3_rc4::IfcUnitaryControlElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::FromString(*data_->getArgument(8)); } diff --git a/src/ifcparse/Ifc4x3_tc1.cpp b/src/ifcparse/Ifc4x3_tc1.cpp index 933e058c0c..d40ed946a9 100644 --- a/src/ifcparse/Ifc4x3_tc1.cpp +++ b/src/ifcparse/Ifc4x3_tc1.cpp @@ -15560,8 +15560,8 @@ boost::optional< std::string > Ifc4x3_tc1::IfcDocumentInformation::Revision() co void Ifc4x3_tc1::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3_tc1::IfcActorSelect* Ifc4x3_tc1::IfcDocumentInformation::DocumentOwner() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_tc1::IfcActorSelect>(true); } void Ifc4x3_tc1::IfcDocumentInformation::setDocumentOwner(::Ifc4x3_tc1::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcActorSelect >::ptr > Ifc4x3_tc1::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_tc1::IfcActorSelect >::ptr v = *data_->getArgument(9); return v; } -void Ifc4x3_tc1::IfcDocumentInformation::setEditors(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcActorSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcActorSelect >::ptr > Ifc4x3_tc1::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc4x3_tc1::IfcActorSelect >(); } +void Ifc4x3_tc1::IfcDocumentInformation::setEditors(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcActorSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_tc1::IfcDocumentInformation::CreationTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } void Ifc4x3_tc1::IfcDocumentInformation::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4x3_tc1::IfcDocumentInformation::LastRevisionTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } @@ -15585,7 +15585,7 @@ void Ifc4x3_tc1::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x3_tc1 const IfcParse::entity& Ifc4x3_tc1::IfcDocumentInformation::declaration() const { return *IFC4X3_TC1_IfcDocumentInformation_type; } const IfcParse::entity& Ifc4x3_tc1::IfcDocumentInformation::Class() { return *IFC4X3_TC1_IfcDocumentInformation_type; } Ifc4x3_tc1::IfcDocumentInformation::IfcDocumentInformation(IfcEntityInstanceData* e) : IfcExternalInformation((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcDocumentInformation_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::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, ::Ifc4x3_tc1::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcActorSelect >::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< ::Ifc4x3_tc1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_tc1::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Identification));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Location));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CreationTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LastRevisionTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LastRevisionTime));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ElectronicFormat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ElectronicFormat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ValidFrom) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ValidFrom));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ValidUntil) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ValidUntil));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc4x3_tc1::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc4x3_tc1::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } +Ifc4x3_tc1::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, ::Ifc4x3_tc1::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcActorSelect >::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< ::Ifc4x3_tc1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_tc1::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Identification));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Location));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CreationTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LastRevisionTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LastRevisionTime));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ElectronicFormat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ElectronicFormat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ValidFrom) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ValidFrom));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ValidUntil) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ValidUntil));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc4x3_tc1::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc4x3_tc1::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } // Function implementations for IfcDocumentInformationRelationship ::Ifc4x3_tc1::IfcDocumentInformation* Ifc4x3_tc1::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_tc1::IfcDocumentInformation>(true); } @@ -16256,14 +16256,14 @@ Ifc4x3_tc1::IfcExternalReference::IfcExternalReference(boost::optional< std::str // Function implementations for IfcExternalReferenceRelationship ::Ifc4x3_tc1::IfcExternalReference* Ifc4x3_tc1::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_tc1::IfcExternalReference>(true); } void Ifc4x3_tc1::IfcExternalReferenceRelationship::setRelatingReference(::Ifc4x3_tc1::IfcExternalReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr Ifc4x3_tc1::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr v = *data_->getArgument(3); return v; } -void Ifc4x3_tc1::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr Ifc4x3_tc1::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_tc1::IfcResourceObjectSelect >(); } +void Ifc4x3_tc1::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_tc1::IfcExternalReferenceRelationship::declaration() const { return *IFC4X3_TC1_IfcExternalReferenceRelationship_type; } const IfcParse::entity& Ifc4x3_tc1::IfcExternalReferenceRelationship::Class() { return *IFC4X3_TC1_IfcExternalReferenceRelationship_type; } Ifc4x3_tc1::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcExternalReferenceRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcExternalReferenceRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingReference));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } +Ifc4x3_tc1::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcExternalReferenceRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingReference));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcExternalSpatialElement boost::optional< ::Ifc4x3_tc1::IfcExternalSpatialElementTypeEnum::Value > Ifc4x3_tc1::IfcExternalSpatialElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcExternalSpatialElementTypeEnum::FromString(*data_->getArgument(8)); } @@ -16516,8 +16516,8 @@ Ifc4x3_tc1::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcEntity Ifc4x3_tc1::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcFeatureElementSubtraction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcFillAreaStyle -aggregate_of< ::Ifc4x3_tc1::IfcFillStyleSelect >::ptr Ifc4x3_tc1::IfcFillAreaStyle::FillStyles() const { aggregate_of< ::Ifc4x3_tc1::IfcFillStyleSelect >::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_tc1::IfcFillAreaStyle::setFillStyles(aggregate_of< ::Ifc4x3_tc1::IfcFillStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_tc1::IfcFillStyleSelect >::ptr Ifc4x3_tc1::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_tc1::IfcFillStyleSelect >(); } +void Ifc4x3_tc1::IfcFillAreaStyle::setFillStyles(aggregate_of< ::Ifc4x3_tc1::IfcFillStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x3_tc1::IfcFillAreaStyle::ModelOrDraughting() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } void Ifc4x3_tc1::IfcFillAreaStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } @@ -16525,7 +16525,7 @@ void Ifc4x3_tc1::IfcFillAreaStyle::setModelOrDraughting(boost::optional< bool > const IfcParse::entity& Ifc4x3_tc1::IfcFillAreaStyle::declaration() const { return *IFC4X3_TC1_IfcFillAreaStyle_type; } const IfcParse::entity& Ifc4x3_tc1::IfcFillAreaStyle::Class() { return *IFC4X3_TC1_IfcFillAreaStyle_type; } Ifc4x3_tc1::IfcFillAreaStyle::IfcFillAreaStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcFillAreaStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_tc1::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles));data_->setArgument(1,attr);} if (v3_ModelOrDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ModelOrDraughting));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x3_tc1::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_tc1::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles)->generalize());data_->setArgument(1,attr);} if (v3_ModelOrDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ModelOrDraughting));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcFillAreaStyleHatching ::Ifc4x3_tc1::IfcCurveStyle* Ifc4x3_tc1::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_tc1::IfcCurveStyle>(true); } @@ -16845,7 +16845,7 @@ Ifc4x3_tc1::IfcGeographicElementType::IfcGeographicElementType(std::string v1_Gl const IfcParse::entity& Ifc4x3_tc1::IfcGeometricCurveSet::declaration() const { return *IFC4X3_TC1_IfcGeometricCurveSet_type; } const IfcParse::entity& Ifc4x3_tc1::IfcGeometricCurveSet::Class() { return *IFC4X3_TC1_IfcGeometricCurveSet_type; } Ifc4x3_tc1::IfcGeometricCurveSet::IfcGeometricCurveSet(IfcEntityInstanceData* e) : IfcGeometricSet((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcGeometricCurveSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4x3_tc1::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcGeometricCurveSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } +Ifc4x3_tc1::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4x3_tc1::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcGeometricCurveSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcGeometricRepresentationContext int Ifc4x3_tc1::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = *data_->getArgument(2); return v; } @@ -16890,14 +16890,14 @@ Ifc4x3_tc1::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubC Ifc4x3_tc1::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, ::Ifc4x3_tc1::IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, ::Ifc4x3_tc1::IfcGeometricProjectionEnum::Value v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcGeometricRepresentationSubContext_type); if (v1_ContextIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_ContextIdentifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_ContextType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ContextType));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ParentContext));data_->setArgument(6,attr);} if (v8_TargetScale) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_TargetScale));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_TargetView,::Ifc4x3_tc1::IfcGeometricProjectionEnum::ToString(v9_TargetView))));data_->setArgument(8,attr);} if (v10_UserDefinedTargetView) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_UserDefinedTargetView));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcGeometricSet -aggregate_of< ::Ifc4x3_tc1::IfcGeometricSetSelect >::ptr Ifc4x3_tc1::IfcGeometricSet::Elements() const { aggregate_of< ::Ifc4x3_tc1::IfcGeometricSetSelect >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_tc1::IfcGeometricSet::setElements(aggregate_of< ::Ifc4x3_tc1::IfcGeometricSetSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_tc1::IfcGeometricSetSelect >::ptr Ifc4x3_tc1::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_tc1::IfcGeometricSetSelect >(); } +void Ifc4x3_tc1::IfcGeometricSet::setElements(aggregate_of< ::Ifc4x3_tc1::IfcGeometricSetSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_tc1::IfcGeometricSet::declaration() const { return *IFC4X3_TC1_IfcGeometricSet_type; } const IfcParse::entity& Ifc4x3_tc1::IfcGeometricSet::Class() { return *IFC4X3_TC1_IfcGeometricSet_type; } Ifc4x3_tc1::IfcGeometricSet::IfcGeometricSet(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcGeometricSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x3_tc1::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcGeometricSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } +Ifc4x3_tc1::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x3_tc1::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcGeometricSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcGeomodel @@ -17132,8 +17132,8 @@ Ifc4x3_tc1::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4x3_tc1::IfcTessellate // Function implementations for IfcIndexedPolyCurve ::Ifc4x3_tc1::IfcCartesianPointList* Ifc4x3_tc1::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_tc1::IfcCartesianPointList>(true); } void Ifc4x3_tc1::IfcIndexedPolyCurve::setPoints(::Ifc4x3_tc1::IfcCartesianPointList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcSegmentIndexSelect >::ptr > Ifc4x3_tc1::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_tc1::IfcSegmentIndexSelect >::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_tc1::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcSegmentIndexSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcSegmentIndexSelect >::ptr > Ifc4x3_tc1::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_tc1::IfcSegmentIndexSelect >(); } +void Ifc4x3_tc1::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcSegmentIndexSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x3_tc1::IfcIndexedPolyCurve::SelfIntersect() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } void Ifc4x3_tc1::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } @@ -17141,7 +17141,7 @@ void Ifc4x3_tc1::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v const IfcParse::entity& Ifc4x3_tc1::IfcIndexedPolyCurve::declaration() const { return *IFC4X3_TC1_IfcIndexedPolyCurve_type; } const IfcParse::entity& Ifc4x3_tc1::IfcIndexedPolyCurve::Class() { return *IFC4X3_TC1_IfcIndexedPolyCurve_type; } Ifc4x3_tc1::IfcIndexedPolyCurve::IfcIndexedPolyCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcIndexedPolyCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x3_tc1::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcIndexedPolyCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Points));data_->setArgument(0,attr);} if (v2_Segments) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Segments));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_SelfIntersect) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_SelfIntersect));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x3_tc1::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x3_tc1::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcIndexedPolyCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Points));data_->setArgument(0,attr);} if (v2_Segments) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Segments)->generalize());data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_SelfIntersect) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_SelfIntersect));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcIndexedPolygonalFace std::vector< int > /*[3:?]*/ Ifc4x3_tc1::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = *data_->getArgument(0); return v; } @@ -17258,14 +17258,14 @@ Ifc4x3_tc1::IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, // Function implementations for IfcIrregularTimeSeriesValue std::string Ifc4x3_tc1::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_tc1::IfcIrregularTimeSeriesValue::setTimeStamp(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr Ifc4x3_tc1::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_tc1::IfcIrregularTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr Ifc4x3_tc1::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_tc1::IfcValue >(); } +void Ifc4x3_tc1::IfcIrregularTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_tc1::IfcIrregularTimeSeriesValue::declaration() const { return *IFC4X3_TC1_IfcIrregularTimeSeriesValue_type; } const IfcParse::entity& Ifc4x3_tc1::IfcIrregularTimeSeriesValue::Class() { return *IFC4X3_TC1_IfcIrregularTimeSeriesValue_type; } Ifc4x3_tc1::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_TC1_IfcIrregularTimeSeriesValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcIrregularTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TimeStamp));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ListValues));data_->setArgument(1,attr);} } +Ifc4x3_tc1::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcIrregularTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TimeStamp));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ListValues)->generalize());data_->setArgument(1,attr);} } // Function implementations for IfcJunctionBox boost::optional< ::Ifc4x3_tc1::IfcJunctionBoxTypeEnum::Value > Ifc4x3_tc1::IfcJunctionBox::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcJunctionBoxTypeEnum::FromString(*data_->getArgument(8)); } @@ -17712,8 +17712,8 @@ Ifc4x3_tc1::IfcMaterial::IfcMaterial(IfcEntityInstanceData* e) : IfcMaterialDefi Ifc4x3_tc1::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_Category) : IfcMaterialDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Category) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Category));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcMaterialClassificationRelationship -aggregate_of< ::Ifc4x3_tc1::IfcClassificationSelect >::ptr Ifc4x3_tc1::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of< ::Ifc4x3_tc1::IfcClassificationSelect >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_tc1::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of< ::Ifc4x3_tc1::IfcClassificationSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_tc1::IfcClassificationSelect >::ptr Ifc4x3_tc1::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_tc1::IfcClassificationSelect >(); } +void Ifc4x3_tc1::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of< ::Ifc4x3_tc1::IfcClassificationSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } ::Ifc4x3_tc1::IfcMaterial* Ifc4x3_tc1::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_tc1::IfcMaterial>(true); } void Ifc4x3_tc1::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc4x3_tc1::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -17721,7 +17721,7 @@ void Ifc4x3_tc1::IfcMaterialClassificationRelationship::setClassifiedMaterial(:: const IfcParse::entity& Ifc4x3_tc1::IfcMaterialClassificationRelationship::declaration() const { return *IFC4X3_TC1_IfcMaterialClassificationRelationship_type; } const IfcParse::entity& Ifc4x3_tc1::IfcMaterialClassificationRelationship::Class() { return *IFC4X3_TC1_IfcMaterialClassificationRelationship_type; } Ifc4x3_tc1::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_TC1_IfcMaterialClassificationRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4x3_tc1::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x3_tc1::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcMaterialClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialClassifications));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ClassifiedMaterial));data_->setArgument(1,attr);} } +Ifc4x3_tc1::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4x3_tc1::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x3_tc1::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcMaterialClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialClassifications)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ClassifiedMaterial));data_->setArgument(1,attr);} } // Function implementations for IfcMaterialConstituent boost::optional< std::string > Ifc4x3_tc1::IfcMaterialConstituent::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -18948,8 +18948,8 @@ std::string Ifc4x3_tc1::IfcPresentationLayerAssignment::Name() const { std::str void Ifc4x3_tc1::IfcPresentationLayerAssignment::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_tc1::IfcPresentationLayerAssignment::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x3_tc1::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } -aggregate_of< ::Ifc4x3_tc1::IfcLayeredItem >::ptr Ifc4x3_tc1::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of< ::Ifc4x3_tc1::IfcLayeredItem >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_tc1::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of< ::Ifc4x3_tc1::IfcLayeredItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_tc1::IfcLayeredItem >::ptr Ifc4x3_tc1::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_tc1::IfcLayeredItem >(); } +void Ifc4x3_tc1::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of< ::Ifc4x3_tc1::IfcLayeredItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_tc1::IfcPresentationLayerAssignment::Identifier() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4x3_tc1::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } @@ -18957,7 +18957,7 @@ void Ifc4x3_tc1::IfcPresentationLayerAssignment::setIdentifier(boost::optional< const IfcParse::entity& Ifc4x3_tc1::IfcPresentationLayerAssignment::declaration() const { return *IFC4X3_TC1_IfcPresentationLayerAssignment_type; } const IfcParse::entity& Ifc4x3_tc1::IfcPresentationLayerAssignment::Class() { return *IFC4X3_TC1_IfcPresentationLayerAssignment_type; } Ifc4x3_tc1::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_TC1_IfcPresentationLayerAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_tc1::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcPresentationLayerAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } +Ifc4x3_tc1::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_tc1::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcPresentationLayerAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems)->generalize());data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcPresentationLayerWithStyle boost::logic::tribool Ifc4x3_tc1::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = *data_->getArgument(4); return v; } @@ -18973,7 +18973,7 @@ void Ifc4x3_tc1::IfcPresentationLayerWithStyle::setLayerStyles(aggregate_of< ::I const IfcParse::entity& Ifc4x3_tc1::IfcPresentationLayerWithStyle::declaration() const { return *IFC4X3_TC1_IfcPresentationLayerWithStyle_type; } const IfcParse::entity& Ifc4x3_tc1::IfcPresentationLayerWithStyle::Class() { return *IFC4X3_TC1_IfcPresentationLayerWithStyle_type; } Ifc4x3_tc1::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcEntityInstanceData* e) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcPresentationLayerWithStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_tc1::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_tc1::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcPresentationLayerWithStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_LayerOn));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LayerFrozen));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LayerBlocked));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LayerStyles)->generalize());data_->setArgument(7,attr);} } +Ifc4x3_tc1::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_tc1::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_tc1::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcPresentationLayerWithStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems)->generalize());data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_LayerOn));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LayerFrozen));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LayerBlocked));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LayerStyles)->generalize());data_->setArgument(7,attr);} } // Function implementations for IfcPresentationStyle boost::optional< std::string > Ifc4x3_tc1::IfcPresentationStyle::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -19205,8 +19205,8 @@ Ifc4x3_tc1::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship Ifc4x3_tc1::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcProperty* v3_DependingProperty, ::Ifc4x3_tc1::IfcProperty* v4_DependantProperty, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcPropertyDependencyRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_DependingProperty));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_DependantProperty));data_->setArgument(3,attr);} if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcPropertyEnumeratedValue -boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > Ifc4x3_tc1::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_tc1::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > Ifc4x3_tc1::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_tc1::IfcValue >(); } +void Ifc4x3_tc1::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } ::Ifc4x3_tc1::IfcPropertyEnumeration* Ifc4x3_tc1::IfcPropertyEnumeratedValue::EnumerationReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_tc1::IfcPropertyEnumeration>(true); } void Ifc4x3_tc1::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x3_tc1::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19214,13 +19214,13 @@ void Ifc4x3_tc1::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x3_tc const IfcParse::entity& Ifc4x3_tc1::IfcPropertyEnumeratedValue::declaration() const { return *IFC4X3_TC1_IfcPropertyEnumeratedValue_type; } const IfcParse::entity& Ifc4x3_tc1::IfcPropertyEnumeratedValue::Class() { return *IFC4X3_TC1_IfcPropertyEnumeratedValue_type; } Ifc4x3_tc1::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcPropertyEnumeratedValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x3_tc1::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcPropertyEnumeratedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Specification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Specification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EnumerationValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EnumerationValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EnumerationReference));data_->setArgument(3,attr);} } +Ifc4x3_tc1::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x3_tc1::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcPropertyEnumeratedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Specification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Specification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EnumerationValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EnumerationValues)->generalize());data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EnumerationReference));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyEnumeration std::string Ifc4x3_tc1::IfcPropertyEnumeration::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_tc1::IfcPropertyEnumeration::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr Ifc4x3_tc1::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_tc1::IfcPropertyEnumeration::setEnumerationValues(aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr Ifc4x3_tc1::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_tc1::IfcValue >(); } +void Ifc4x3_tc1::IfcPropertyEnumeration::setEnumerationValues(aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } ::Ifc4x3_tc1::IfcUnit* Ifc4x3_tc1::IfcPropertyEnumeration::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_tc1::IfcUnit>(true); } void Ifc4x3_tc1::IfcPropertyEnumeration::setUnit(::Ifc4x3_tc1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -19228,11 +19228,11 @@ void Ifc4x3_tc1::IfcPropertyEnumeration::setUnit(::Ifc4x3_tc1::IfcUnit* v) { {If const IfcParse::entity& Ifc4x3_tc1::IfcPropertyEnumeration::declaration() const { return *IFC4X3_TC1_IfcPropertyEnumeration_type; } const IfcParse::entity& Ifc4x3_tc1::IfcPropertyEnumeration::Class() { return *IFC4X3_TC1_IfcPropertyEnumeration_type; } Ifc4x3_tc1::IfcPropertyEnumeration::IfcPropertyEnumeration(IfcEntityInstanceData* e) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcPropertyEnumeration_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x3_tc1::IfcUnit* v3_Unit) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcPropertyEnumeration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EnumerationValues));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);} } +Ifc4x3_tc1::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x3_tc1::IfcUnit* v3_Unit) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcPropertyEnumeration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EnumerationValues)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);} } // Function implementations for IfcPropertyListValue -boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > Ifc4x3_tc1::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_tc1::IfcPropertyListValue::setListValues(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > Ifc4x3_tc1::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_tc1::IfcValue >(); } +void Ifc4x3_tc1::IfcPropertyListValue::setListValues(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } ::Ifc4x3_tc1::IfcUnit* Ifc4x3_tc1::IfcPropertyListValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_tc1::IfcUnit>(true); } void Ifc4x3_tc1::IfcPropertyListValue::setUnit(::Ifc4x3_tc1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19240,7 +19240,7 @@ void Ifc4x3_tc1::IfcPropertyListValue::setUnit(::Ifc4x3_tc1::IfcUnit* v) { {IfcW const IfcParse::entity& Ifc4x3_tc1::IfcPropertyListValue::declaration() const { return *IFC4X3_TC1_IfcPropertyListValue_type; } const IfcParse::entity& Ifc4x3_tc1::IfcPropertyListValue::Class() { return *IFC4X3_TC1_IfcPropertyListValue_type; } Ifc4x3_tc1::IfcPropertyListValue::IfcPropertyListValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcPropertyListValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v3_ListValues, ::Ifc4x3_tc1::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcPropertyListValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Specification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Specification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ListValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ListValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } +Ifc4x3_tc1::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v3_ListValues, ::Ifc4x3_tc1::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcPropertyListValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Specification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Specification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ListValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ListValues)->generalize());data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyReferenceValue boost::optional< std::string > Ifc4x3_tc1::IfcPropertyReferenceValue::UsageName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } @@ -19303,10 +19303,10 @@ Ifc4x3_tc1::IfcPropertySingleValue::IfcPropertySingleValue(IfcEntityInstanceData Ifc4x3_tc1::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Specification, ::Ifc4x3_tc1::IfcValue* v3_NominalValue, ::Ifc4x3_tc1::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcPropertySingleValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Specification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Specification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_NominalValue));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyTableValue -boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > Ifc4x3_tc1::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_tc1::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } -boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > Ifc4x3_tc1::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v = *data_->getArgument(3); return v; } -void Ifc4x3_tc1::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > Ifc4x3_tc1::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_tc1::IfcValue >(); } +void Ifc4x3_tc1::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > Ifc4x3_tc1::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_tc1::IfcValue >(); } +void Ifc4x3_tc1::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_tc1::IfcPropertyTableValue::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x3_tc1::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x3_tc1::IfcUnit* Ifc4x3_tc1::IfcPropertyTableValue::DefiningUnit() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_tc1::IfcUnit>(true); } @@ -19320,7 +19320,7 @@ void Ifc4x3_tc1::IfcPropertyTableValue::setCurveInterpolation(boost::optional< : const IfcParse::entity& Ifc4x3_tc1::IfcPropertyTableValue::declaration() const { return *IFC4X3_TC1_IfcPropertyTableValue_type; } const IfcParse::entity& Ifc4x3_tc1::IfcPropertyTableValue::Class() { return *IFC4X3_TC1_IfcPropertyTableValue_type; } Ifc4x3_tc1::IfcPropertyTableValue::IfcPropertyTableValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcPropertyTableValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_tc1::IfcUnit* v6_DefiningUnit, ::Ifc4x3_tc1::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_tc1::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcPropertyTableValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Specification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Specification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_DefiningValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_DefiningValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DefinedValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DefinedValues));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_DefiningUnit));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_DefinedUnit));data_->setArgument(6,attr);} if (v8_CurveInterpolation) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_CurveInterpolation,::Ifc4x3_tc1::IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } +Ifc4x3_tc1::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_tc1::IfcUnit* v6_DefiningUnit, ::Ifc4x3_tc1::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_tc1::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcPropertyTableValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Specification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Specification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_DefiningValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_DefiningValues)->generalize());data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DefinedValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DefinedValues)->generalize());data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_DefiningUnit));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_DefinedUnit));data_->setArgument(6,attr);} if (v8_CurveInterpolation) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_CurveInterpolation,::Ifc4x3_tc1::IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcPropertyTemplate @@ -19811,14 +19811,14 @@ boost::optional< ::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_tc1: void Ifc4x3_tc1::IfcReinforcingBarType::setBarSurface(boost::optional< ::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::ToString(*v)));}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4x3_tc1::IfcReinforcingBarType::BendingShapeCode() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } void Ifc4x3_tc1::IfcReinforcingBarType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } -boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcBendingParameterSelect >::ptr > Ifc4x3_tc1::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_tc1::IfcBendingParameterSelect >::ptr v = *data_->getArgument(15); return v; } -void Ifc4x3_tc1::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcBendingParameterSelect >::ptr > Ifc4x3_tc1::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(15); return es->as< ::Ifc4x3_tc1::IfcBendingParameterSelect >(); } +void Ifc4x3_tc1::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(15,attr);} } const IfcParse::entity& Ifc4x3_tc1::IfcReinforcingBarType::declaration() const { return *IFC4X3_TC1_IfcReinforcingBarType_type; } const IfcParse::entity& Ifc4x3_tc1::IfcReinforcingBarType::Class() { return *IFC4X3_TC1_IfcReinforcingBarType_type; } Ifc4x3_tc1::IfcReinforcingBarType::IfcReinforcingBarType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcReinforcingBarType_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcReinforcingBarType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_tc1::IfcReinforcingBarTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_BarLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_BarLength));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_BarSurface) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_BarSurface,::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_BendingShapeCode));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_BendingParameters));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } } +Ifc4x3_tc1::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcReinforcingBarType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_tc1::IfcReinforcingBarTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_BarLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_BarLength));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_BarSurface) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_BarSurface,::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_BendingShapeCode));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_BendingParameters)->generalize());data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } } // Function implementations for IfcReinforcingElement boost::optional< std::string > Ifc4x3_tc1::IfcReinforcingElement::SteelGrade() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } @@ -19885,14 +19885,14 @@ boost::optional< double > Ifc4x3_tc1::IfcReinforcingMeshType::TransverseBarSpaci void Ifc4x3_tc1::IfcReinforcingMeshType::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(17,attr);} } boost::optional< std::string > Ifc4x3_tc1::IfcReinforcingMeshType::BendingShapeCode() const { if(!data_->getArgument(18) || data_->getArgument(18)->isNull()) { return boost::none; } std::string v = *data_->getArgument(18); return v; } void Ifc4x3_tc1::IfcReinforcingMeshType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(18,attr);} } -boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcBendingParameterSelect >::ptr > Ifc4x3_tc1::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_tc1::IfcBendingParameterSelect >::ptr v = *data_->getArgument(19); return v; } -void Ifc4x3_tc1::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(19,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcBendingParameterSelect >::ptr > Ifc4x3_tc1::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(19); return es->as< ::Ifc4x3_tc1::IfcBendingParameterSelect >(); } +void Ifc4x3_tc1::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(19,attr);} } const IfcParse::entity& Ifc4x3_tc1::IfcReinforcingMeshType::declaration() const { return *IFC4X3_TC1_IfcReinforcingMeshType_type; } const IfcParse::entity& Ifc4x3_tc1::IfcReinforcingMeshType::Class() { return *IFC4X3_TC1_IfcReinforcingMeshType_type; } Ifc4x3_tc1::IfcReinforcingMeshType::IfcReinforcingMeshType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcReinforcingMeshType_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of< ::Ifc4x3_tc1::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcReinforcingMeshType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshLength));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_MeshWidth));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LongitudinalBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TransverseBarNominalDiameter));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LongitudinalBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_TransverseBarCrossSectionArea));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LongitudinalBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_TransverseBarSpacing));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_BendingShapeCode));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_BendingParameters));data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } +Ifc4x3_tc1::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of< ::Ifc4x3_tc1::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcReinforcingMeshType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshLength));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_MeshWidth));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LongitudinalBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TransverseBarNominalDiameter));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LongitudinalBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_TransverseBarCrossSectionArea));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LongitudinalBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_TransverseBarSpacing));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_BendingShapeCode));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_BendingParameters)->generalize());data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } // Function implementations for IfcRelAdheresToElement ::Ifc4x3_tc1::IfcElement* Ifc4x3_tc1::IfcRelAdheresToElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_tc1::IfcElement>(true); } @@ -20005,14 +20005,14 @@ Ifc4x3_tc1::IfcRelAssignsToResource::IfcRelAssignsToResource(IfcEntityInstanceDa Ifc4x3_tc1::IfcRelAssignsToResource::IfcRelAssignsToResource(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_tc1::IfcResourceSelect* v7_RelatingResource) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcRelAssignsToResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_RelatedObjectsType));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingResource));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociates -aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr Ifc4x3_tc1::IfcRelAssociates::RelatedObjects() const { aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v = *data_->getArgument(4); return v; } -void Ifc4x3_tc1::IfcRelAssociates::setRelatedObjects(aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr Ifc4x3_tc1::IfcRelAssociates::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_tc1::IfcDefinitionSelect >(); } +void Ifc4x3_tc1::IfcRelAssociates::setRelatedObjects(aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssociates::declaration() const { return *IFC4X3_TC1_IfcRelAssociates_type; } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssociates::Class() { return *IFC4X3_TC1_IfcRelAssociates_type; } Ifc4x3_tc1::IfcRelAssociates::IfcRelAssociates(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcRelAssociates_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} } +Ifc4x3_tc1::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} } // Function implementations for IfcRelAssociatesApproval ::Ifc4x3_tc1::IfcApproval* Ifc4x3_tc1::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_tc1::IfcApproval>(true); } @@ -20022,7 +20022,7 @@ void Ifc4x3_tc1::IfcRelAssociatesApproval::setRelatingApproval(::Ifc4x3_tc1::Ifc const IfcParse::entity& Ifc4x3_tc1::IfcRelAssociatesApproval::declaration() const { return *IFC4X3_TC1_IfcRelAssociatesApproval_type; } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssociatesApproval::Class() { return *IFC4X3_TC1_IfcRelAssociatesApproval_type; } Ifc4x3_tc1::IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcRelAssociatesApproval_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } +Ifc4x3_tc1::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesClassification ::Ifc4x3_tc1::IfcClassificationSelect* Ifc4x3_tc1::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_tc1::IfcClassificationSelect>(true); } @@ -20032,7 +20032,7 @@ void Ifc4x3_tc1::IfcRelAssociatesClassification::setRelatingClassification(::Ifc const IfcParse::entity& Ifc4x3_tc1::IfcRelAssociatesClassification::declaration() const { return *IFC4X3_TC1_IfcRelAssociatesClassification_type; } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssociatesClassification::Class() { return *IFC4X3_TC1_IfcRelAssociatesClassification_type; } Ifc4x3_tc1::IfcRelAssociatesClassification::IfcRelAssociatesClassification(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcRelAssociatesClassification_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcRelAssociatesClassification_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingClassification));data_->setArgument(5,attr);} } +Ifc4x3_tc1::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcRelAssociatesClassification_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingClassification));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesConstraint boost::optional< std::string > Ifc4x3_tc1::IfcRelAssociatesConstraint::Intent() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } @@ -20044,7 +20044,7 @@ void Ifc4x3_tc1::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc4x3_tc1: const IfcParse::entity& Ifc4x3_tc1::IfcRelAssociatesConstraint::declaration() const { return *IFC4X3_TC1_IfcRelAssociatesConstraint_type; } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssociatesConstraint::Class() { return *IFC4X3_TC1_IfcRelAssociatesConstraint_type; } Ifc4x3_tc1::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcRelAssociatesConstraint_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_tc1::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} if (v6_Intent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Intent));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } +Ifc4x3_tc1::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_tc1::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_Intent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Intent));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociatesDocument ::Ifc4x3_tc1::IfcDocumentSelect* Ifc4x3_tc1::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_tc1::IfcDocumentSelect>(true); } @@ -20054,7 +20054,7 @@ void Ifc4x3_tc1::IfcRelAssociatesDocument::setRelatingDocument(::Ifc4x3_tc1::Ifc const IfcParse::entity& Ifc4x3_tc1::IfcRelAssociatesDocument::declaration() const { return *IFC4X3_TC1_IfcRelAssociatesDocument_type; } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssociatesDocument::Class() { return *IFC4X3_TC1_IfcRelAssociatesDocument_type; } Ifc4x3_tc1::IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcRelAssociatesDocument_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } +Ifc4x3_tc1::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesLibrary ::Ifc4x3_tc1::IfcLibrarySelect* Ifc4x3_tc1::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_tc1::IfcLibrarySelect>(true); } @@ -20064,7 +20064,7 @@ void Ifc4x3_tc1::IfcRelAssociatesLibrary::setRelatingLibrary(::Ifc4x3_tc1::IfcLi const IfcParse::entity& Ifc4x3_tc1::IfcRelAssociatesLibrary::declaration() const { return *IFC4X3_TC1_IfcRelAssociatesLibrary_type; } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssociatesLibrary::Class() { return *IFC4X3_TC1_IfcRelAssociatesLibrary_type; } Ifc4x3_tc1::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcRelAssociatesLibrary_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } +Ifc4x3_tc1::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesMaterial ::Ifc4x3_tc1::IfcMaterialSelect* Ifc4x3_tc1::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_tc1::IfcMaterialSelect>(true); } @@ -20074,7 +20074,7 @@ void Ifc4x3_tc1::IfcRelAssociatesMaterial::setRelatingMaterial(::Ifc4x3_tc1::Ifc const IfcParse::entity& Ifc4x3_tc1::IfcRelAssociatesMaterial::declaration() const { return *IFC4X3_TC1_IfcRelAssociatesMaterial_type; } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssociatesMaterial::Class() { return *IFC4X3_TC1_IfcRelAssociatesMaterial_type; } Ifc4x3_tc1::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcRelAssociatesMaterial_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcRelAssociatesMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingMaterial));data_->setArgument(5,attr);} } +Ifc4x3_tc1::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcRelAssociatesMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingMaterial));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesProfileDef ::Ifc4x3_tc1::IfcProfileDef* Ifc4x3_tc1::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_tc1::IfcProfileDef>(true); } @@ -20084,7 +20084,7 @@ void Ifc4x3_tc1::IfcRelAssociatesProfileDef::setRelatingProfileDef(::Ifc4x3_tc1: const IfcParse::entity& Ifc4x3_tc1::IfcRelAssociatesProfileDef::declaration() const { return *IFC4X3_TC1_IfcRelAssociatesProfileDef_type; } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssociatesProfileDef::Class() { return *IFC4X3_TC1_IfcRelAssociatesProfileDef_type; } Ifc4x3_tc1::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcRelAssociatesProfileDef_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcProfileDef* v6_RelatingProfileDef) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcRelAssociatesProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingProfileDef));data_->setArgument(5,attr);} } +Ifc4x3_tc1::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcProfileDef* v6_RelatingProfileDef) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcRelAssociatesProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingProfileDef));data_->setArgument(5,attr);} } // Function implementations for IfcRelConnects @@ -20243,14 +20243,14 @@ Ifc4x3_tc1::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::If // Function implementations for IfcRelDeclares ::Ifc4x3_tc1::IfcContext* Ifc4x3_tc1::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_tc1::IfcContext>(true); } void Ifc4x3_tc1::IfcRelDeclares::setRelatingContext(::Ifc4x3_tc1::IfcContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr Ifc4x3_tc1::IfcRelDeclares::RelatedDefinitions() const { aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v = *data_->getArgument(5); return v; } -void Ifc4x3_tc1::IfcRelDeclares::setRelatedDefinitions(aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } +aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr Ifc4x3_tc1::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_tc1::IfcDefinitionSelect >(); } +void Ifc4x3_tc1::IfcRelDeclares::setRelatedDefinitions(aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_tc1::IfcRelDeclares::declaration() const { return *IFC4X3_TC1_IfcRelDeclares_type; } const IfcParse::entity& Ifc4x3_tc1::IfcRelDeclares::Class() { return *IFC4X3_TC1_IfcRelDeclares_type; } Ifc4x3_tc1::IfcRelDeclares::IfcRelDeclares(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcRelDeclares_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcRelDeclares_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingContext));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedDefinitions));data_->setArgument(5,attr);} } +Ifc4x3_tc1::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcRelDeclares_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingContext));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedDefinitions)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelDecomposes @@ -20397,8 +20397,8 @@ Ifc4x3_tc1::IfcRelProjectsElement::IfcRelProjectsElement(IfcEntityInstanceData* Ifc4x3_tc1::IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcElement* v5_RelatingElement, ::Ifc4x3_tc1::IfcFeatureElementAddition* v6_RelatedFeatureElement) : IfcRelDecomposes((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcRelProjectsElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedFeatureElement));data_->setArgument(5,attr);} } // Function implementations for IfcRelReferencedInSpatialStructure -aggregate_of< ::Ifc4x3_tc1::IfcSpatialReferenceSelect >::ptr Ifc4x3_tc1::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of< ::Ifc4x3_tc1::IfcSpatialReferenceSelect >::ptr v = *data_->getArgument(4); return v; } -void Ifc4x3_tc1::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4x3_tc1::IfcSpatialReferenceSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +aggregate_of< ::Ifc4x3_tc1::IfcSpatialReferenceSelect >::ptr Ifc4x3_tc1::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_tc1::IfcSpatialReferenceSelect >(); } +void Ifc4x3_tc1::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4x3_tc1::IfcSpatialReferenceSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } ::Ifc4x3_tc1::IfcSpatialElement* Ifc4x3_tc1::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_tc1::IfcSpatialElement>(true); } void Ifc4x3_tc1::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc4x3_tc1::IfcSpatialElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20406,7 +20406,7 @@ void Ifc4x3_tc1::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc4 const IfcParse::entity& Ifc4x3_tc1::IfcRelReferencedInSpatialStructure::declaration() const { return *IFC4X3_TC1_IfcRelReferencedInSpatialStructure_type; } const IfcParse::entity& Ifc4x3_tc1::IfcRelReferencedInSpatialStructure::Class() { return *IFC4X3_TC1_IfcRelReferencedInSpatialStructure_type; } Ifc4x3_tc1::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(IfcEntityInstanceData* e) : IfcRelConnects((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcRelReferencedInSpatialStructure_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcSpatialReferenceSelect >::ptr v5_RelatedElements, ::Ifc4x3_tc1::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcRelReferencedInSpatialStructure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedElements));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingStructure));data_->setArgument(5,attr);} } +Ifc4x3_tc1::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcSpatialReferenceSelect >::ptr v5_RelatedElements, ::Ifc4x3_tc1::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcRelReferencedInSpatialStructure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedElements)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingStructure));data_->setArgument(5,attr);} } // Function implementations for IfcRelSequence ::Ifc4x3_tc1::IfcProcess* Ifc4x3_tc1::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_tc1::IfcProcess>(true); } @@ -20578,8 +20578,8 @@ Ifc4x3_tc1::IfcResource::IfcResource(IfcEntityInstanceData* e) : IfcObject((IfcE Ifc4x3_tc1::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc4x3_tc1::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((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_LongDescription));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcResourceApprovalRelationship -aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr Ifc4x3_tc1::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_tc1::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr Ifc4x3_tc1::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_tc1::IfcResourceObjectSelect >(); } +void Ifc4x3_tc1::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } ::Ifc4x3_tc1::IfcApproval* Ifc4x3_tc1::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_tc1::IfcApproval>(true); } void Ifc4x3_tc1::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x3_tc1::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -20587,19 +20587,19 @@ void Ifc4x3_tc1::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x3_t const IfcParse::entity& Ifc4x3_tc1::IfcResourceApprovalRelationship::declaration() const { return *IFC4X3_TC1_IfcResourceApprovalRelationship_type; } const IfcParse::entity& Ifc4x3_tc1::IfcResourceApprovalRelationship::Class() { return *IFC4X3_TC1_IfcResourceApprovalRelationship_type; } Ifc4x3_tc1::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcResourceApprovalRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x3_tc1::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcResourceApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatedResourceObjects));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatingApproval));data_->setArgument(3,attr);} } +Ifc4x3_tc1::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x3_tc1::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcResourceApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatedResourceObjects)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatingApproval));data_->setArgument(3,attr);} } // Function implementations for IfcResourceConstraintRelationship ::Ifc4x3_tc1::IfcConstraint* Ifc4x3_tc1::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_tc1::IfcConstraint>(true); } void Ifc4x3_tc1::IfcResourceConstraintRelationship::setRelatingConstraint(::Ifc4x3_tc1::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr Ifc4x3_tc1::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr v = *data_->getArgument(3); return v; } -void Ifc4x3_tc1::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr Ifc4x3_tc1::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_tc1::IfcResourceObjectSelect >(); } +void Ifc4x3_tc1::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_tc1::IfcResourceConstraintRelationship::declaration() const { return *IFC4X3_TC1_IfcResourceConstraintRelationship_type; } const IfcParse::entity& Ifc4x3_tc1::IfcResourceConstraintRelationship::Class() { return *IFC4X3_TC1_IfcResourceConstraintRelationship_type; } Ifc4x3_tc1::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcResourceConstraintRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcResourceConstraintRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingConstraint));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } +Ifc4x3_tc1::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcResourceConstraintRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingConstraint));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcResourceLevelRelationship boost::optional< std::string > Ifc4x3_tc1::IfcResourceLevelRelationship::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -21039,14 +21039,14 @@ Ifc4x3_tc1::IfcShapeRepresentation::IfcShapeRepresentation(IfcEntityInstanceData Ifc4x3_tc1::IfcShapeRepresentation::IfcShapeRepresentation(::Ifc4x3_tc1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_tc1::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcShapeRepresentation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ContextOfItems));data_->setArgument(0,attr);} if (v2_RepresentationIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_RepresentationIdentifier));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_RepresentationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_RepresentationType));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Items)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcShellBasedSurfaceModel -aggregate_of< ::Ifc4x3_tc1::IfcShell >::ptr Ifc4x3_tc1::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of< ::Ifc4x3_tc1::IfcShell >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_tc1::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of< ::Ifc4x3_tc1::IfcShell >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_tc1::IfcShell >::ptr Ifc4x3_tc1::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_tc1::IfcShell >(); } +void Ifc4x3_tc1::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of< ::Ifc4x3_tc1::IfcShell >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_tc1::IfcShellBasedSurfaceModel::declaration() const { return *IFC4X3_TC1_IfcShellBasedSurfaceModel_type; } const IfcParse::entity& Ifc4x3_tc1::IfcShellBasedSurfaceModel::Class() { return *IFC4X3_TC1_IfcShellBasedSurfaceModel_type; } Ifc4x3_tc1::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcShellBasedSurfaceModel_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4x3_tc1::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcShellBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SbsmBoundary));data_->setArgument(0,attr);} } +Ifc4x3_tc1::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4x3_tc1::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcShellBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SbsmBoundary)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcSign boost::optional< ::Ifc4x3_tc1::IfcSignTypeEnum::Value > Ifc4x3_tc1::IfcSign::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcSignTypeEnum::FromString(*data_->getArgument(8)); } @@ -21988,14 +21988,14 @@ Ifc4x3_tc1::IfcSurfaceReinforcementArea::IfcSurfaceReinforcementArea(boost::opti // Function implementations for IfcSurfaceStyle ::Ifc4x3_tc1::IfcSurfaceSide::Value Ifc4x3_tc1::IfcSurfaceStyle::Side() const { return ::Ifc4x3_tc1::IfcSurfaceSide::FromString(*data_->getArgument(1)); } void Ifc4x3_tc1::IfcSurfaceStyle::setSide(::Ifc4x3_tc1::IfcSurfaceSide::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_tc1::IfcSurfaceSide::ToString(v)));data_->setArgument(1,attr);} } -aggregate_of< ::Ifc4x3_tc1::IfcSurfaceStyleElementSelect >::ptr Ifc4x3_tc1::IfcSurfaceStyle::Styles() const { aggregate_of< ::Ifc4x3_tc1::IfcSurfaceStyleElementSelect >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_tc1::IfcSurfaceStyle::setStyles(aggregate_of< ::Ifc4x3_tc1::IfcSurfaceStyleElementSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_tc1::IfcSurfaceStyleElementSelect >::ptr Ifc4x3_tc1::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_tc1::IfcSurfaceStyleElementSelect >(); } +void Ifc4x3_tc1::IfcSurfaceStyle::setStyles(aggregate_of< ::Ifc4x3_tc1::IfcSurfaceStyleElementSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_tc1::IfcSurfaceStyle::declaration() const { return *IFC4X3_TC1_IfcSurfaceStyle_type; } const IfcParse::entity& Ifc4x3_tc1::IfcSurfaceStyle::Class() { return *IFC4X3_TC1_IfcSurfaceStyle_type; } Ifc4x3_tc1::IfcSurfaceStyle::IfcSurfaceStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcSurfaceStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x3_tc1::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc4x3_tc1::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles));data_->setArgument(2,attr);} } +Ifc4x3_tc1::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x3_tc1::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc4x3_tc1::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles)->generalize());data_->setArgument(2,attr);} } // Function implementations for IfcSurfaceStyleLighting ::Ifc4x3_tc1::IfcColourRgb* Ifc4x3_tc1::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_tc1::IfcColourRgb>(true); } @@ -22250,8 +22250,8 @@ Ifc4x3_tc1::IfcTableColumn::IfcTableColumn(IfcEntityInstanceData* e) : IfcUtil:: Ifc4x3_tc1::IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, ::Ifc4x3_tc1::IfcUnit* v4_Unit, ::Ifc4x3_tc1::IfcReference* v5_ReferencePath) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcTableColumn_type); if (v1_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Identifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Name));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_ReferencePath));data_->setArgument(4,attr);} } // Function implementations for IfcTableRow -boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > Ifc4x3_tc1::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_tc1::IfcTableRow::setRowCells(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > Ifc4x3_tc1::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_tc1::IfcValue >(); } +void Ifc4x3_tc1::IfcTableRow::setRowCells(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(0,attr);} } boost::optional< bool > Ifc4x3_tc1::IfcTableRow::IsHeading() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } bool v = *data_->getArgument(1); return v; } void Ifc4x3_tc1::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } @@ -22259,7 +22259,7 @@ void Ifc4x3_tc1::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrit const IfcParse::entity& Ifc4x3_tc1::IfcTableRow::declaration() const { return *IFC4X3_TC1_IfcTableRow_type; } const IfcParse::entity& Ifc4x3_tc1::IfcTableRow::Class() { return *IFC4X3_TC1_IfcTableRow_type; } Ifc4x3_tc1::IfcTableRow::IfcTableRow(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_TC1_IfcTableRow_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcTableRow_type); if (v1_RowCells) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RowCells));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_IsHeading) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_IsHeading));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } +Ifc4x3_tc1::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcTableRow_type); if (v1_RowCells) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RowCells)->generalize());data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_IsHeading) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_IsHeading));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcTank boost::optional< ::Ifc4x3_tc1::IfcTankTypeEnum::Value > Ifc4x3_tc1::IfcTank::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcTankTypeEnum::FromString(*data_->getArgument(8)); } @@ -22710,14 +22710,14 @@ Ifc4x3_tc1::IfcTimeSeries::IfcTimeSeries(IfcEntityInstanceData* e) : IfcUtil::If Ifc4x3_tc1::IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_tc1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_tc1::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_tc1::IfcUnit* v8_Unit) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcTimeSeries_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_StartTime));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EndTime));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_TimeSeriesDataType,::Ifc4x3_tc1::IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType))));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v6_DataOrigin,::Ifc4x3_tc1::IfcDataOriginEnum::ToString(v6_DataOrigin))));data_->setArgument(5,attr);} if (v7_UserDefinedDataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_UserDefinedDataOrigin));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Unit));data_->setArgument(7,attr);} } // Function implementations for IfcTimeSeriesValue -aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr Ifc4x3_tc1::IfcTimeSeriesValue::ListValues() const { aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_tc1::IfcTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr Ifc4x3_tc1::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_tc1::IfcValue >(); } +void Ifc4x3_tc1::IfcTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_tc1::IfcTimeSeriesValue::declaration() const { return *IFC4X3_TC1_IfcTimeSeriesValue_type; } const IfcParse::entity& Ifc4x3_tc1::IfcTimeSeriesValue::Class() { return *IFC4X3_TC1_IfcTimeSeriesValue_type; } Ifc4x3_tc1::IfcTimeSeriesValue::IfcTimeSeriesValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_TC1_IfcTimeSeriesValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ListValues));data_->setArgument(0,attr);} } +Ifc4x3_tc1::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ListValues)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcTopologicalRepresentationItem @@ -22868,10 +22868,10 @@ Ifc4x3_tc1::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(::I // Function implementations for IfcTrimmedCurve ::Ifc4x3_tc1::IfcCurve* Ifc4x3_tc1::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_tc1::IfcCurve>(true); } void Ifc4x3_tc1::IfcTrimmedCurve::setBasisCurve(::Ifc4x3_tc1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of< ::Ifc4x3_tc1::IfcTrimmingSelect >::ptr Ifc4x3_tc1::IfcTrimmedCurve::Trim1() const { aggregate_of< ::Ifc4x3_tc1::IfcTrimmingSelect >::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_tc1::IfcTrimmedCurve::setTrim1(aggregate_of< ::Ifc4x3_tc1::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -aggregate_of< ::Ifc4x3_tc1::IfcTrimmingSelect >::ptr Ifc4x3_tc1::IfcTrimmedCurve::Trim2() const { aggregate_of< ::Ifc4x3_tc1::IfcTrimmingSelect >::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_tc1::IfcTrimmedCurve::setTrim2(aggregate_of< ::Ifc4x3_tc1::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_tc1::IfcTrimmingSelect >::ptr Ifc4x3_tc1::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_tc1::IfcTrimmingSelect >(); } +void Ifc4x3_tc1::IfcTrimmedCurve::setTrim1(aggregate_of< ::Ifc4x3_tc1::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_tc1::IfcTrimmingSelect >::ptr Ifc4x3_tc1::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_tc1::IfcTrimmingSelect >(); } +void Ifc4x3_tc1::IfcTrimmedCurve::setTrim2(aggregate_of< ::Ifc4x3_tc1::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } bool Ifc4x3_tc1::IfcTrimmedCurve::SenseAgreement() const { bool v = *data_->getArgument(3); return v; } void Ifc4x3_tc1::IfcTrimmedCurve::setSenseAgreement(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x3_tc1::IfcTrimmingPreference::Value Ifc4x3_tc1::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4x3_tc1::IfcTrimmingPreference::FromString(*data_->getArgument(4)); } @@ -22881,7 +22881,7 @@ void Ifc4x3_tc1::IfcTrimmedCurve::setMasterRepresentation(::Ifc4x3_tc1::IfcTrimm const IfcParse::entity& Ifc4x3_tc1::IfcTrimmedCurve::declaration() const { return *IFC4X3_TC1_IfcTrimmedCurve_type; } const IfcParse::entity& Ifc4x3_tc1::IfcTrimmedCurve::Class() { return *IFC4X3_TC1_IfcTrimmedCurve_type; } Ifc4x3_tc1::IfcTrimmedCurve::IfcTrimmedCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_TC1_IfcTrimmedCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3_tc1::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_tc1::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x3_tc1::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_tc1::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcTrimmedCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Trim1));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Trim2));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SenseAgreement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_MasterRepresentation,::Ifc4x3_tc1::IfcTrimmingPreference::ToString(v5_MasterRepresentation))));data_->setArgument(4,attr);} } +Ifc4x3_tc1::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3_tc1::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_tc1::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x3_tc1::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_tc1::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcTrimmedCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Trim1)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Trim2)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SenseAgreement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_MasterRepresentation,::Ifc4x3_tc1::IfcTrimmingPreference::ToString(v5_MasterRepresentation))));data_->setArgument(4,attr);} } // Function implementations for IfcTubeBundle boost::optional< ::Ifc4x3_tc1::IfcTubeBundleTypeEnum::Value > Ifc4x3_tc1::IfcTubeBundle::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcTubeBundleTypeEnum::FromString(*data_->getArgument(8)); } @@ -22982,14 +22982,14 @@ Ifc4x3_tc1::IfcUShapeProfileDef::IfcUShapeProfileDef(IfcEntityInstanceData* e) : Ifc4x3_tc1::IfcUShapeProfileDef::IfcUShapeProfileDef(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::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((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcUShapeProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4x3_tc1::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_FlangeWidth));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_WebThickness));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_FlangeThickness));data_->setArgument(6,attr);} if (v8_FilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_FilletRadius));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_EdgeRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_EdgeRadius));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_FlangeSlope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_FlangeSlope));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcUnitAssignment -aggregate_of< ::Ifc4x3_tc1::IfcUnit >::ptr Ifc4x3_tc1::IfcUnitAssignment::Units() const { aggregate_of< ::Ifc4x3_tc1::IfcUnit >::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_tc1::IfcUnitAssignment::setUnits(aggregate_of< ::Ifc4x3_tc1::IfcUnit >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_tc1::IfcUnit >::ptr Ifc4x3_tc1::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_tc1::IfcUnit >(); } +void Ifc4x3_tc1::IfcUnitAssignment::setUnits(aggregate_of< ::Ifc4x3_tc1::IfcUnit >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_tc1::IfcUnitAssignment::declaration() const { return *IFC4X3_TC1_IfcUnitAssignment_type; } const IfcParse::entity& Ifc4x3_tc1::IfcUnitAssignment::Class() { return *IFC4X3_TC1_IfcUnitAssignment_type; } Ifc4x3_tc1::IfcUnitAssignment::IfcUnitAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_TC1_IfcUnitAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3_tc1::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4x3_tc1::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcUnitAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Units));data_->setArgument(0,attr);} } +Ifc4x3_tc1::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4x3_tc1::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_TC1_IfcUnitAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Units)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcUnitaryControlElement boost::optional< ::Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::Value > Ifc4x3_tc1::IfcUnitaryControlElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::FromString(*data_->getArgument(8)); } From 997ebe48df507fdd4037fc4905e3e770ce228924 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Thu, 22 Jun 2023 10:48:19 +0200 Subject: [PATCH 173/225] #2805 template keyword for gcc --- src/ifcparse/aggregate_of_instance.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ifcparse/aggregate_of_instance.h b/src/ifcparse/aggregate_of_instance.h index f304e67351..59f335f79d 100644 --- a/src/ifcparse/aggregate_of_instance.h +++ b/src/ifcparse/aggregate_of_instance.h @@ -67,7 +67,7 @@ public: unsigned int size() const { return (unsigned int)ls.size(); } aggregate_of_instance::ptr generalize() { aggregate_of_instance::ptr r(new aggregate_of_instance()); - for (it i = begin(); i != end(); ++i) r->push((*i)->as()); + for (it i = begin(); i != end(); ++i) r->push((*i)->template as()); return r; } bool contains(T* t) const { return std::find(ls.begin(), ls.end(), t) != ls.end(); } From 0bb9bcd9fb4633d960fa95e0a6d3333f8fb64344 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Thu, 22 Jun 2023 11:03:06 +0200 Subject: [PATCH 174/225] #2805 Pasta errors --- src/ifcparse/IfcHierarchyHelper.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/ifcparse/IfcHierarchyHelper.cpp b/src/ifcparse/IfcHierarchyHelper.cpp index 81978dcc1d..5387b90d0c 100644 --- a/src/ifcparse/IfcHierarchyHelper.cpp +++ b/src/ifcparse/IfcHierarchyHelper.cpp @@ -516,7 +516,7 @@ Ifc4::IfcStyledItem* create_styled_item(Ifc4::IfcRepresentationItem* item, Ifc4: Ifc4x1::IfcStyledItem* create_styled_item(Ifc4x1::IfcRepresentationItem* item, Ifc4x1::IfcPresentationStyleAssignment* style_assignment) { Ifc4x1::IfcStyleAssignmentSelect::list::ptr style_assignments(new Ifc4x1::IfcStyleAssignmentSelect::list); style_assignments->push(style_assignment); - return new Ifc4::IfcStyledItem(item, style_assignments, boost::none); + return new Ifc4x1::IfcStyledItem(item, style_assignments, boost::none); } #endif @@ -524,7 +524,7 @@ Ifc4x1::IfcStyledItem* create_styled_item(Ifc4x1::IfcRepresentationItem* item, I Ifc4x2::IfcStyledItem* create_styled_item(Ifc4x2::IfcRepresentationItem* item, Ifc4x2::IfcPresentationStyleAssignment* style_assignment) { Ifc4x2::IfcStyleAssignmentSelect::list::ptr style_assignments(new Ifc4x2::IfcStyleAssignmentSelect::list); style_assignments->push(style_assignment); - return new Ifc4::IfcStyledItem(item, style_assignments, boost::none); + return new Ifc4x2::IfcStyledItem(item, style_assignments, boost::none); } #endif @@ -532,7 +532,7 @@ Ifc4x2::IfcStyledItem* create_styled_item(Ifc4x2::IfcRepresentationItem* item, I Ifc4x3_rc1::IfcStyledItem* create_styled_item(Ifc4x3_rc1::IfcRepresentationItem* item, Ifc4x3_rc1::IfcPresentationStyleAssignment* style_assignment) { Ifc4x3_rc1::IfcStyleAssignmentSelect::list::ptr style_assignments(new Ifc4x3_rc1::IfcStyleAssignmentSelect::list); style_assignments->push(style_assignment); - return new Ifc4::IfcStyledItem(item, style_assignments, boost::none); + return new Ifc4x3_rc1::IfcStyledItem(item, style_assignments, boost::none); } #endif @@ -540,7 +540,7 @@ Ifc4x3_rc1::IfcStyledItem* create_styled_item(Ifc4x3_rc1::IfcRepresentationItem* Ifc4x3_rc2::IfcStyledItem* create_styled_item(Ifc4x3_rc2::IfcRepresentationItem* item, Ifc4x3_rc2::IfcPresentationStyleAssignment* style_assignment) { Ifc4x3_rc2::IfcStyleAssignmentSelect::list::ptr style_assignments(new Ifc4x3_rc2::IfcStyleAssignmentSelect::list); style_assignments->push(style_assignment); - return new Ifc4::IfcStyledItem(item, style_assignments, boost::none); + return new Ifc4x3_rc2::IfcStyledItem(item, style_assignments, boost::none); } #endif From e9d0b8ab667b3e4171424a0f1ffbbea7eef7b0c1 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Thu, 22 Jun 2023 12:07:10 +0200 Subject: [PATCH 175/225] #2805 IfcGeom updates --- src/ifcgeom/IfcGeom.cpp | 6 +++--- src/ifcgeom/IfcGeom.h | 8 ++++---- src/ifcgeom/IfcGeometricSet.cpp | 6 +++--- src/ifcgeom/IfcIndexedPolyCurve.cpp | 6 +++--- src/ifcgeom/IfcShellBasedSurfaceModel.cpp | 4 ++-- src/ifcgeom/IfcTrimmedCurve.cpp | 12 ++++++------ src/ifcgeom/Serialization.cpp | 10 +++++----- src/serializers/schema_dependent/XmlSerializer.cpp | 4 ++-- 8 files changed, 28 insertions(+), 28 deletions(-) diff --git a/src/ifcgeom/IfcGeom.cpp b/src/ifcgeom/IfcGeom.cpp index ae73bcbe3a..f235d9b07a 100644 --- a/src/ifcgeom/IfcGeom.cpp +++ b/src/ifcgeom/IfcGeom.cpp @@ -985,12 +985,12 @@ std::pair IfcGeom::Kernel::initializeUnits(IfcSchema::IfcUn bool length_unit_encountered = false, angle_unit_encountered = false; try { - aggregate_of_instance::ptr units = unit_assignment->Units(); + auto units = unit_assignment->Units(); if (!units || !units->size()) { Logger::Warning("No unit information found"); } else { - for (aggregate_of_instance::it it = units->begin(); it != units->end(); ++it) { - IfcUtil::IfcBaseClass* base = *it; + for (auto it = units->begin(); it != units->end(); ++it) { + IfcSchema::IfcUnit* base = *it; if (base->declaration().is(IfcSchema::IfcNamedUnit::Class())) { IfcSchema::IfcNamedUnit* named_unit = base->as(); if (named_unit->UnitType() == IfcSchema::IfcUnitEnum::IfcUnit_LENGTHUNIT || diff --git a/src/ifcgeom/IfcGeom.h b/src/ifcgeom/IfcGeom.h index 86b7ec2a8d..41cbce4802 100644 --- a/src/ifcgeom/IfcGeom.h +++ b/src/ifcgeom/IfcGeom.h @@ -299,8 +299,8 @@ public: std::vector prs_styles; #ifdef SCHEMA_HAS_IfcStyleAssignmentSelect - aggregate_of_instance::ptr style_assignments = si->Styles(); - for (aggregate_of_instance::it kt = style_assignments->begin(); kt != style_assignments->end(); ++kt) { + auto style_assignments = si->Styles(); + for (auto kt = style_assignments->begin(); kt != style_assignments->end(); ++kt) { // Using IfcPresentationStyleAssignment is deprecated, use the direct assignment of a subtype of IfcPresentationStyle instead. auto style_k = (*kt)->as(); @@ -345,8 +345,8 @@ public: if (style->declaration().is(IfcSchema::IfcSurfaceStyle::Class())) { IfcSchema::IfcSurfaceStyle* surface_style = (IfcSchema::IfcSurfaceStyle*) style; if (surface_style->Side() != IfcSchema::IfcSurfaceSide::IfcSurfaceSide_NEGATIVE) { - aggregate_of_instance::ptr styles_elements = surface_style->Styles(); - for (aggregate_of_instance::it mt = styles_elements->begin(); mt != styles_elements->end(); ++mt) { + auto styles_elements = surface_style->Styles(); + for (auto mt = styles_elements->begin(); mt != styles_elements->end(); ++mt) { if ((*mt)->declaration().is(T::Class())) { return std::make_pair(surface_style, (T*) *mt); } diff --git a/src/ifcgeom/IfcGeometricSet.cpp b/src/ifcgeom/IfcGeometricSet.cpp index 010fe6acb7..7b4556d439 100644 --- a/src/ifcgeom/IfcGeometricSet.cpp +++ b/src/ifcgeom/IfcGeometricSet.cpp @@ -30,11 +30,11 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcGeometricSet* l, IfcRepresenta const bool include_curves = getValue(GV_DIMENSIONALITY) != +1; const bool include_solids_and_surfaces = getValue(GV_DIMENSIONALITY) != -1; - aggregate_of_instance::ptr elements = l->Elements(); - if ( !elements->size() ) return false; + auto elements = l->Elements(); + if (!elements->size()) return false; bool part_succes = false; auto parent_style = get_style(l); - for (aggregate_of_instance::it it = elements->begin(); it != elements->end(); ++it) { + for (auto it = elements->begin(); it != elements->end(); ++it) { auto element = *it; TopoDS_Shape s; if (shape_type(element) == ST_SHAPELIST) { diff --git a/src/ifcgeom/IfcIndexedPolyCurve.cpp b/src/ifcgeom/IfcIndexedPolyCurve.cpp index 77820e6327..29ac4372ad 100644 --- a/src/ifcgeom/IfcIndexedPolyCurve.cpp +++ b/src/ifcgeom/IfcIndexedPolyCurve.cpp @@ -58,9 +58,9 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcIndexedPolyCurve* l, TopoDS_Wi double u, v; if(l->Segments()) { - aggregate_of_instance::ptr segments = *l->Segments(); - for (aggregate_of_instance::it it = segments->begin(); it != segments->end(); ++it) { - IfcUtil::IfcBaseClass* segment = *it; + auto segments = *l->Segments(); + for (auto it = segments->begin(); it != segments->end(); ++it) { + auto segment = *it; if (segment->declaration().is(IfcSchema::IfcLineIndex::Class())) { IfcSchema::IfcLineIndex* line = (IfcSchema::IfcLineIndex*) segment; std::vector indices = *line; diff --git a/src/ifcgeom/IfcShellBasedSurfaceModel.cpp b/src/ifcgeom/IfcShellBasedSurfaceModel.cpp index 8430601d6d..ed2bb79007 100644 --- a/src/ifcgeom/IfcShellBasedSurfaceModel.cpp +++ b/src/ifcgeom/IfcShellBasedSurfaceModel.cpp @@ -23,9 +23,9 @@ #define Kernel MAKE_TYPE_NAME(Kernel) bool IfcGeom::Kernel::convert(const IfcSchema::IfcShellBasedSurfaceModel* l, IfcRepresentationShapeItems& shapes) { - aggregate_of_instance::ptr shells = l->SbsmBoundary(); + auto shells = l->SbsmBoundary(); auto collective_style = get_style(l); - for( aggregate_of_instance::it it = shells->begin(); it != shells->end(); ++ it ) { + for(auto it = shells->begin(); it != shells->end(); ++ it) { TopoDS_Shape s; decltype(collective_style) shell_style; if ((*it)->declaration().is(IfcSchema::IfcRepresentationItem::Class())) { diff --git a/src/ifcgeom/IfcTrimmedCurve.cpp b/src/ifcgeom/IfcTrimmedCurve.cpp index a9f65ae539..5b2081ad3c 100644 --- a/src/ifcgeom/IfcTrimmedCurve.cpp +++ b/src/ifcgeom/IfcTrimmedCurve.cpp @@ -72,8 +72,8 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcTrimmedCurve* l, TopoDS_Wire& } bool trim_cartesian = l->MasterRepresentation() != IfcSchema::IfcTrimmingPreference::IfcTrimmingPreference_PARAMETER; - aggregate_of_instance::ptr trims1 = l->Trim1(); - aggregate_of_instance::ptr trims2 = l->Trim2(); + auto trims1 = l->Trim1(); + auto trims2 = l->Trim2(); unsigned sense_agreement = l->SenseAgreement() ? 0 : 1; double flts[2]; @@ -83,8 +83,8 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcTrimmedCurve* l, TopoDS_Wire& TopoDS_Edge e; - for ( aggregate_of_instance::it it = trims1->begin(); it != trims1->end(); it ++ ) { - IfcUtil::IfcBaseClass* i = *it; + for (auto it = trims1->begin(); it != trims1->end(); it ++ ) { + auto i = *it; if ( i->declaration().is(IfcSchema::IfcCartesianPoint::Class()) ) { IfcGeom::Kernel::convert((IfcSchema::IfcCartesianPoint*)i, pnts[sense_agreement] ); has_pnts[sense_agreement] = true; @@ -95,8 +95,8 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcTrimmedCurve* l, TopoDS_Wire& } } - for ( aggregate_of_instance::it it = trims2->begin(); it != trims2->end(); it ++ ) { - IfcUtil::IfcBaseClass* i = *it; + for (auto it = trims2->begin(); it != trims2->end(); it ++ ) { + auto i = *it; if ( i->declaration().is(IfcSchema::IfcCartesianPoint::Class()) ) { IfcGeom::Kernel::convert((IfcSchema::IfcCartesianPoint*)i, pnts[1-sense_agreement] ); has_pnts[1-sense_agreement] = true; diff --git a/src/ifcgeom/Serialization.cpp b/src/ifcgeom/Serialization.cpp index 8eabd1732b..fe257dde93 100644 --- a/src/ifcgeom/Serialization.cpp +++ b/src/ifcgeom/Serialization.cpp @@ -395,8 +395,8 @@ int convert_to_ifc(const TopoDS_Edge& e, IfcSchema::IfcCurve*& c, bool advanced) return 0; } - aggregate_of_instance::ptr trim1(new aggregate_of_instance); - aggregate_of_instance::ptr trim2(new aggregate_of_instance); + IfcSchema::IfcTrimmingSelect::list::ptr trim1(new IfcSchema::IfcTrimmingSelect::list); + IfcSchema::IfcTrimmingSelect::list::ptr trim2(new IfcSchema::IfcTrimmingSelect::list); trim1->push(new IfcSchema::IfcParameterValue(a)); trim2->push(new IfcSchema::IfcParameterValue(b)); @@ -631,7 +631,7 @@ IfcUtil::IfcBaseClass* IfcGeom::MAKE_TYPE_NAME(serialise_)(const TopoDS_Shape& s } else { // If not, see if there is a shell - IfcSchema::IfcOpenShell::list::ptr shells(new IfcSchema::IfcOpenShell::list); + IfcSchema::IfcShell::list::ptr shells(new IfcSchema::IfcShell::list); for (TopExp_Explorer exp(shape, TopAbs_SHELL); exp.More(); exp.Next()) { IfcSchema::IfcOpenShell* shell; if (!convert_to_ifc(exp.Current(), shell, advanced)) { @@ -641,7 +641,7 @@ IfcUtil::IfcBaseClass* IfcGeom::MAKE_TYPE_NAME(serialise_)(const TopoDS_Shape& s } if (shells->size() > 0) { - items->push(new IfcSchema::IfcShellBasedSurfaceModel(shells->generalize())); + items->push(new IfcSchema::IfcShellBasedSurfaceModel(shells)); rep = new IfcSchema::IfcShapeRepresentation(0, std::string("Body"), advanced ? std::string("AdvancedBrep") : std::string("Brep"), items); } else { @@ -674,7 +674,7 @@ IfcUtil::IfcBaseClass* IfcGeom::MAKE_TYPE_NAME(serialise_)(const TopoDS_Shape& s rep = new IfcSchema::IfcShapeRepresentation(0, std::string("Axis"), std::string("Curve2D"), edges->as()); } else { // A geometric set is created as that probably (?) makes more sense in IFC - IfcSchema::IfcGeometricCurveSet* curves = new IfcSchema::IfcGeometricCurveSet(edges); + IfcSchema::IfcGeometricCurveSet* curves = new IfcSchema::IfcGeometricCurveSet(edges->as()); items->push(curves); rep = new IfcSchema::IfcShapeRepresentation(0, std::string("Axis"), std::string("GeometricCurveSet"), items->as()); } diff --git a/src/serializers/schema_dependent/XmlSerializer.cpp b/src/serializers/schema_dependent/XmlSerializer.cpp index 0d1265937c..fff4132df6 100644 --- a/src/serializers/schema_dependent/XmlSerializer.cpp +++ b/src/serializers/schema_dependent/XmlSerializer.cpp @@ -747,8 +747,8 @@ void MAKE_TYPE_NAME(XmlSerializer)::finalize() { } // Write all assigned units as XML nodes. - aggregate_of_instance::ptr unit_assignments = project->UnitsInContext()->Units(); - for (aggregate_of_instance::it it = unit_assignments->begin(); it != unit_assignments->end(); ++it) { + auto unit_assignments = project->UnitsInContext()->Units(); + for (auto it = unit_assignments->begin(); it != unit_assignments->end(); ++it) { if ((*it)->declaration().is(IfcSchema::IfcNamedUnit::Class())) { IfcSchema::IfcNamedUnit* named_unit = (*it)->as(); ptree* node = format_entity_instance(named_unit, units); From 65cb47e2d892d84c0d3d8e89ba157360c6902c7f Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Thu, 22 Jun 2023 14:07:34 +0200 Subject: [PATCH 176/225] #2805 IfcGeom dynamic casting updates --- src/ifcgeom/IfcGeom.cpp | 8 ++++---- src/ifcgeom/IfcGeom.h | 4 ++-- src/ifcgeom/IfcGeometricSet.cpp | 12 ++++++------ src/ifcgeom/IfcIndexedPolyCurve.cpp | 10 +++++----- src/ifcgeom/IfcShellBasedSurfaceModel.cpp | 4 ++-- src/ifcgeom/IfcTrimmedCurve.cpp | 16 ++++++++-------- src/ifcparse/aggregate_of_instance.h | 7 +++++-- 7 files changed, 32 insertions(+), 29 deletions(-) diff --git a/src/ifcgeom/IfcGeom.cpp b/src/ifcgeom/IfcGeom.cpp index f235d9b07a..d0f17a46c8 100644 --- a/src/ifcgeom/IfcGeom.cpp +++ b/src/ifcgeom/IfcGeom.cpp @@ -991,7 +991,7 @@ std::pair IfcGeom::Kernel::initializeUnits(IfcSchema::IfcUn } else { for (auto it = units->begin(); it != units->end(); ++it) { IfcSchema::IfcUnit* base = *it; - if (base->declaration().is(IfcSchema::IfcNamedUnit::Class())) { + if (base->as()) { IfcSchema::IfcNamedUnit* named_unit = base->as(); if (named_unit->UnitType() == IfcSchema::IfcUnitEnum::IfcUnit_LENGTHUNIT || named_unit->UnitType() == IfcSchema::IfcUnitEnum::IfcUnit_PLANEANGLEUNIT) @@ -999,10 +999,10 @@ std::pair IfcGeom::Kernel::initializeUnits(IfcSchema::IfcUn std::string current_unit_name; const double current_unit_magnitude = IfcParse::get_SI_equivalent(named_unit); if (current_unit_magnitude != 0.) { - if (named_unit->declaration().is(IfcSchema::IfcConversionBasedUnit::Class())) { - IfcSchema::IfcConversionBasedUnit* u = (IfcSchema::IfcConversionBasedUnit*)base; + if (named_unit->as()) { + IfcSchema::IfcConversionBasedUnit* u = named_unit->as(); current_unit_name = u->Name(); - } else if (named_unit->declaration().is(IfcSchema::IfcSIUnit::Class())) { + } else if (named_unit->as()) { IfcSchema::IfcSIUnit* si_unit = named_unit->as(); if (si_unit->Prefix()) { current_unit_name = IfcSchema::IfcSIPrefix::ToString(*si_unit->Prefix()) + unit_name; diff --git a/src/ifcgeom/IfcGeom.h b/src/ifcgeom/IfcGeom.h index 41cbce4802..42575acb3e 100644 --- a/src/ifcgeom/IfcGeom.h +++ b/src/ifcgeom/IfcGeom.h @@ -347,8 +347,8 @@ public: if (surface_style->Side() != IfcSchema::IfcSurfaceSide::IfcSurfaceSide_NEGATIVE) { auto styles_elements = surface_style->Styles(); for (auto mt = styles_elements->begin(); mt != styles_elements->end(); ++mt) { - if ((*mt)->declaration().is(T::Class())) { - return std::make_pair(surface_style, (T*) *mt); + if ((*mt)->as())) { + return std::make_pair(surface_style, (*mt)->as()); } } } diff --git a/src/ifcgeom/IfcGeometricSet.cpp b/src/ifcgeom/IfcGeometricSet.cpp index 7b4556d439..ce74dbe3dc 100644 --- a/src/ifcgeom/IfcGeometricSet.cpp +++ b/src/ifcgeom/IfcGeometricSet.cpp @@ -58,14 +58,14 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcGeometricSet* l, IfcRepresenta part_succes = true; decltype(parent_style) style = 0; - if (element->declaration().is(IfcSchema::IfcPoint::Class())) { - style = get_style((IfcSchema::IfcPoint*) element); + if (element->as()) { + style = get_style(element->as()); } - else if (element->declaration().is(IfcSchema::IfcCurve::Class())) { - style = get_style((IfcSchema::IfcCurve*) element); + else if (element->as()) { + style = get_style(element->as()); } - else if (element->declaration().is(IfcSchema::IfcSurface::Class())) { - style = get_style((IfcSchema::IfcSurface*) element); + else if (element->as()) { + style = get_style(element->as()); } shapes.push_back(IfcRepresentationShapeItem(l->data().id(), s, style ? style : parent_style)); } diff --git a/src/ifcgeom/IfcIndexedPolyCurve.cpp b/src/ifcgeom/IfcIndexedPolyCurve.cpp index 29ac4372ad..81ae655b2f 100644 --- a/src/ifcgeom/IfcIndexedPolyCurve.cpp +++ b/src/ifcgeom/IfcIndexedPolyCurve.cpp @@ -61,8 +61,8 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcIndexedPolyCurve* l, TopoDS_Wi auto segments = *l->Segments(); for (auto it = segments->begin(); it != segments->end(); ++it) { auto segment = *it; - if (segment->declaration().is(IfcSchema::IfcLineIndex::Class())) { - IfcSchema::IfcLineIndex* line = (IfcSchema::IfcLineIndex*) segment; + if (segment->as()) { + IfcSchema::IfcLineIndex* line = segment->as(); std::vector indices = *line; gp_Pnt previous; for (std::vector::const_iterator jt = indices.begin(); jt != indices.end(); ++jt) { @@ -80,8 +80,8 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcIndexedPolyCurve* l, TopoDS_Wi } previous = current; } - } else if (segment->declaration().is(IfcSchema::IfcArcIndex::Class())) { - IfcSchema::IfcArcIndex* arc = (IfcSchema::IfcArcIndex*) segment; + } else if (segment->as()) { + IfcSchema::IfcArcIndex* arc = segment->as(); std::vector indices = *arc; if (indices.size() != 3) { throw IfcParse::IfcException("Invalid IfcArcIndex encountered"); @@ -103,7 +103,7 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcIndexedPolyCurve* l, TopoDS_Wi Logger::Warning("Ignoring segment on", l); } } else { - throw IfcParse::IfcException("Unexpected IfcIndexedPolyCurve segment of type " + segment->declaration().name()); + throw IfcParse::IfcException("Unexpected IfcIndexedPolyCurve segment of type " + segment->as()->declaration().name()); } } } else if (points.begin() < points.end()) { diff --git a/src/ifcgeom/IfcShellBasedSurfaceModel.cpp b/src/ifcgeom/IfcShellBasedSurfaceModel.cpp index ed2bb79007..0d78ceec64 100644 --- a/src/ifcgeom/IfcShellBasedSurfaceModel.cpp +++ b/src/ifcgeom/IfcShellBasedSurfaceModel.cpp @@ -28,8 +28,8 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcShellBasedSurfaceModel* l, Ifc for(auto it = shells->begin(); it != shells->end(); ++ it) { TopoDS_Shape s; decltype(collective_style) shell_style; - if ((*it)->declaration().is(IfcSchema::IfcRepresentationItem::Class())) { - shell_style = get_style((IfcSchema::IfcRepresentationItem*)*it); + if ((*it)->as()) { + shell_style = get_style((*it)->as()); } if (convert_shape(*it,s)) { shapes.push_back(IfcRepresentationShapeItem(l->data().id(), s, shell_style ? shell_style : collective_style)); diff --git a/src/ifcgeom/IfcTrimmedCurve.cpp b/src/ifcgeom/IfcTrimmedCurve.cpp index 5b2081ad3c..77140a1e2a 100644 --- a/src/ifcgeom/IfcTrimmedCurve.cpp +++ b/src/ifcgeom/IfcTrimmedCurve.cpp @@ -85,11 +85,11 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcTrimmedCurve* l, TopoDS_Wire& for (auto it = trims1->begin(); it != trims1->end(); it ++ ) { auto i = *it; - if ( i->declaration().is(IfcSchema::IfcCartesianPoint::Class()) ) { - IfcGeom::Kernel::convert((IfcSchema::IfcCartesianPoint*)i, pnts[sense_agreement] ); + if (i->as()) { + IfcGeom::Kernel::convert(i->as(), pnts[sense_agreement] ); has_pnts[sense_agreement] = true; - } else if ( i->declaration().is(IfcSchema::IfcParameterValue::Class()) ) { - const double value = *((IfcSchema::IfcParameterValue*)i); + } else if (i->as()) { + const double value = *i->as(); flts[sense_agreement] = value * parameterFactor; has_flts[sense_agreement] = true; } @@ -97,11 +97,11 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcTrimmedCurve* l, TopoDS_Wire& for (auto it = trims2->begin(); it != trims2->end(); it ++ ) { auto i = *it; - if ( i->declaration().is(IfcSchema::IfcCartesianPoint::Class()) ) { - IfcGeom::Kernel::convert((IfcSchema::IfcCartesianPoint*)i, pnts[1-sense_agreement] ); + if (i->as()) { + IfcGeom::Kernel::convert(i->as(), pnts[1-sense_agreement] ); has_pnts[1-sense_agreement] = true; - } else if ( i->declaration().is(IfcSchema::IfcParameterValue::Class()) ) { - const double value = *((IfcSchema::IfcParameterValue*)i); + } else if (i->as()) { + const double value = *i->as(); flts[1-sense_agreement] = value * parameterFactor; has_flts[1-sense_agreement] = true; } diff --git a/src/ifcparse/aggregate_of_instance.h b/src/ifcparse/aggregate_of_instance.h index 59f335f79d..c6bf8f5921 100644 --- a/src/ifcparse/aggregate_of_instance.h +++ b/src/ifcparse/aggregate_of_instance.h @@ -45,8 +45,11 @@ public: template typename U::list::ptr as() { typename U::list::ptr r(new typename U::list); - const bool all = !U::Class().as_entity(); - for (it i = begin(); i != end(); ++i) if (all || (*i)->declaration().is(U::Class())) r->push((U*)*i); + for (it i = begin(); i != end(); ++i) { + if ((*i)->as()) { + r->push((*i)->as()); + } + } return r; } void remove(IfcUtil::IfcBaseClass*); From 1c996013b67b70a768ee2e49accd59c5890999d7 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Thu, 22 Jun 2023 10:29:41 +0200 Subject: [PATCH 177/225] #2805 Further fixes for aggregates of select --- .../ifcopenshell/express/implementation.py | 3 +-- src/ifcopenshell-python/ifcopenshell/express/mapping.py | 6 +++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/express/implementation.py b/src/ifcopenshell-python/ifcopenshell/express/implementation.py index 2e32e38829..24123532ba 100644 --- a/src/ifcopenshell-python/ifcopenshell/express/implementation.py +++ b/src/ifcopenshell-python/ifcopenshell/express/implementation.py @@ -85,7 +85,6 @@ class Implementation(codegen.Base): def find_template(arg): simple = mapping.schema.is_simpletype(arg["list_instance_type"]) - select = arg["list_instance_type"] == "IfcUtil::IfcBaseClass" express = ( mapping.flatten_type_string(arg["list_instance_type"]) in mapping.express_to_cpp_typemapping ) @@ -93,7 +92,7 @@ class Implementation(codegen.Base): return templates.get_attr_stmt_enum elif arg["is_nested"] and arg["is_templated_list"]: return templates.get_attr_stmt_nested_array - elif arg["is_templated_list"] and not (select or simple or express): + elif arg["is_templated_list"] and not (simple or express): return templates.get_attr_stmt_array elif arg["non_optional_type"].endswith("*"): return templates.get_attr_stmt_entity diff --git a/src/ifcopenshell-python/ifcopenshell/express/mapping.py b/src/ifcopenshell-python/ifcopenshell/express/mapping.py index 7eecbb374d..f32cc0fae3 100644 --- a/src/ifcopenshell-python/ifcopenshell/express/mapping.py +++ b/src/ifcopenshell-python/ifcopenshell/express/mapping.py @@ -224,9 +224,9 @@ class Mapping: isinstance(v, nodes.SimpleType) and isinstance(v.type, nodes.StringType) ): return "string" - if self.schema.is_select(v): - return "IfcUtil::IfcBaseClass" - elif str(v) in self.schema.types or str(v) in self.schema.entities: + # if self.schema.is_select(v): + # return "IfcUtil::IfcBaseClass" + if str(v) in self.schema.types or str(v) in self.schema.entities: return "::%s::%s" % (self.schema.name.capitalize(), v) else: return str(v) From 2d330f4c909e8b996e64f1692c67c84bb056cd5b Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Thu, 22 Jun 2023 14:09:59 +0200 Subject: [PATCH 178/225] #2805 IFC4X3 codegen --- src/ifcparse/Ifc4x3-definitions.h | 50 +++++++ src/ifcparse/Ifc4x3.cpp | 176 +++++++++++----------- src/ifcparse/Ifc4x3.h | 237 +++++++++++++++++++----------- 3 files changed, 287 insertions(+), 176 deletions(-) diff --git a/src/ifcparse/Ifc4x3-definitions.h b/src/ifcparse/Ifc4x3-definitions.h index cfab4fc05e..2f33085a2e 100644 --- a/src/ifcparse/Ifc4x3-definitions.h +++ b/src/ifcparse/Ifc4x3-definitions.h @@ -4026,3 +4026,53 @@ #define SCHEMA_HAS_IfcZone #define SCHEMA_IfcZone_HAS_LongName #define SCHEMA_IfcZone_LongName_IS_OPTIONAL +#define SCHEMA_HAS_IfcRepresentationContextSameWCS +#define SCHEMA_HAS_IfcSingleProjectInstance +#define SCHEMA_HAS_IfcAssociatedSurface +#define SCHEMA_HAS_IfcBaseAxis +#define SCHEMA_HAS_IfcBooleanChoose +#define SCHEMA_HAS_IfcBuild2Axes +#define SCHEMA_HAS_IfcBuildAxes +#define SCHEMA_HAS_IfcConsecutiveSegments +#define SCHEMA_HAS_IfcConstraintsParamBSpline +#define SCHEMA_HAS_IfcConvertDirectionInto2D +#define SCHEMA_HAS_IfcCorrectDimensions +#define SCHEMA_HAS_IfcCorrectFillAreaStyle +#define SCHEMA_HAS_IfcCorrectLocalPlacement +#define SCHEMA_HAS_IfcCorrectObjectAssignment +#define SCHEMA_HAS_IfcCorrectUnitAssignment +#define SCHEMA_HAS_IfcCrossProduct +#define SCHEMA_HAS_IfcCurveDim +#define SCHEMA_HAS_IfcCurveWeightsPositive +#define SCHEMA_HAS_IfcDeriveDimensionalExponents +#define SCHEMA_HAS_IfcDimensionsForSIUnit +#define SCHEMA_HAS_IfcDotProduct +#define SCHEMA_HAS_IfcFirstProjAxis +#define SCHEMA_HAS_IfcGetBasisSurface +#define SCHEMA_HAS_IfcGradient +#define SCHEMA_HAS_IfcListToArray +#define SCHEMA_HAS_IfcLoopHeadToTail +#define SCHEMA_HAS_IfcMakeArrayOfArray +#define SCHEMA_HAS_IfcMlsTotalThickness +#define SCHEMA_HAS_IfcNormalise +#define SCHEMA_HAS_IfcOrthogonalComplement +#define SCHEMA_HAS_IfcPathHeadToTail +#define SCHEMA_HAS_IfcPointListDim +#define SCHEMA_HAS_IfcSameAxis2Placement +#define SCHEMA_HAS_IfcSameCartesianPoint +#define SCHEMA_HAS_IfcSameDirection +#define SCHEMA_HAS_IfcSameValidPrecision +#define SCHEMA_HAS_IfcSameValue +#define SCHEMA_HAS_IfcScalarTimesVector +#define SCHEMA_HAS_IfcSecondProjAxis +#define SCHEMA_HAS_IfcShapeRepresentationTypes +#define SCHEMA_HAS_IfcSurfaceWeightsPositive +#define SCHEMA_HAS_IfcTaperedSweptAreaProfiles +#define SCHEMA_HAS_IfcTopologyRepresentationTypes +#define SCHEMA_HAS_IfcUniqueDefinitionNames +#define SCHEMA_HAS_IfcUniquePropertyName +#define SCHEMA_HAS_IfcUniquePropertySetNames +#define SCHEMA_HAS_IfcUniquePropertyTemplateNames +#define SCHEMA_HAS_IfcUniqueQuantityNames +#define SCHEMA_HAS_IfcVectorDifference +#define SCHEMA_HAS_IfcVectorSum diff --git a/src/ifcparse/Ifc4x3.cpp b/src/ifcparse/Ifc4x3.cpp index e7c93c338c..c0b6895cfb 100644 --- a/src/ifcparse/Ifc4x3.cpp +++ b/src/ifcparse/Ifc4x3.cpp @@ -15789,8 +15789,8 @@ boost::optional< std::string > Ifc4x3::IfcDocumentInformation::Revision() const void Ifc4x3::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3::IfcActorSelect* Ifc4x3::IfcDocumentInformation::DocumentOwner() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3::IfcActorSelect>(true); } void Ifc4x3::IfcDocumentInformation::setDocumentOwner(::Ifc4x3::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x3::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(9); return v; } -void Ifc4x3::IfcDocumentInformation::setEditors(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } +boost::optional< aggregate_of< ::Ifc4x3::IfcActorSelect >::ptr > Ifc4x3::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc4x3::IfcActorSelect >(); } +void Ifc4x3::IfcDocumentInformation::setEditors(boost::optional< aggregate_of< ::Ifc4x3::IfcActorSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3::IfcDocumentInformation::CreationTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } void Ifc4x3::IfcDocumentInformation::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4x3::IfcDocumentInformation::LastRevisionTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } @@ -15814,7 +15814,7 @@ void Ifc4x3::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x3::IfcDoc const IfcParse::entity& Ifc4x3::IfcDocumentInformation::declaration() const { return *IFC4X3_IfcDocumentInformation_type; } const IfcParse::entity& Ifc4x3::IfcDocumentInformation::Class() { return *IFC4X3_IfcDocumentInformation_type; } Ifc4x3::IfcDocumentInformation::IfcDocumentInformation(IfcEntityInstanceData* e) : IfcExternalInformation((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcDocumentInformation_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::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, ::Ifc4x3::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of_instance::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< ::Ifc4x3::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Identification));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Location));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CreationTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LastRevisionTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LastRevisionTime));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ElectronicFormat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ElectronicFormat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ValidFrom) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ValidFrom));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ValidUntil) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ValidUntil));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc4x3::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc4x3::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } +Ifc4x3::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, ::Ifc4x3::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x3::IfcActorSelect >::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< ::Ifc4x3::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Identification));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Location));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CreationTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LastRevisionTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LastRevisionTime));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ElectronicFormat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ElectronicFormat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ValidFrom) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ValidFrom));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ValidUntil) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ValidUntil));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc4x3::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc4x3::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } // Function implementations for IfcDocumentInformationRelationship ::Ifc4x3::IfcDocumentInformation* Ifc4x3::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3::IfcDocumentInformation>(true); } @@ -16485,14 +16485,14 @@ Ifc4x3::IfcExternalReference::IfcExternalReference(boost::optional< std::string // Function implementations for IfcExternalReferenceRelationship ::Ifc4x3::IfcExternalReference* Ifc4x3::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3::IfcExternalReference>(true); } void Ifc4x3::IfcExternalReferenceRelationship::setRelatingReference(::Ifc4x3::IfcExternalReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -aggregate_of_instance::ptr Ifc4x3::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } -void Ifc4x3::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr Ifc4x3::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3::IfcResourceObjectSelect >(); } +void Ifc4x3::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3::IfcExternalReferenceRelationship::declaration() const { return *IFC4X3_IfcExternalReferenceRelationship_type; } const IfcParse::entity& Ifc4x3::IfcExternalReferenceRelationship::Class() { return *IFC4X3_IfcExternalReferenceRelationship_type; } Ifc4x3::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcExternalReferenceRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcExternalReference* v3_RelatingReference, aggregate_of_instance::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcExternalReferenceRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingReference));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } +Ifc4x3::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcExternalReferenceRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingReference));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcExternalSpatialElement boost::optional< ::Ifc4x3::IfcExternalSpatialElementTypeEnum::Value > Ifc4x3::IfcExternalSpatialElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3::IfcExternalSpatialElementTypeEnum::FromString(*data_->getArgument(8)); } @@ -16745,8 +16745,8 @@ Ifc4x3::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcEntityInst Ifc4x3::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcFeatureElementSubtraction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcFillAreaStyle -aggregate_of_instance::ptr Ifc4x3::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3::IfcFillAreaStyle::setFillStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3::IfcFillStyleSelect >::ptr Ifc4x3::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3::IfcFillStyleSelect >(); } +void Ifc4x3::IfcFillAreaStyle::setFillStyles(aggregate_of< ::Ifc4x3::IfcFillStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x3::IfcFillAreaStyle::ModelOrDraughting() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } void Ifc4x3::IfcFillAreaStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } @@ -16754,7 +16754,7 @@ void Ifc4x3::IfcFillAreaStyle::setModelOrDraughting(boost::optional< bool > v) { const IfcParse::entity& Ifc4x3::IfcFillAreaStyle::declaration() const { return *IFC4X3_IfcFillAreaStyle_type; } const IfcParse::entity& Ifc4x3::IfcFillAreaStyle::Class() { return *IFC4X3_IfcFillAreaStyle_type; } Ifc4x3::IfcFillAreaStyle::IfcFillAreaStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcFillAreaStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of_instance::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles));data_->setArgument(1,attr);} if (v3_ModelOrDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ModelOrDraughting));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x3::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles)->generalize());data_->setArgument(1,attr);} if (v3_ModelOrDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ModelOrDraughting));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcFillAreaStyleHatching ::Ifc4x3::IfcCurveStyle* Ifc4x3::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3::IfcCurveStyle>(true); } @@ -17074,7 +17074,7 @@ Ifc4x3::IfcGeographicElementType::IfcGeographicElementType(std::string v1_Global const IfcParse::entity& Ifc4x3::IfcGeometricCurveSet::declaration() const { return *IFC4X3_IfcGeometricCurveSet_type; } const IfcParse::entity& Ifc4x3::IfcGeometricCurveSet::Class() { return *IFC4X3_IfcGeometricCurveSet_type; } Ifc4x3::IfcGeometricCurveSet::IfcGeometricCurveSet(IfcEntityInstanceData* e) : IfcGeometricSet((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcGeometricCurveSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of_instance::ptr v1_Elements) : IfcGeometricSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcGeometricCurveSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } +Ifc4x3::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4x3::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcGeometricCurveSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcGeometricRepresentationContext int Ifc4x3::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = *data_->getArgument(2); return v; } @@ -17119,14 +17119,14 @@ Ifc4x3::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubConte Ifc4x3::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, ::Ifc4x3::IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, ::Ifc4x3::IfcGeometricProjectionEnum::Value v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcGeometricRepresentationSubContext_type); if (v1_ContextIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_ContextIdentifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_ContextType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ContextType));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ParentContext));data_->setArgument(6,attr);} if (v8_TargetScale) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_TargetScale));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_TargetView,::Ifc4x3::IfcGeometricProjectionEnum::ToString(v9_TargetView))));data_->setArgument(8,attr);} if (v10_UserDefinedTargetView) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_UserDefinedTargetView));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcGeometricSet -aggregate_of_instance::ptr Ifc4x3::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3::IfcGeometricSet::setElements(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3::IfcGeometricSetSelect >::ptr Ifc4x3::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3::IfcGeometricSetSelect >(); } +void Ifc4x3::IfcGeometricSet::setElements(aggregate_of< ::Ifc4x3::IfcGeometricSetSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3::IfcGeometricSet::declaration() const { return *IFC4X3_IfcGeometricSet_type; } const IfcParse::entity& Ifc4x3::IfcGeometricSet::Class() { return *IFC4X3_IfcGeometricSet_type; } Ifc4x3::IfcGeometricSet::IfcGeometricSet(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcGeometricSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcGeometricSet::IfcGeometricSet(aggregate_of_instance::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcGeometricSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } +Ifc4x3::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x3::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcGeometricSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcGeomodel @@ -17361,8 +17361,8 @@ Ifc4x3::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4x3::IfcTessellatedFaceSet // Function implementations for IfcIndexedPolyCurve ::Ifc4x3::IfcCartesianPointList* Ifc4x3::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3::IfcCartesianPointList>(true); } void Ifc4x3::IfcIndexedPolyCurve::setPoints(::Ifc4x3::IfcCartesianPointList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x3::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } +boost::optional< aggregate_of< ::Ifc4x3::IfcSegmentIndexSelect >::ptr > Ifc4x3::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3::IfcSegmentIndexSelect >(); } +void Ifc4x3::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of< ::Ifc4x3::IfcSegmentIndexSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(1,attr);} } boost::logic::tribool Ifc4x3::IfcIndexedPolyCurve::SelfIntersect() const { boost::logic::tribool v = *data_->getArgument(2); return v; } void Ifc4x3::IfcIndexedPolyCurve::setSelfIntersect(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -17370,7 +17370,7 @@ void Ifc4x3::IfcIndexedPolyCurve::setSelfIntersect(boost::logic::tribool v) { {I const IfcParse::entity& Ifc4x3::IfcIndexedPolyCurve::declaration() const { return *IFC4X3_IfcIndexedPolyCurve_type; } const IfcParse::entity& Ifc4x3::IfcIndexedPolyCurve::Class() { return *IFC4X3_IfcIndexedPolyCurve_type; } Ifc4x3::IfcIndexedPolyCurve::IfcIndexedPolyCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcIndexedPolyCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x3::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of_instance::ptr > v2_Segments, boost::logic::tribool v3_SelfIntersect) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcIndexedPolyCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Points));data_->setArgument(0,attr);} if (v2_Segments) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Segments));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_SelfIntersect));data_->setArgument(2,attr);} } +Ifc4x3::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x3::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x3::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::logic::tribool v3_SelfIntersect) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcIndexedPolyCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Points));data_->setArgument(0,attr);} if (v2_Segments) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Segments)->generalize());data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_SelfIntersect));data_->setArgument(2,attr);} } // Function implementations for IfcIndexedPolygonalFace std::vector< int > /*[3:?]*/ Ifc4x3::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = *data_->getArgument(0); return v; } @@ -17487,14 +17487,14 @@ Ifc4x3::IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, boos // Function implementations for IfcIrregularTimeSeriesValue std::string Ifc4x3::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3::IfcIrregularTimeSeriesValue::setTimeStamp(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of_instance::ptr Ifc4x3::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3::IfcIrregularTimeSeriesValue::setListValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3::IfcValue >::ptr Ifc4x3::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3::IfcValue >(); } +void Ifc4x3::IfcIrregularTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3::IfcIrregularTimeSeriesValue::declaration() const { return *IFC4X3_IfcIrregularTimeSeriesValue_type; } const IfcParse::entity& Ifc4x3::IfcIrregularTimeSeriesValue::Class() { return *IFC4X3_IfcIrregularTimeSeriesValue_type; } Ifc4x3::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_IfcIrregularTimeSeriesValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of_instance::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_IfcIrregularTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TimeStamp));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ListValues));data_->setArgument(1,attr);} } +Ifc4x3::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4x3::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_IfcIrregularTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TimeStamp));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ListValues)->generalize());data_->setArgument(1,attr);} } // Function implementations for IfcJunctionBox boost::optional< ::Ifc4x3::IfcJunctionBoxTypeEnum::Value > Ifc4x3::IfcJunctionBox::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3::IfcJunctionBoxTypeEnum::FromString(*data_->getArgument(8)); } @@ -17941,8 +17941,8 @@ Ifc4x3::IfcMaterial::IfcMaterial(IfcEntityInstanceData* e) : IfcMaterialDefiniti Ifc4x3::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_Category) : IfcMaterialDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Category) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Category));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcMaterialClassificationRelationship -aggregate_of_instance::ptr Ifc4x3::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3::IfcClassificationSelect >::ptr Ifc4x3::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3::IfcClassificationSelect >(); } +void Ifc4x3::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of< ::Ifc4x3::IfcClassificationSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } ::Ifc4x3::IfcMaterial* Ifc4x3::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3::IfcMaterial>(true); } void Ifc4x3::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc4x3::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -17950,7 +17950,7 @@ void Ifc4x3::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc4 const IfcParse::entity& Ifc4x3::IfcMaterialClassificationRelationship::declaration() const { return *IFC4X3_IfcMaterialClassificationRelationship_type; } const IfcParse::entity& Ifc4x3::IfcMaterialClassificationRelationship::Class() { return *IFC4X3_IfcMaterialClassificationRelationship_type; } Ifc4x3::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_IfcMaterialClassificationRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of_instance::ptr v1_MaterialClassifications, ::Ifc4x3::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_IfcMaterialClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialClassifications));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ClassifiedMaterial));data_->setArgument(1,attr);} } +Ifc4x3::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4x3::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x3::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_IfcMaterialClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialClassifications)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ClassifiedMaterial));data_->setArgument(1,attr);} } // Function implementations for IfcMaterialConstituent boost::optional< std::string > Ifc4x3::IfcMaterialConstituent::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -19175,8 +19175,8 @@ std::string Ifc4x3::IfcPresentationLayerAssignment::Name() const { std::string void Ifc4x3::IfcPresentationLayerAssignment::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3::IfcPresentationLayerAssignment::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x3::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } -aggregate_of_instance::ptr Ifc4x3::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3::IfcLayeredItem >::ptr Ifc4x3::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3::IfcLayeredItem >(); } +void Ifc4x3::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of< ::Ifc4x3::IfcLayeredItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3::IfcPresentationLayerAssignment::Identifier() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4x3::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } @@ -19184,7 +19184,7 @@ void Ifc4x3::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std: const IfcParse::entity& Ifc4x3::IfcPresentationLayerAssignment::declaration() const { return *IFC4X3_IfcPresentationLayerAssignment_type; } const IfcParse::entity& Ifc4x3::IfcPresentationLayerAssignment::Class() { return *IFC4X3_IfcPresentationLayerAssignment_type; } Ifc4x3::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_IfcPresentationLayerAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_IfcPresentationLayerAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } +Ifc4x3::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_IfcPresentationLayerAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems)->generalize());data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcPresentationLayerWithStyle boost::logic::tribool Ifc4x3::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = *data_->getArgument(4); return v; } @@ -19200,7 +19200,7 @@ void Ifc4x3::IfcPresentationLayerWithStyle::setLayerStyles(aggregate_of< ::Ifc4x const IfcParse::entity& Ifc4x3::IfcPresentationLayerWithStyle::declaration() const { return *IFC4X3_IfcPresentationLayerWithStyle_type; } const IfcParse::entity& Ifc4x3::IfcPresentationLayerWithStyle::Class() { return *IFC4X3_IfcPresentationLayerWithStyle_type; } Ifc4x3::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcEntityInstanceData* e) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcPresentationLayerWithStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcPresentationLayerWithStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_LayerOn));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LayerFrozen));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LayerBlocked));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LayerStyles)->generalize());data_->setArgument(7,attr);} } +Ifc4x3::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcPresentationLayerWithStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems)->generalize());data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_LayerOn));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LayerFrozen));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LayerBlocked));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LayerStyles)->generalize());data_->setArgument(7,attr);} } // Function implementations for IfcPresentationStyle boost::optional< std::string > Ifc4x3::IfcPresentationStyle::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -19432,8 +19432,8 @@ Ifc4x3::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(Ifc Ifc4x3::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcProperty* v3_DependingProperty, ::Ifc4x3::IfcProperty* v4_DependantProperty, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcPropertyDependencyRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_DependingProperty));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_DependantProperty));data_->setArgument(3,attr);} if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcPropertyEnumeratedValue -boost::optional< aggregate_of_instance::ptr > Ifc4x3::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > Ifc4x3::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3::IfcValue >(); } +void Ifc4x3::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } ::Ifc4x3::IfcPropertyEnumeration* Ifc4x3::IfcPropertyEnumeratedValue::EnumerationReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3::IfcPropertyEnumeration>(true); } void Ifc4x3::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x3::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19441,13 +19441,13 @@ void Ifc4x3::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x3::IfcPr const IfcParse::entity& Ifc4x3::IfcPropertyEnumeratedValue::declaration() const { return *IFC4X3_IfcPropertyEnumeratedValue_type; } const IfcParse::entity& Ifc4x3::IfcPropertyEnumeratedValue::Class() { return *IFC4X3_IfcPropertyEnumeratedValue_type; } Ifc4x3::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcPropertyEnumeratedValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of_instance::ptr > v3_EnumerationValues, ::Ifc4x3::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcPropertyEnumeratedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Specification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Specification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EnumerationValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EnumerationValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EnumerationReference));data_->setArgument(3,attr);} } +Ifc4x3::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x3::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcPropertyEnumeratedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Specification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Specification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EnumerationValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EnumerationValues)->generalize());data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EnumerationReference));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyEnumeration std::string Ifc4x3::IfcPropertyEnumeration::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3::IfcPropertyEnumeration::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of_instance::ptr Ifc4x3::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3::IfcPropertyEnumeration::setEnumerationValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3::IfcValue >::ptr Ifc4x3::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3::IfcValue >(); } +void Ifc4x3::IfcPropertyEnumeration::setEnumerationValues(aggregate_of< ::Ifc4x3::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } ::Ifc4x3::IfcUnit* Ifc4x3::IfcPropertyEnumeration::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3::IfcUnit>(true); } void Ifc4x3::IfcPropertyEnumeration::setUnit(::Ifc4x3::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -19455,11 +19455,11 @@ void Ifc4x3::IfcPropertyEnumeration::setUnit(::Ifc4x3::IfcUnit* v) { {IfcWrite:: const IfcParse::entity& Ifc4x3::IfcPropertyEnumeration::declaration() const { return *IFC4X3_IfcPropertyEnumeration_type; } const IfcParse::entity& Ifc4x3::IfcPropertyEnumeration::Class() { return *IFC4X3_IfcPropertyEnumeration_type; } Ifc4x3::IfcPropertyEnumeration::IfcPropertyEnumeration(IfcEntityInstanceData* e) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcPropertyEnumeration_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of_instance::ptr v2_EnumerationValues, ::Ifc4x3::IfcUnit* v3_Unit) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcPropertyEnumeration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EnumerationValues));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);} } +Ifc4x3::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4x3::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x3::IfcUnit* v3_Unit) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcPropertyEnumeration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EnumerationValues)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);} } // Function implementations for IfcPropertyListValue -boost::optional< aggregate_of_instance::ptr > Ifc4x3::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3::IfcPropertyListValue::setListValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > Ifc4x3::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3::IfcValue >(); } +void Ifc4x3::IfcPropertyListValue::setListValues(boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } ::Ifc4x3::IfcUnit* Ifc4x3::IfcPropertyListValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3::IfcUnit>(true); } void Ifc4x3::IfcPropertyListValue::setUnit(::Ifc4x3::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19467,7 +19467,7 @@ void Ifc4x3::IfcPropertyListValue::setUnit(::Ifc4x3::IfcUnit* v) { {IfcWrite::If const IfcParse::entity& Ifc4x3::IfcPropertyListValue::declaration() const { return *IFC4X3_IfcPropertyListValue_type; } const IfcParse::entity& Ifc4x3::IfcPropertyListValue::Class() { return *IFC4X3_IfcPropertyListValue_type; } Ifc4x3::IfcPropertyListValue::IfcPropertyListValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcPropertyListValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of_instance::ptr > v3_ListValues, ::Ifc4x3::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcPropertyListValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Specification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Specification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ListValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ListValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } +Ifc4x3::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v3_ListValues, ::Ifc4x3::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcPropertyListValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Specification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Specification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ListValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ListValues)->generalize());data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyReferenceValue boost::optional< std::string > Ifc4x3::IfcPropertyReferenceValue::UsageName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } @@ -19530,10 +19530,10 @@ Ifc4x3::IfcPropertySingleValue::IfcPropertySingleValue(IfcEntityInstanceData* e) Ifc4x3::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Specification, ::Ifc4x3::IfcValue* v3_NominalValue, ::Ifc4x3::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcPropertySingleValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Specification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Specification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_NominalValue));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyTableValue -boost::optional< aggregate_of_instance::ptr > Ifc4x3::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x3::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } -void Ifc4x3::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } +boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > Ifc4x3::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3::IfcValue >(); } +void Ifc4x3::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > Ifc4x3::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3::IfcValue >(); } +void Ifc4x3::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3::IfcPropertyTableValue::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x3::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x3::IfcUnit* Ifc4x3::IfcPropertyTableValue::DefiningUnit() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3::IfcUnit>(true); } @@ -19547,7 +19547,7 @@ void Ifc4x3::IfcPropertyTableValue::setCurveInterpolation(boost::optional< ::Ifc const IfcParse::entity& Ifc4x3::IfcPropertyTableValue::declaration() const { return *IFC4X3_IfcPropertyTableValue_type; } const IfcParse::entity& Ifc4x3::IfcPropertyTableValue::Class() { return *IFC4X3_IfcPropertyTableValue_type; } Ifc4x3::IfcPropertyTableValue::IfcPropertyTableValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcPropertyTableValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of_instance::ptr > v3_DefiningValues, boost::optional< aggregate_of_instance::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3::IfcUnit* v6_DefiningUnit, ::Ifc4x3::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcPropertyTableValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Specification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Specification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_DefiningValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_DefiningValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DefinedValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DefinedValues));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_DefiningUnit));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_DefinedUnit));data_->setArgument(6,attr);} if (v8_CurveInterpolation) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_CurveInterpolation,::Ifc4x3::IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } +Ifc4x3::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3::IfcUnit* v6_DefiningUnit, ::Ifc4x3::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcPropertyTableValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Specification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Specification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_DefiningValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_DefiningValues)->generalize());data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DefinedValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DefinedValues)->generalize());data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_DefiningUnit));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_DefinedUnit));data_->setArgument(6,attr);} if (v8_CurveInterpolation) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_CurveInterpolation,::Ifc4x3::IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcPropertyTemplate @@ -20038,14 +20038,14 @@ boost::optional< ::Ifc4x3::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3::IfcRein void Ifc4x3::IfcReinforcingBarType::setBarSurface(boost::optional< ::Ifc4x3::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3::IfcReinforcingBarSurfaceEnum::ToString(*v)));}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4x3::IfcReinforcingBarType::BendingShapeCode() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } void Ifc4x3::IfcReinforcingBarType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x3::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(15); return v; } -void Ifc4x3::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } +boost::optional< aggregate_of< ::Ifc4x3::IfcBendingParameterSelect >::ptr > Ifc4x3::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(15); return es->as< ::Ifc4x3::IfcBendingParameterSelect >(); } +void Ifc4x3::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(15,attr);} } const IfcParse::entity& Ifc4x3::IfcReinforcingBarType::declaration() const { return *IFC4X3_IfcReinforcingBarType_type; } const IfcParse::entity& Ifc4x3::IfcReinforcingBarType::Class() { return *IFC4X3_IfcReinforcingBarType_type; } Ifc4x3::IfcReinforcingBarType::IfcReinforcingBarType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcReinforcingBarType_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of_instance::ptr > v16_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcReinforcingBarType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3::IfcReinforcingBarTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_BarLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_BarLength));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_BarSurface) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_BarSurface,::Ifc4x3::IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_BendingShapeCode));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_BendingParameters));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } } +Ifc4x3::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcReinforcingBarType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3::IfcReinforcingBarTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_BarLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_BarLength));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_BarSurface) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_BarSurface,::Ifc4x3::IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_BendingShapeCode));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_BendingParameters)->generalize());data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } } // Function implementations for IfcReinforcingElement boost::optional< std::string > Ifc4x3::IfcReinforcingElement::SteelGrade() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } @@ -20112,14 +20112,14 @@ boost::optional< double > Ifc4x3::IfcReinforcingMeshType::TransverseBarSpacing() void Ifc4x3::IfcReinforcingMeshType::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(17,attr);} } boost::optional< std::string > Ifc4x3::IfcReinforcingMeshType::BendingShapeCode() const { if(!data_->getArgument(18) || data_->getArgument(18)->isNull()) { return boost::none; } std::string v = *data_->getArgument(18); return v; } void Ifc4x3::IfcReinforcingMeshType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(18,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x3::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(19); return v; } -void Ifc4x3::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(19,attr);} } +boost::optional< aggregate_of< ::Ifc4x3::IfcBendingParameterSelect >::ptr > Ifc4x3::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(19); return es->as< ::Ifc4x3::IfcBendingParameterSelect >(); } +void Ifc4x3::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(19,attr);} } const IfcParse::entity& Ifc4x3::IfcReinforcingMeshType::declaration() const { return *IFC4X3_IfcReinforcingMeshType_type; } const IfcParse::entity& Ifc4x3::IfcReinforcingMeshType::Class() { return *IFC4X3_IfcReinforcingMeshType_type; } Ifc4x3::IfcReinforcingMeshType::IfcReinforcingMeshType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcReinforcingMeshType_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of_instance::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcReinforcingMeshType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3::IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshLength));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_MeshWidth));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LongitudinalBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TransverseBarNominalDiameter));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LongitudinalBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_TransverseBarCrossSectionArea));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LongitudinalBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_TransverseBarSpacing));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_BendingShapeCode));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_BendingParameters));data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } +Ifc4x3::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of< ::Ifc4x3::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcReinforcingMeshType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3::IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshLength));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_MeshWidth));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LongitudinalBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TransverseBarNominalDiameter));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LongitudinalBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_TransverseBarCrossSectionArea));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LongitudinalBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_TransverseBarSpacing));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_BendingShapeCode));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_BendingParameters)->generalize());data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } // Function implementations for IfcRelAdheresToElement ::Ifc4x3::IfcElement* Ifc4x3::IfcRelAdheresToElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3::IfcElement>(true); } @@ -20232,14 +20232,14 @@ Ifc4x3::IfcRelAssignsToResource::IfcRelAssignsToResource(IfcEntityInstanceData* Ifc4x3::IfcRelAssignsToResource::IfcRelAssignsToResource(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3::IfcResourceSelect* v7_RelatingResource) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcRelAssignsToResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x3::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingResource));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociates -aggregate_of_instance::ptr Ifc4x3::IfcRelAssociates::RelatedObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(4); return v; } -void Ifc4x3::IfcRelAssociates::setRelatedObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr Ifc4x3::IfcRelAssociates::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3::IfcDefinitionSelect >(); } +void Ifc4x3::IfcRelAssociates::setRelatedObjects(aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3::IfcRelAssociates::declaration() const { return *IFC4X3_IfcRelAssociates_type; } const IfcParse::entity& Ifc4x3::IfcRelAssociates::Class() { return *IFC4X3_IfcRelAssociates_type; } Ifc4x3::IfcRelAssociates::IfcRelAssociates(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcRelAssociates_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} } +Ifc4x3::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} } // Function implementations for IfcRelAssociatesApproval ::Ifc4x3::IfcApproval* Ifc4x3::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3::IfcApproval>(true); } @@ -20249,7 +20249,7 @@ void Ifc4x3::IfcRelAssociatesApproval::setRelatingApproval(::Ifc4x3::IfcApproval const IfcParse::entity& Ifc4x3::IfcRelAssociatesApproval::declaration() const { return *IFC4X3_IfcRelAssociatesApproval_type; } const IfcParse::entity& Ifc4x3::IfcRelAssociatesApproval::Class() { return *IFC4X3_IfcRelAssociatesApproval_type; } Ifc4x3::IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcRelAssociatesApproval_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3::IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } +Ifc4x3::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3::IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesClassification ::Ifc4x3::IfcClassificationSelect* Ifc4x3::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3::IfcClassificationSelect>(true); } @@ -20259,7 +20259,7 @@ void Ifc4x3::IfcRelAssociatesClassification::setRelatingClassification(::Ifc4x3: const IfcParse::entity& Ifc4x3::IfcRelAssociatesClassification::declaration() const { return *IFC4X3_IfcRelAssociatesClassification_type; } const IfcParse::entity& Ifc4x3::IfcRelAssociatesClassification::Class() { return *IFC4X3_IfcRelAssociatesClassification_type; } Ifc4x3::IfcRelAssociatesClassification::IfcRelAssociatesClassification(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcRelAssociatesClassification_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcRelAssociatesClassification_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingClassification));data_->setArgument(5,attr);} } +Ifc4x3::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcRelAssociatesClassification_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingClassification));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesConstraint boost::optional< std::string > Ifc4x3::IfcRelAssociatesConstraint::Intent() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } @@ -20271,7 +20271,7 @@ void Ifc4x3::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc4x3::IfcCons const IfcParse::entity& Ifc4x3::IfcRelAssociatesConstraint::declaration() const { return *IFC4X3_IfcRelAssociatesConstraint_type; } const IfcParse::entity& Ifc4x3::IfcRelAssociatesConstraint::Class() { return *IFC4X3_IfcRelAssociatesConstraint_type; } Ifc4x3::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcRelAssociatesConstraint_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} if (v6_Intent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Intent));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } +Ifc4x3::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_Intent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Intent));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociatesDocument ::Ifc4x3::IfcDocumentSelect* Ifc4x3::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3::IfcDocumentSelect>(true); } @@ -20281,7 +20281,7 @@ void Ifc4x3::IfcRelAssociatesDocument::setRelatingDocument(::Ifc4x3::IfcDocument const IfcParse::entity& Ifc4x3::IfcRelAssociatesDocument::declaration() const { return *IFC4X3_IfcRelAssociatesDocument_type; } const IfcParse::entity& Ifc4x3::IfcRelAssociatesDocument::Class() { return *IFC4X3_IfcRelAssociatesDocument_type; } Ifc4x3::IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcRelAssociatesDocument_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } +Ifc4x3::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesLibrary ::Ifc4x3::IfcLibrarySelect* Ifc4x3::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3::IfcLibrarySelect>(true); } @@ -20291,7 +20291,7 @@ void Ifc4x3::IfcRelAssociatesLibrary::setRelatingLibrary(::Ifc4x3::IfcLibrarySel const IfcParse::entity& Ifc4x3::IfcRelAssociatesLibrary::declaration() const { return *IFC4X3_IfcRelAssociatesLibrary_type; } const IfcParse::entity& Ifc4x3::IfcRelAssociatesLibrary::Class() { return *IFC4X3_IfcRelAssociatesLibrary_type; } Ifc4x3::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcRelAssociatesLibrary_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } +Ifc4x3::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesMaterial ::Ifc4x3::IfcMaterialSelect* Ifc4x3::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3::IfcMaterialSelect>(true); } @@ -20301,7 +20301,7 @@ void Ifc4x3::IfcRelAssociatesMaterial::setRelatingMaterial(::Ifc4x3::IfcMaterial const IfcParse::entity& Ifc4x3::IfcRelAssociatesMaterial::declaration() const { return *IFC4X3_IfcRelAssociatesMaterial_type; } const IfcParse::entity& Ifc4x3::IfcRelAssociatesMaterial::Class() { return *IFC4X3_IfcRelAssociatesMaterial_type; } Ifc4x3::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcRelAssociatesMaterial_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcRelAssociatesMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingMaterial));data_->setArgument(5,attr);} } +Ifc4x3::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcRelAssociatesMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingMaterial));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesProfileDef ::Ifc4x3::IfcProfileDef* Ifc4x3::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3::IfcProfileDef>(true); } @@ -20311,7 +20311,7 @@ void Ifc4x3::IfcRelAssociatesProfileDef::setRelatingProfileDef(::Ifc4x3::IfcProf const IfcParse::entity& Ifc4x3::IfcRelAssociatesProfileDef::declaration() const { return *IFC4X3_IfcRelAssociatesProfileDef_type; } const IfcParse::entity& Ifc4x3::IfcRelAssociatesProfileDef::Class() { return *IFC4X3_IfcRelAssociatesProfileDef_type; } Ifc4x3::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcRelAssociatesProfileDef_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3::IfcProfileDef* v6_RelatingProfileDef) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcRelAssociatesProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingProfileDef));data_->setArgument(5,attr);} } +Ifc4x3::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3::IfcProfileDef* v6_RelatingProfileDef) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcRelAssociatesProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingProfileDef));data_->setArgument(5,attr);} } // Function implementations for IfcRelConnects @@ -20470,14 +20470,14 @@ Ifc4x3::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::Ifc4x3 // Function implementations for IfcRelDeclares ::Ifc4x3::IfcContext* Ifc4x3::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3::IfcContext>(true); } void Ifc4x3::IfcRelDeclares::setRelatingContext(::Ifc4x3::IfcContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -aggregate_of_instance::ptr Ifc4x3::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr v = *data_->getArgument(5); return v; } -void Ifc4x3::IfcRelDeclares::setRelatedDefinitions(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } +aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr Ifc4x3::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3::IfcDefinitionSelect >(); } +void Ifc4x3::IfcRelDeclares::setRelatedDefinitions(aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3::IfcRelDeclares::declaration() const { return *IFC4X3_IfcRelDeclares_type; } const IfcParse::entity& Ifc4x3::IfcRelDeclares::Class() { return *IFC4X3_IfcRelDeclares_type; } Ifc4x3::IfcRelDeclares::IfcRelDeclares(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcRelDeclares_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcContext* v5_RelatingContext, aggregate_of_instance::ptr v6_RelatedDefinitions) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcRelDeclares_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingContext));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedDefinitions));data_->setArgument(5,attr);} } +Ifc4x3::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcRelDeclares_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingContext));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedDefinitions)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelDecomposes @@ -20624,8 +20624,8 @@ Ifc4x3::IfcRelProjectsElement::IfcRelProjectsElement(IfcEntityInstanceData* e) : Ifc4x3::IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcElement* v5_RelatingElement, ::Ifc4x3::IfcFeatureElementAddition* v6_RelatedFeatureElement) : IfcRelDecomposes((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcRelProjectsElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedFeatureElement));data_->setArgument(5,attr);} } // Function implementations for IfcRelReferencedInSpatialStructure -aggregate_of_instance::ptr Ifc4x3::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr v = *data_->getArgument(4); return v; } -void Ifc4x3::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +aggregate_of< ::Ifc4x3::IfcSpatialReferenceSelect >::ptr Ifc4x3::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3::IfcSpatialReferenceSelect >(); } +void Ifc4x3::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4x3::IfcSpatialReferenceSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } ::Ifc4x3::IfcSpatialElement* Ifc4x3::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3::IfcSpatialElement>(true); } void Ifc4x3::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc4x3::IfcSpatialElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20633,7 +20633,7 @@ void Ifc4x3::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc4x3:: const IfcParse::entity& Ifc4x3::IfcRelReferencedInSpatialStructure::declaration() const { return *IFC4X3_IfcRelReferencedInSpatialStructure_type; } const IfcParse::entity& Ifc4x3::IfcRelReferencedInSpatialStructure::Class() { return *IFC4X3_IfcRelReferencedInSpatialStructure_type; } Ifc4x3::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(IfcEntityInstanceData* e) : IfcRelConnects((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcRelReferencedInSpatialStructure_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedElements, ::Ifc4x3::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcRelReferencedInSpatialStructure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedElements));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingStructure));data_->setArgument(5,attr);} } +Ifc4x3::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcSpatialReferenceSelect >::ptr v5_RelatedElements, ::Ifc4x3::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcRelReferencedInSpatialStructure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedElements)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingStructure));data_->setArgument(5,attr);} } // Function implementations for IfcRelSequence ::Ifc4x3::IfcProcess* Ifc4x3::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3::IfcProcess>(true); } @@ -20805,8 +20805,8 @@ Ifc4x3::IfcResource::IfcResource(IfcEntityInstanceData* e) : IfcObject((IfcEntit Ifc4x3::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc4x3::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((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_LongDescription));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcResourceApprovalRelationship -aggregate_of_instance::ptr Ifc4x3::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr Ifc4x3::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3::IfcResourceObjectSelect >(); } +void Ifc4x3::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } ::Ifc4x3::IfcApproval* Ifc4x3::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3::IfcApproval>(true); } void Ifc4x3::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x3::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -20814,19 +20814,19 @@ void Ifc4x3::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x3::IfcA const IfcParse::entity& Ifc4x3::IfcResourceApprovalRelationship::declaration() const { return *IFC4X3_IfcResourceApprovalRelationship_type; } const IfcParse::entity& Ifc4x3::IfcResourceApprovalRelationship::Class() { return *IFC4X3_IfcResourceApprovalRelationship_type; } Ifc4x3::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcResourceApprovalRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_RelatedResourceObjects, ::Ifc4x3::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcResourceApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatedResourceObjects));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatingApproval));data_->setArgument(3,attr);} } +Ifc4x3::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x3::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcResourceApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatedResourceObjects)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatingApproval));data_->setArgument(3,attr);} } // Function implementations for IfcResourceConstraintRelationship ::Ifc4x3::IfcConstraint* Ifc4x3::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3::IfcConstraint>(true); } void Ifc4x3::IfcResourceConstraintRelationship::setRelatingConstraint(::Ifc4x3::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -aggregate_of_instance::ptr Ifc4x3::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } -void Ifc4x3::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr Ifc4x3::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3::IfcResourceObjectSelect >(); } +void Ifc4x3::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3::IfcResourceConstraintRelationship::declaration() const { return *IFC4X3_IfcResourceConstraintRelationship_type; } const IfcParse::entity& Ifc4x3::IfcResourceConstraintRelationship::Class() { return *IFC4X3_IfcResourceConstraintRelationship_type; } Ifc4x3::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcResourceConstraintRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcConstraint* v3_RelatingConstraint, aggregate_of_instance::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcResourceConstraintRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingConstraint));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } +Ifc4x3::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcResourceConstraintRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingConstraint));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcResourceLevelRelationship boost::optional< std::string > Ifc4x3::IfcResourceLevelRelationship::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -21266,14 +21266,14 @@ Ifc4x3::IfcShapeRepresentation::IfcShapeRepresentation(IfcEntityInstanceData* e) Ifc4x3::IfcShapeRepresentation::IfcShapeRepresentation(::Ifc4x3::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcShapeRepresentation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ContextOfItems));data_->setArgument(0,attr);} if (v2_RepresentationIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_RepresentationIdentifier));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_RepresentationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_RepresentationType));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Items)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcShellBasedSurfaceModel -aggregate_of_instance::ptr Ifc4x3::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3::IfcShell >::ptr Ifc4x3::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3::IfcShell >(); } +void Ifc4x3::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of< ::Ifc4x3::IfcShell >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3::IfcShellBasedSurfaceModel::declaration() const { return *IFC4X3_IfcShellBasedSurfaceModel_type; } const IfcParse::entity& Ifc4x3::IfcShellBasedSurfaceModel::Class() { return *IFC4X3_IfcShellBasedSurfaceModel_type; } Ifc4x3::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcShellBasedSurfaceModel_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of_instance::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcShellBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SbsmBoundary));data_->setArgument(0,attr);} } +Ifc4x3::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4x3::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcShellBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SbsmBoundary)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcSign boost::optional< ::Ifc4x3::IfcSignTypeEnum::Value > Ifc4x3::IfcSign::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3::IfcSignTypeEnum::FromString(*data_->getArgument(8)); } @@ -22215,14 +22215,14 @@ Ifc4x3::IfcSurfaceReinforcementArea::IfcSurfaceReinforcementArea(boost::optional // Function implementations for IfcSurfaceStyle ::Ifc4x3::IfcSurfaceSide::Value Ifc4x3::IfcSurfaceStyle::Side() const { return ::Ifc4x3::IfcSurfaceSide::FromString(*data_->getArgument(1)); } void Ifc4x3::IfcSurfaceStyle::setSide(::Ifc4x3::IfcSurfaceSide::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3::IfcSurfaceSide::ToString(v)));data_->setArgument(1,attr);} } -aggregate_of_instance::ptr Ifc4x3::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3::IfcSurfaceStyle::setStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3::IfcSurfaceStyleElementSelect >::ptr Ifc4x3::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3::IfcSurfaceStyleElementSelect >(); } +void Ifc4x3::IfcSurfaceStyle::setStyles(aggregate_of< ::Ifc4x3::IfcSurfaceStyleElementSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3::IfcSurfaceStyle::declaration() const { return *IFC4X3_IfcSurfaceStyle_type; } const IfcParse::entity& Ifc4x3::IfcSurfaceStyle::Class() { return *IFC4X3_IfcSurfaceStyle_type; } Ifc4x3::IfcSurfaceStyle::IfcSurfaceStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcSurfaceStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3::IfcSurfaceSide::Value v2_Side, aggregate_of_instance::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc4x3::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles));data_->setArgument(2,attr);} } +Ifc4x3::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x3::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc4x3::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles)->generalize());data_->setArgument(2,attr);} } // Function implementations for IfcSurfaceStyleLighting ::Ifc4x3::IfcColourRgb* Ifc4x3::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3::IfcColourRgb>(true); } @@ -22477,8 +22477,8 @@ Ifc4x3::IfcTableColumn::IfcTableColumn(IfcEntityInstanceData* e) : IfcUtil::IfcB Ifc4x3::IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, ::Ifc4x3::IfcUnit* v4_Unit, ::Ifc4x3::IfcReference* v5_ReferencePath) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_IfcTableColumn_type); if (v1_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Identifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Name));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_ReferencePath));data_->setArgument(4,attr);} } // Function implementations for IfcTableRow -boost::optional< aggregate_of_instance::ptr > Ifc4x3::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3::IfcTableRow::setRowCells(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } +boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > Ifc4x3::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3::IfcValue >(); } +void Ifc4x3::IfcTableRow::setRowCells(boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(0,attr);} } boost::optional< bool > Ifc4x3::IfcTableRow::IsHeading() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } bool v = *data_->getArgument(1); return v; } void Ifc4x3::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } @@ -22486,7 +22486,7 @@ void Ifc4x3::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrite::I const IfcParse::entity& Ifc4x3::IfcTableRow::declaration() const { return *IFC4X3_IfcTableRow_type; } const IfcParse::entity& Ifc4x3::IfcTableRow::Class() { return *IFC4X3_IfcTableRow_type; } Ifc4x3::IfcTableRow::IfcTableRow(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_IfcTableRow_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcTableRow::IfcTableRow(boost::optional< aggregate_of_instance::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_IfcTableRow_type); if (v1_RowCells) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RowCells));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_IsHeading) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_IsHeading));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } +Ifc4x3::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_IfcTableRow_type); if (v1_RowCells) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RowCells)->generalize());data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_IsHeading) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_IsHeading));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcTank boost::optional< ::Ifc4x3::IfcTankTypeEnum::Value > Ifc4x3::IfcTank::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3::IfcTankTypeEnum::FromString(*data_->getArgument(8)); } @@ -22939,14 +22939,14 @@ Ifc4x3::IfcTimeSeries::IfcTimeSeries(IfcEntityInstanceData* e) : IfcUtil::IfcBas Ifc4x3::IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3::IfcUnit* v8_Unit) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_IfcTimeSeries_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_StartTime));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EndTime));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_TimeSeriesDataType,::Ifc4x3::IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType))));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v6_DataOrigin,::Ifc4x3::IfcDataOriginEnum::ToString(v6_DataOrigin))));data_->setArgument(5,attr);} if (v7_UserDefinedDataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_UserDefinedDataOrigin));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Unit));data_->setArgument(7,attr);} } // Function implementations for IfcTimeSeriesValue -aggregate_of_instance::ptr Ifc4x3::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3::IfcTimeSeriesValue::setListValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3::IfcValue >::ptr Ifc4x3::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3::IfcValue >(); } +void Ifc4x3::IfcTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3::IfcTimeSeriesValue::declaration() const { return *IFC4X3_IfcTimeSeriesValue_type; } const IfcParse::entity& Ifc4x3::IfcTimeSeriesValue::Class() { return *IFC4X3_IfcTimeSeriesValue_type; } Ifc4x3::IfcTimeSeriesValue::IfcTimeSeriesValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_IfcTimeSeriesValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of_instance::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_IfcTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ListValues));data_->setArgument(0,attr);} } +Ifc4x3::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x3::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_IfcTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ListValues)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcTopologicalRepresentationItem @@ -23095,10 +23095,10 @@ Ifc4x3::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(::Ifc4x // Function implementations for IfcTrimmedCurve ::Ifc4x3::IfcCurve* Ifc4x3::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3::IfcCurve>(true); } void Ifc4x3::IfcTrimmedCurve::setBasisCurve(::Ifc4x3::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of_instance::ptr Ifc4x3::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3::IfcTrimmedCurve::setTrim1(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -aggregate_of_instance::ptr Ifc4x3::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3::IfcTrimmedCurve::setTrim2(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3::IfcTrimmingSelect >::ptr Ifc4x3::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3::IfcTrimmingSelect >(); } +void Ifc4x3::IfcTrimmedCurve::setTrim1(aggregate_of< ::Ifc4x3::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3::IfcTrimmingSelect >::ptr Ifc4x3::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3::IfcTrimmingSelect >(); } +void Ifc4x3::IfcTrimmedCurve::setTrim2(aggregate_of< ::Ifc4x3::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } bool Ifc4x3::IfcTrimmedCurve::SenseAgreement() const { bool v = *data_->getArgument(3); return v; } void Ifc4x3::IfcTrimmedCurve::setSenseAgreement(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x3::IfcTrimmingPreference::Value Ifc4x3::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4x3::IfcTrimmingPreference::FromString(*data_->getArgument(4)); } @@ -23108,7 +23108,7 @@ void Ifc4x3::IfcTrimmedCurve::setMasterRepresentation(::Ifc4x3::IfcTrimmingPrefe const IfcParse::entity& Ifc4x3::IfcTrimmedCurve::declaration() const { return *IFC4X3_IfcTrimmedCurve_type; } const IfcParse::entity& Ifc4x3::IfcTrimmedCurve::Class() { return *IFC4X3_IfcTrimmedCurve_type; } Ifc4x3::IfcTrimmedCurve::IfcTrimmedCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcTrimmedCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3::IfcCurve* v1_BasisCurve, aggregate_of_instance::ptr v2_Trim1, aggregate_of_instance::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcTrimmedCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Trim1));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Trim2));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SenseAgreement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_MasterRepresentation,::Ifc4x3::IfcTrimmingPreference::ToString(v5_MasterRepresentation))));data_->setArgument(4,attr);} } +Ifc4x3::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x3::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcTrimmedCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Trim1)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Trim2)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SenseAgreement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_MasterRepresentation,::Ifc4x3::IfcTrimmingPreference::ToString(v5_MasterRepresentation))));data_->setArgument(4,attr);} } // Function implementations for IfcTubeBundle boost::optional< ::Ifc4x3::IfcTubeBundleTypeEnum::Value > Ifc4x3::IfcTubeBundle::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3::IfcTubeBundleTypeEnum::FromString(*data_->getArgument(8)); } @@ -23209,14 +23209,14 @@ Ifc4x3::IfcUShapeProfileDef::IfcUShapeProfileDef(IfcEntityInstanceData* e) : Ifc Ifc4x3::IfcUShapeProfileDef::IfcUShapeProfileDef(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3::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((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcUShapeProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4x3::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_FlangeWidth));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_WebThickness));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_FlangeThickness));data_->setArgument(6,attr);} if (v8_FilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_FilletRadius));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_EdgeRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_EdgeRadius));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_FlangeSlope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_FlangeSlope));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcUnitAssignment -aggregate_of_instance::ptr Ifc4x3::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3::IfcUnitAssignment::setUnits(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3::IfcUnit >::ptr Ifc4x3::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3::IfcUnit >(); } +void Ifc4x3::IfcUnitAssignment::setUnits(aggregate_of< ::Ifc4x3::IfcUnit >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3::IfcUnitAssignment::declaration() const { return *IFC4X3_IfcUnitAssignment_type; } const IfcParse::entity& Ifc4x3::IfcUnitAssignment::Class() { return *IFC4X3_IfcUnitAssignment_type; } Ifc4x3::IfcUnitAssignment::IfcUnitAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_IfcUnitAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcUnitAssignment::IfcUnitAssignment(aggregate_of_instance::ptr v1_Units) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_IfcUnitAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Units));data_->setArgument(0,attr);} } +Ifc4x3::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4x3::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_IfcUnitAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Units)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcUnitaryControlElement boost::optional< ::Ifc4x3::IfcUnitaryControlElementTypeEnum::Value > Ifc4x3::IfcUnitaryControlElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3::IfcUnitaryControlElementTypeEnum::FromString(*data_->getArgument(8)); } diff --git a/src/ifcparse/Ifc4x3.h b/src/ifcparse/Ifc4x3.h index a02615fd24..de68722fc0 100644 --- a/src/ifcparse/Ifc4x3.h +++ b/src/ifcparse/Ifc4x3.h @@ -65,6 +65,7 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcActorSelect > list; }; /// IfcAppliedValueSelect defines the selection of whether a value (expressed as a ratio) or an amount should be used as the value for an IfcAppliedValue. /// @@ -83,6 +84,7 @@ public: class IFC_PARSE_API IfcAppliedValueSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcAppliedValueSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type collects together both versions of the placement as used in two dimensional or in three dimensional Cartesian space. This enables entities requiring this information to reference them without specifying the space dimensionality. /// @@ -92,6 +94,7 @@ public: class IFC_PARSE_API IfcAxis2Placement : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcAxis2Placement > list; }; /// Definition from IAI: A select type for selecting between simple measure types for reinforcement bending parameters. /// @@ -99,6 +102,7 @@ public: class IFC_PARSE_API IfcBendingParameterSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcBendingParameterSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies /// all those types of entities which may participate in a Boolean operation to @@ -119,6 +123,7 @@ public: class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcBooleanOperand > list; }; /// IfcClassificationReferenceSelect enables selection of whether a classification reference is a subset of another classification reference or is a top level entry of a classification source. /// @@ -131,6 +136,7 @@ public: class IFC_PARSE_API IfcClassificationReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcClassificationReferenceSelect > list; }; /// IfcClassificationSelect enables selection of whether a classification reference is to be referenced from an external source, or whether a classification is referenced as such. /// @@ -148,6 +154,7 @@ public: class IFC_PARSE_API IfcClassificationSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcClassificationSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The colour entity defines a basic appearance of elements which shall be visualized in a picture. /// @@ -157,6 +164,7 @@ public: class IFC_PARSE_API IfcColour : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcColour > list; }; /// The IfcColourOrFactor enables the selection of either a RGB colour value or a scalar factor value for the use as values of the reflectance components. /// @@ -164,6 +172,7 @@ public: class IFC_PARSE_API IfcColourOrFactor : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcColourOrFactor > list; }; /// IfcCoordinateReferenceSystemSelect is a select between either the local engineering coordinate system, represented by the IfcGeometricRepresentationContext, or another coordinate reference system, represented by IfcCoordinateReferenceSystem, to be the source of a coordinate operation. /// @@ -171,6 +180,7 @@ public: class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCoordinateReferenceSystemSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This type identifies the types of entity which may be selected as the root of a CSG tree including a single CSG primitive as a special case. /// Definition from IAI: The IfcBooleanResult, and subtypes of IfcCsgPrimitive3D are defined as potential root tree expression (at IfcCsgSolid). A subtype of IfcCsgPrimitive3D marks the special case of a CSG solid solely expressed by a single primitive. @@ -181,6 +191,7 @@ public: class IFC_PARSE_API IfcCsgSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCsgSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The curve font or scaled curve font select is a selection of either a curve font style select (being either a predefined curve font or an explicitly defined curve font) or a curve style font and scaling. /// @@ -190,16 +201,19 @@ public: class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveFontOrScaledCurveFontSelect > list; }; class IFC_PARSE_API IfcCurveMeasureSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveMeasureSelect > list; }; class IFC_PARSE_API IfcCurveOnSurface : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveOnSurface > list; }; /// IfcCurveOrEdgeCurve provides the option to either select a geometric curve (IfcCurve /// and subtypes) within a geometric model, or a curve with associated geometry and coordinates (IfcEdgeCurve) within a topological model. @@ -212,6 +226,7 @@ public: class IFC_PARSE_API IfcCurveOrEdgeCurve : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveOrEdgeCurve > list; }; /// Definition from ISO/CD 10303-46:1992: The curve style font select is a selection of a curve style font or a predefined curve style font. /// @@ -221,6 +236,7 @@ public: class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveStyleFontSelect > list; }; /// IfcDefinitionSelectprovides the option to either select an object or type object IfcObjectDefinition, or a property set template or property set, IfcPropertyDefinition. /// SELECT @@ -232,6 +248,7 @@ public: class IFC_PARSE_API IfcDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDefinitionSelect > list; }; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. /// @@ -310,6 +327,7 @@ public: class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDerivedMeasureValue > list; }; /// IfcDocumentSelect enables selection of whether document information is to be contained within an IFC model or is to be referenced from an external source. /// @@ -322,6 +340,7 @@ public: class IFC_PARSE_API IfcDocumentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDocumentSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The fill style select is a selection between different fill area styles. /// @@ -332,6 +351,7 @@ public: class IFC_PARSE_API IfcFillStyleSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcFillStyleSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the types of entities which can occur in a geometric set. /// @@ -341,6 +361,7 @@ public: class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcGeometricSetSelect > list; }; /// IfcGridPlacementDirectionSelect enables the choice of defining a grid placement be either an explicit direction, or by referencing a second grid intersection to provide the direction. /// @@ -353,6 +374,7 @@ public: class IFC_PARSE_API IfcGridPlacementDirectionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcGridPlacementDirectionSelect > list; }; /// The IfcHatchLineDistanceSelect is a selection between different ways to determine the distance and potentially start point of hatch lines, either by an offset distance length measure or by a vector. /// @@ -360,11 +382,13 @@ public: class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcHatchLineDistanceSelect > list; }; class IFC_PARSE_API IfcInterferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcInterferenceSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The layered things type selects those things, which can be grouped in layers. /// @@ -376,6 +400,7 @@ public: class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLayeredItem > list; }; /// IfcLibrarySelect enables selection of whether library information is to be contained within an IFC model or is to be referenced from an external source. /// @@ -390,6 +415,7 @@ public: class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLibrarySelect > list; }; /// A goniometric light gets its intensity distribution function (how much light goes in any one direction) from one of two sources: (i) an industry-standard file, (ii) from distribution data passed directly via the IfcLightIntensityDistribution. /// @@ -416,6 +442,7 @@ public: class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLightDistributionDataSourceSelect > list; }; /// IfcMaterialSelect provides selection of either a material /// definition or a material usage definition that can be assigned to @@ -446,6 +473,7 @@ public: class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMaterialSelect > list; }; /// Definition from ISO/CD 10303-41:1992: A measure value is a value as defined in ISO 31-0 (clause 2). /// @@ -459,6 +487,7 @@ public: class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMeasureValue > list; }; /// IfcMetricValueSelect is a select type that enables selection of the data type for the value component of an IfcMetric. /// @@ -475,6 +504,7 @@ public: class IFC_PARSE_API IfcMetricValueSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMetricValueSelect > list; }; /// Definition from IAI: A measure for modulus of rotational subgrade reaction which expresses the rotational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -482,6 +512,7 @@ public: class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfRotationalSubgradeReactionSelect > list; }; /// Definition from IAI: Bedding measure which expresses the bedding of a structural face item per area. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -489,6 +520,7 @@ public: class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfSubgradeReactionSelect > list; }; /// Definition from IAI: A measure for modulus of translational subgrade reaction which expresses the translational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -496,6 +528,7 @@ public: class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfTranslationalSubgradeReactionSelect > list; }; /// IfcObjectReferenceSelect is a select type, that holds a list of resource level entities that can be used as properties within a property set. /// @@ -503,6 +536,7 @@ public: class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcObjectReferenceSelect > list; }; /// IfcPointOrVertexPoint provides the option to either select a geometric point (IfcPoint and subtypes) within a geometric model, or a vertex with associated point coordinates (IfcVertexPoint) within a topological model. /// SELECT @@ -514,6 +548,7 @@ public: class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPointOrVertexPoint > list; }; /// IfcProcessSelectprovides the option to either /// select a process or activity occurrence, IfcProcess, @@ -528,11 +563,13 @@ public: class IFC_PARSE_API IfcProcessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProcessSelect > list; }; class IFC_PARSE_API IfcProductRepresentationSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProductRepresentationSelect > list; }; /// IfcProductSelectprovides the option to either select a /// product occurrence, IfcProduct, or a product type, @@ -546,11 +583,13 @@ public: class IFC_PARSE_API IfcProductSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProductSelect > list; }; class IFC_PARSE_API IfcPropertySetDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPropertySetDefinitionSelect > list; }; /// IfcResourceObjectSelect enables selection of resource level objects that are to be related to an resource level relationship object. The use of IfcResourceObjectSelect includes the ability to assign an external reference entity (library, classification, or documentation reference) to entities within the resource level. /// @@ -558,6 +597,7 @@ public: class IFC_PARSE_API IfcResourceObjectSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcResourceObjectSelect > list; }; /// IfcResourceSelectprovides the option to either select a /// resource occurrence, IfcResource, or a resource type, @@ -571,6 +611,7 @@ public: class IFC_PARSE_API IfcResourceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcResourceSelect > list; }; /// Definition from IAI: A measure of rotational stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -578,11 +619,13 @@ public: class IFC_PARSE_API IfcRotationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcRotationalStiffnessSelect > list; }; class IFC_PARSE_API IfcSegmentIndexSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSegmentIndexSelect > list; }; /// Definition from ISO/CD 10303-42:1992 This type collects together, for reference when constructing more complex models, the subtypes which have the characteristics of a shell. A shell is a connected object of fixed dimensionality d = 0; 1; or 2, typically used to bound a region. The domain of a shell, if present, includes its bounds and 0 £ X < Â¥. /// @@ -598,6 +641,7 @@ public: class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcShell > list; }; /// IfcSimpleValue is a select type for selecting between simple value types. /// @@ -621,6 +665,7 @@ public: class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSimpleValue > list; }; /// Definition from ISO/CD 10303-46:1992: The size select is a selection of a specific positive length measure. /// @@ -637,6 +682,7 @@ public: class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSizeSelect > list; }; /// The IfcSolidOrShell provides the option to either select a geometric volume (IfcSolidModel and subtypes) within a geometric model, or a shell (IfcClosedShell) within a topological model. /// SELECT @@ -648,6 +694,7 @@ public: class IFC_PARSE_API IfcSolidOrShell : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSolidOrShell > list; }; /// Definition from IAI: The /// IfcSpaceBoundarySelectselects either an internal space @@ -664,11 +711,13 @@ public: class IFC_PARSE_API IfcSpaceBoundarySelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpaceBoundarySelect > list; }; class IFC_PARSE_API IfcSpatialReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpatialReferenceSelect > list; }; /// The IfcSpecularHighlightSelect defines the selectable types of value for specular highlight sharpness. /// @@ -683,6 +732,7 @@ public: class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpecularHighlightSelect > list; }; /// Definition from IAI: This type definition shall be used to /// distinguish between a reference to an instance either of @@ -696,6 +746,7 @@ public: class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcStructuralActivityAssignmentSelect > list; }; /// IfcSurfaceOrFaceSurface provides the option to either select a geometric surface (IfcSurface /// and subtypes) within a geometric model, or a face with associated surface geometry and coordinates (IfcFaceSurface) within a topological model. @@ -709,6 +760,7 @@ public: class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSurfaceOrFaceSurface > list; }; /// Definition from ISO/CD 10303-46:1992: The surface style element select is a selection of the different surface styles to use in the presentation of the side of a surface. /// @@ -722,6 +774,7 @@ public: class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSurfaceStyleElementSelect > list; }; /// IfcTextFontSelect allows for either a predefined text font, a text font model or an externally defined text font to be used to describe the font of a text literal. The definition of the text font model is based on W3C TR Cascading Style Sheet Version 1, whereas the definition of predefined text font is based on ISO 10303. /// @@ -733,12 +786,14 @@ public: class IFC_PARSE_API IfcTextFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTextFontSelect > list; }; /// IfcTimeOrRatioSelect allows a value to be selected as being either a ratio or a time measure. /// HISTORY New SELECT in IFC2x4 class IFC_PARSE_API IfcTimeOrRatioSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTimeOrRatioSelect > list; }; /// Definition from IAI: A measure of linear stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -746,6 +801,7 @@ public: class IFC_PARSE_API IfcTranslationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTranslationalStiffnessSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the two possible ways of trimming a parametric curve; by a Cartesian point on the curve, or by a REAL number defining a parameter value within the parametric range of the curve. /// @@ -755,6 +811,7 @@ public: class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTrimmingSelect > list; }; /// Definition from ISO/CD 10303-41:1992: A unit is a physical quantity, with a value of one, which is used as a standard in terms of which other quantities are expressed. /// @@ -772,6 +829,7 @@ public: class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcUnit > list; }; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, /// IfcMeasureValue and IfcDerivedMeasureValue. @@ -786,6 +844,7 @@ public: class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcValue > list; }; /// Definition from ISO/CD 10303-42:1992: This type is used to /// identify the types of entity which can participate in vector computations. @@ -798,6 +857,7 @@ public: class IFC_PARSE_API IfcVectorOrDirection : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcVectorOrDirection > list; }; /// Definition from IAI: A measure of warping stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -805,6 +865,7 @@ public: class IFC_PARSE_API IfcWarpingStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcWarpingStiffnessSelect > list; }; class IFC_PARSE_API IfcActionRequestTypeEnum : public IfcUtil::IfcBaseType { /// IfcActionRequestTypeEnum defines the types of sources through which a request can be made. @@ -11062,12 +11123,12 @@ public: std::string TimeStamp() const; void setTimeStamp(std::string v); /// A list of time-series values. At least one value is required. - aggregate_of_instance::ptr ListValues() const; - void setListValues(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3::IfcValue >::ptr ListValues() const; + void setListValues(aggregate_of< ::Ifc4x3::IfcValue >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcIrregularTimeSeriesValue (IfcEntityInstanceData* e); - IfcIrregularTimeSeriesValue (std::string v1_TimeStamp, aggregate_of_instance::ptr v2_ListValues); + IfcIrregularTimeSeriesValue (std::string v1_TimeStamp, aggregate_of< ::Ifc4x3::IfcValue >::ptr v2_ListValues); typedef aggregate_of< 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. @@ -11245,15 +11306,15 @@ public: class IFC_PARSE_API IfcMaterialClassificationRelationship : public IfcUtil::IfcBaseEntity { public: /// The material classifications identifying the type of material. - aggregate_of_instance::ptr MaterialClassifications() const; - void setMaterialClassifications(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3::IfcClassificationSelect >::ptr MaterialClassifications() const; + void setMaterialClassifications(aggregate_of< ::Ifc4x3::IfcClassificationSelect >::ptr v); /// Material being classified. ::Ifc4x3::IfcMaterial* ClassifiedMaterial() const; void setClassifiedMaterial(::Ifc4x3::IfcMaterial* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcMaterialClassificationRelationship (IfcEntityInstanceData* e); - IfcMaterialClassificationRelationship (aggregate_of_instance::ptr v1_MaterialClassifications, ::Ifc4x3::IfcMaterial* v2_ClassifiedMaterial); + IfcMaterialClassificationRelationship (aggregate_of< ::Ifc4x3::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x3::IfcMaterial* v2_ClassifiedMaterial); typedef aggregate_of< IfcMaterialClassificationRelationship > list; }; /// IfcMaterialDefinition is a general supertype for all @@ -12045,15 +12106,15 @@ public: boost::optional< std::string > Description() const; void setDescription(boost::optional< std::string > v); /// The set of layered items, which are assigned to this layer. - aggregate_of_instance::ptr AssignedItems() const; - void setAssignedItems(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3::IfcLayeredItem >::ptr AssignedItems() const; + void setAssignedItems(aggregate_of< ::Ifc4x3::IfcLayeredItem >::ptr v); /// An (internal) identifier assigned to the layer. boost::optional< std::string > Identifier() const; void setIdentifier(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPresentationLayerAssignment (IfcEntityInstanceData* e); - IfcPresentationLayerAssignment (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier); + IfcPresentationLayerAssignment (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier); typedef aggregate_of< IfcPresentationLayerAssignment > list; }; /// An IfcPresentationLayerAssignmentWithStyle extends the presentation layer assignment with capabilities to define visibility control, access control and common style information. @@ -12090,7 +12151,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPresentationLayerWithStyle (IfcEntityInstanceData* e); - IfcPresentationLayerWithStyle (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3::IfcPresentationStyle >::ptr v8_LayerStyles); + IfcPresentationLayerWithStyle (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3::IfcPresentationStyle >::ptr v8_LayerStyles); typedef aggregate_of< 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. @@ -12438,15 +12499,15 @@ public: std::string Name() const; void setName(std::string v); /// List of values that form the enumeration. - aggregate_of_instance::ptr EnumerationValues() const; - void setEnumerationValues(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3::IfcValue >::ptr EnumerationValues() const; + void setEnumerationValues(aggregate_of< ::Ifc4x3::IfcValue >::ptr v); /// 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. ::Ifc4x3::IfcUnit* Unit() const; void setUnit(::Ifc4x3::IfcUnit* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyEnumeration (IfcEntityInstanceData* e); - IfcPropertyEnumeration (std::string v1_Name, aggregate_of_instance::ptr v2_EnumerationValues, ::Ifc4x3::IfcUnit* v3_Unit); + IfcPropertyEnumeration (std::string v1_Name, aggregate_of< ::Ifc4x3::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x3::IfcUnit* v3_Unit); typedef aggregate_of< 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. @@ -13370,12 +13431,12 @@ public: ::Ifc4x3::IfcSurfaceSide::Value Side() const; void setSide(::Ifc4x3::IfcSurfaceSide::Value v); /// A collection of different surface styles. - aggregate_of_instance::ptr Styles() const; - void setStyles(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3::IfcSurfaceStyleElementSelect >::ptr Styles() const; + void setStyles(aggregate_of< ::Ifc4x3::IfcSurfaceStyleElementSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSurfaceStyle (IfcEntityInstanceData* e); - IfcSurfaceStyle (boost::optional< std::string > v1_Name, ::Ifc4x3::IfcSurfaceSide::Value v2_Side, aggregate_of_instance::ptr v3_Styles); + IfcSurfaceStyle (boost::optional< std::string > v1_Name, ::Ifc4x3::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x3::IfcSurfaceStyleElementSelect >::ptr v3_Styles); typedef aggregate_of< IfcSurfaceStyle > list; }; /// IfcSurfaceStyleLighting is a container class for properties for calculation of physically exact illuminance related to a particular surface style. @@ -13684,15 +13745,15 @@ public: class IFC_PARSE_API IfcTableRow : public IfcUtil::IfcBaseEntity { public: /// The data value of the table cell.. - boost::optional< aggregate_of_instance::ptr > RowCells() const; - void setRowCells(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > RowCells() const; + void setRowCells(boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::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. boost::optional< bool > IsHeading() const; void setIsHeading(boost::optional< bool > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTableRow (IfcEntityInstanceData* e); - IfcTableRow (boost::optional< aggregate_of_instance::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading); + IfcTableRow (boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading); typedef aggregate_of< IfcTableRow > list; }; /// IfcTaskTime captures the time-related information about a task including the different types (actual or scheduled) of starting and ending times. @@ -14266,12 +14327,12 @@ public: class IFC_PARSE_API IfcTimeSeriesValue : public IfcUtil::IfcBaseEntity { public: /// A list of time-series values. At least one value is required. - aggregate_of_instance::ptr ListValues() const; - void setListValues(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3::IfcValue >::ptr ListValues() const; + void setListValues(aggregate_of< ::Ifc4x3::IfcValue >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTimeSeriesValue (IfcEntityInstanceData* e); - IfcTimeSeriesValue (aggregate_of_instance::ptr v1_ListValues); + IfcTimeSeriesValue (aggregate_of< ::Ifc4x3::IfcValue >::ptr v1_ListValues); typedef aggregate_of< IfcTimeSeriesValue > list; }; /// Definition from ISO/CD 10303-42:1992: The topological representation item is the supertype for all the topological representation items in the geometry resource. @@ -14337,12 +14398,12 @@ public: class IFC_PARSE_API IfcUnitAssignment : public IfcUtil::IfcBaseEntity { public: /// Units to be included within a unit assignment. - aggregate_of_instance::ptr Units() const; - void setUnits(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3::IfcUnit >::ptr Units() const; + void setUnits(aggregate_of< ::Ifc4x3::IfcUnit >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcUnitAssignment (IfcEntityInstanceData* e); - IfcUnitAssignment (aggregate_of_instance::ptr v1_Units); + IfcUnitAssignment (aggregate_of< ::Ifc4x3::IfcUnit >::ptr v1_Units); typedef aggregate_of< IfcUnitAssignment > list; }; /// Definition from ISO/CD 10303-42:1992: A vertex is the topological construct corresponding to a point. It has dimensionality 0 and extent 0. The domain of a vertex, if present, is a point in m dimensional real space RM; this is represented by the vertex point subtype. @@ -15356,8 +15417,8 @@ public: ::Ifc4x3::IfcActorSelect* DocumentOwner() const; void setDocumentOwner(::Ifc4x3::IfcActorSelect* v); /// The persons and/or organizations who have created this document or contributed to it. - boost::optional< aggregate_of_instance::ptr > Editors() const; - void setEditors(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3::IfcActorSelect >::ptr > Editors() const; + void setEditors(boost::optional< aggregate_of< ::Ifc4x3::IfcActorSelect >::ptr > v); /// 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. @@ -15398,7 +15459,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcDocumentInformation (IfcEntityInstanceData* e); - 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, ::Ifc4x3::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of_instance::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< ::Ifc4x3::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3::IfcDocumentStatusEnum::Value > 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, ::Ifc4x3::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x3::IfcActorSelect >::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< ::Ifc4x3::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3::IfcDocumentStatusEnum::Value > v17_Status); typedef aggregate_of< IfcDocumentInformation > list; }; /// An IfcDocumentInformationRelationship is a relationship class that enables a document to have the ability to reference other documents. @@ -15639,12 +15700,12 @@ public: ::Ifc4x3::IfcExternalReference* RelatingReference() const; void setRelatingReference(::Ifc4x3::IfcExternalReference* v); /// Objects within the list of IfcResourceObjectSelect that can be tagged by an external reference to a dictionary, library, catalogue, classification or documentation. - aggregate_of_instance::ptr RelatedResourceObjects() const; - void setRelatedResourceObjects(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr RelatedResourceObjects() const; + void setRelatedResourceObjects(aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcExternalReferenceRelationship (IfcEntityInstanceData* e); - IfcExternalReferenceRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcExternalReference* v3_RelatingReference, aggregate_of_instance::ptr v4_RelatedResourceObjects); + IfcExternalReferenceRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects); typedef aggregate_of< IfcExternalReferenceRelationship > list; }; /// Definition from ISO/CD 10303-42:1992: A face is a topological @@ -15855,14 +15916,14 @@ public: class IFC_PARSE_API IfcFillAreaStyle : public IfcPresentationStyle { public: /// The set of fill area styles to use in presenting visible curve segments, annotation fill areas or surfaces. - aggregate_of_instance::ptr FillStyles() const; - void setFillStyles(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3::IfcFillStyleSelect >::ptr FillStyles() const; + void setFillStyles(aggregate_of< ::Ifc4x3::IfcFillStyleSelect >::ptr v); boost::optional< bool > ModelOrDraughting() const; void setModelOrDraughting(boost::optional< bool > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcFillAreaStyle (IfcEntityInstanceData* e); - IfcFillAreaStyle (boost::optional< std::string > v1_Name, aggregate_of_instance::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting); + IfcFillAreaStyle (boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting); typedef aggregate_of< IfcFillAreaStyle > list; }; /// Definition from ISO/CD 10303-42:1992: A geometric @@ -16016,12 +16077,12 @@ public: class IFC_PARSE_API 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. - aggregate_of_instance::ptr Elements() const; - void setElements(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3::IfcGeometricSetSelect >::ptr Elements() const; + void setElements(aggregate_of< ::Ifc4x3::IfcGeometricSetSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcGeometricSet (IfcEntityInstanceData* e); - IfcGeometricSet (aggregate_of_instance::ptr v1_Elements); + IfcGeometricSet (aggregate_of< ::Ifc4x3::IfcGeometricSetSelect >::ptr v1_Elements); typedef aggregate_of< IfcGeometricSet > list; }; /// IfcGridPlacement provides a specialization of IfcObjectPlacement in which @@ -18034,15 +18095,15 @@ public: class IFC_PARSE_API IfcResourceApprovalRelationship : public IfcResourceLevelRelationship { public: /// Resource objects that are approved. - aggregate_of_instance::ptr RelatedResourceObjects() const; - void setRelatedResourceObjects(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr RelatedResourceObjects() const; + void setRelatedResourceObjects(aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr v); /// The approval for the resource objects selected. ::Ifc4x3::IfcApproval* RelatingApproval() const; void setRelatingApproval(::Ifc4x3::IfcApproval* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcResourceApprovalRelationship (IfcEntityInstanceData* e); - IfcResourceApprovalRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_RelatedResourceObjects, ::Ifc4x3::IfcApproval* v4_RelatingApproval); + IfcResourceApprovalRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x3::IfcApproval* v4_RelatingApproval); typedef aggregate_of< IfcResourceApprovalRelationship > list; }; /// An IfcResourceConstraintRelationship is a relationship @@ -18071,12 +18132,12 @@ public: ::Ifc4x3::IfcConstraint* RelatingConstraint() const; void setRelatingConstraint(::Ifc4x3::IfcConstraint* v); /// The properties to which a constraint is to be related. - aggregate_of_instance::ptr RelatedResourceObjects() const; - void setRelatedResourceObjects(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr RelatedResourceObjects() const; + void setRelatedResourceObjects(aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcResourceConstraintRelationship (IfcEntityInstanceData* e); - IfcResourceConstraintRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcConstraint* v3_RelatingConstraint, aggregate_of_instance::ptr v4_RelatedResourceObjects); + IfcResourceConstraintRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects); typedef aggregate_of< IfcResourceConstraintRelationship > list; }; /// IfcResourceTime captures the time-related information about a construction resource. @@ -18333,12 +18394,12 @@ public: /// The shells shall not overlap or intersect except at common faces, edges or vertices. class IFC_PARSE_API IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { public: - aggregate_of_instance::ptr SbsmBoundary() const; - void setSbsmBoundary(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3::IfcShell >::ptr SbsmBoundary() const; + void setSbsmBoundary(aggregate_of< ::Ifc4x3::IfcShell >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcShellBasedSurfaceModel (IfcEntityInstanceData* e); - IfcShellBasedSurfaceModel (aggregate_of_instance::ptr v1_SbsmBoundary); + IfcShellBasedSurfaceModel (aggregate_of< ::Ifc4x3::IfcShell >::ptr v1_SbsmBoundary); typedef aggregate_of< IfcShellBasedSurfaceModel > 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. @@ -21258,7 +21319,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcGeometricCurveSet (IfcEntityInstanceData* e); - IfcGeometricCurveSet (aggregate_of_instance::ptr v1_Elements); + IfcGeometricCurveSet (aggregate_of< ::Ifc4x3::IfcGeometricSetSelect >::ptr v1_Elements); typedef aggregate_of< IfcGeometricCurveSet > list; }; /// IfcIShapeProfileDef @@ -22405,15 +22466,15 @@ 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. - boost::optional< aggregate_of_instance::ptr > EnumerationValues() const; - void setEnumerationValues(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > EnumerationValues() const; + void setEnumerationValues(boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v); /// Enumeration from which a enumeration value has been selected. The referenced enumeration also establishes the unit of the enumeration value. ::Ifc4x3::IfcPropertyEnumeration* EnumerationReference() const; void setEnumerationReference(::Ifc4x3::IfcPropertyEnumeration* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyEnumeratedValue (IfcEntityInstanceData* e); - IfcPropertyEnumeratedValue (std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of_instance::ptr > v3_EnumerationValues, ::Ifc4x3::IfcPropertyEnumeration* v4_EnumerationReference); + IfcPropertyEnumeratedValue (std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x3::IfcPropertyEnumeration* v4_EnumerationReference); typedef aggregate_of< IfcPropertyEnumeratedValue > list; }; /// An IfcPropertyListValue @@ -22486,15 +22547,15 @@ public: /// List of property values. /// /// IFC2x4 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. - boost::optional< aggregate_of_instance::ptr > ListValues() const; - void setListValues(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > ListValues() const; + void setListValues(boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v); /// 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. ::Ifc4x3::IfcUnit* Unit() const; void setUnit(::Ifc4x3::IfcUnit* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyListValue (IfcEntityInstanceData* e); - IfcPropertyListValue (std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of_instance::ptr > v3_ListValues, ::Ifc4x3::IfcUnit* v4_Unit); + IfcPropertyListValue (std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v3_ListValues, ::Ifc4x3::IfcUnit* v4_Unit); typedef aggregate_of< IfcPropertyListValue > list; }; /// IfcPropertyReferenceValue allows a property value to @@ -22834,13 +22895,13 @@ 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. - boost::optional< aggregate_of_instance::ptr > DefiningValues() const; - void setDefiningValues(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > DefiningValues() const; + void setDefiningValues(boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::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. - boost::optional< aggregate_of_instance::ptr > DefinedValues() const; - void setDefinedValues(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > DefinedValues() const; + void setDefinedValues(boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v); /// 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. boost::optional< std::string > Expression() const; void setExpression(boost::optional< std::string > v); @@ -22858,7 +22919,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyTableValue (IfcEntityInstanceData* e); - IfcPropertyTableValue (std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of_instance::ptr > v3_DefiningValues, boost::optional< aggregate_of_instance::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3::IfcUnit* v6_DefiningUnit, ::Ifc4x3::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation); + IfcPropertyTableValue (std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3::IfcUnit* v6_DefiningUnit, ::Ifc4x3::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation); typedef aggregate_of< IfcPropertyTableValue > list; }; /// The IfcPropertyTemplate is an abstract supertype @@ -23354,12 +23415,12 @@ 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. - aggregate_of_instance::ptr RelatedObjects() const; - void setRelatedObjects(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr RelatedObjects() const; + void setRelatedObjects(aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociates (IfcEntityInstanceData* e); - IfcRelAssociates (std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects); + IfcRelAssociates (std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v5_RelatedObjects); typedef aggregate_of< IfcRelAssociates > list; }; /// The entity IfcRelAssociatesApproval is used to apply approval information defined by IfcApproval, in IfcApprovalResource schema, to subtypes of IfcRoot. @@ -23373,7 +23434,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesApproval (IfcEntityInstanceData* e); - IfcRelAssociatesApproval (std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3::IfcApproval* v6_RelatingApproval); + IfcRelAssociatesApproval (std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3::IfcApproval* v6_RelatingApproval); typedef aggregate_of< IfcRelAssociatesApproval > list; }; /// The objectified relationship @@ -23414,7 +23475,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesClassification (IfcEntityInstanceData* e); - IfcRelAssociatesClassification (std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3::IfcClassificationSelect* v6_RelatingClassification); + IfcRelAssociatesClassification (std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3::IfcClassificationSelect* v6_RelatingClassification); typedef aggregate_of< IfcRelAssociatesClassification > list; }; /// The entity IfcRelAssociatesConstraint is used to apply constraint information defined by IfcConstraint, in the IfcConstraintResource schema, to subtypes of IfcRoot. @@ -23431,7 +23492,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesConstraint (IfcEntityInstanceData* e); - IfcRelAssociatesConstraint (std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3::IfcConstraint* v7_RelatingConstraint); + IfcRelAssociatesConstraint (std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3::IfcConstraint* v7_RelatingConstraint); typedef aggregate_of< 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). @@ -23449,7 +23510,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesDocument (IfcEntityInstanceData* e); - IfcRelAssociatesDocument (std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3::IfcDocumentSelect* v6_RelatingDocument); + IfcRelAssociatesDocument (std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3::IfcDocumentSelect* v6_RelatingDocument); typedef aggregate_of< IfcRelAssociatesDocument > list; }; /// The objectified relationship (IfcRelAssociatesLibrary) handles the assignment of a library item (items of the select IfcLibrarySelect) to subtypes of IfcObjectDefinition or IfcPropertyDefinition. @@ -23467,7 +23528,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesLibrary (IfcEntityInstanceData* e); - IfcRelAssociatesLibrary (std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3::IfcLibrarySelect* v6_RelatingLibrary); + IfcRelAssociatesLibrary (std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3::IfcLibrarySelect* v6_RelatingLibrary); typedef aggregate_of< IfcRelAssociatesLibrary > list; }; /// Definition from IAI: Objectified relationship between a @@ -23572,7 +23633,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesMaterial (IfcEntityInstanceData* e); - IfcRelAssociatesMaterial (std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3::IfcMaterialSelect* v6_RelatingMaterial); + IfcRelAssociatesMaterial (std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3::IfcMaterialSelect* v6_RelatingMaterial); typedef aggregate_of< IfcRelAssociatesMaterial > list; }; @@ -23583,7 +23644,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesProfileDef (IfcEntityInstanceData* e); - IfcRelAssociatesProfileDef (std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3::IfcProfileDef* v6_RelatingProfileDef); + IfcRelAssociatesProfileDef (std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3::IfcProfileDef* v6_RelatingProfileDef); typedef aggregate_of< IfcRelAssociatesProfileDef > 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. @@ -24056,12 +24117,12 @@ public: ::Ifc4x3::IfcContext* RelatingContext() const; void setRelatingContext(::Ifc4x3::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. - aggregate_of_instance::ptr RelatedDefinitions() const; - void setRelatedDefinitions(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr RelatedDefinitions() const; + void setRelatedDefinitions(aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelDeclares (IfcEntityInstanceData* e); - IfcRelDeclares (std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcContext* v5_RelatingContext, aggregate_of_instance::ptr v6_RelatedDefinitions); + IfcRelDeclares (std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v6_RelatedDefinitions); typedef aggregate_of< IfcRelDeclares > list; }; /// The decomposition relationship, @@ -24576,8 +24637,8 @@ class IFC_PARSE_API IfcRelReferencedInSpatialStructure : public IfcRelConnects public: /// Set of products, which are referenced within this level of the spatial structure hierarchy. /// NOTE  Referenced elements are contained elsewhere within the spatial structure, they are referenced additionally by this spatial structure element, e.g., because they span several stories. - aggregate_of_instance::ptr RelatedElements() const; - void setRelatedElements(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3::IfcSpatialReferenceSelect >::ptr RelatedElements() const; + void setRelatedElements(aggregate_of< ::Ifc4x3::IfcSpatialReferenceSelect >::ptr v); /// Spatial structure element, within which the element is referenced. Any element can be contained within zero, one or many elements of the project spatial and zoning structure. /// /// IFC2x Edition 4 CHANGE  The attribute relatingStructure as been promoted to the new supertype IfcSpatialElement with upward compatibility for file based exchange. @@ -24586,7 +24647,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelReferencedInSpatialStructure (IfcEntityInstanceData* e); - IfcRelReferencedInSpatialStructure (std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedElements, ::Ifc4x3::IfcSpatialElement* v6_RelatingStructure); + IfcRelReferencedInSpatialStructure (std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcSpatialReferenceSelect >::ptr v5_RelatedElements, ::Ifc4x3::IfcSpatialElement* v6_RelatingStructure); typedef aggregate_of< IfcRelReferencedInSpatialStructure > list; }; /// IfcRelSequence is a @@ -31117,14 +31178,14 @@ class IFC_PARSE_API IfcIndexedPolyCurve : public IfcBoundedCurve { public: ::Ifc4x3::IfcCartesianPointList* Points() const; void setPoints(::Ifc4x3::IfcCartesianPointList* v); - boost::optional< aggregate_of_instance::ptr > Segments() const; - void setSegments(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3::IfcSegmentIndexSelect >::ptr > Segments() const; + void setSegments(boost::optional< aggregate_of< ::Ifc4x3::IfcSegmentIndexSelect >::ptr > v); boost::logic::tribool SelfIntersect() const; void setSelfIntersect(boost::logic::tribool v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcIndexedPolyCurve (IfcEntityInstanceData* e); - IfcIndexedPolyCurve (::Ifc4x3::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of_instance::ptr > v2_Segments, boost::logic::tribool v3_SelfIntersect); + IfcIndexedPolyCurve (::Ifc4x3::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x3::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::logic::tribool v3_SelfIntersect); typedef aggregate_of< IfcIndexedPolyCurve > list; }; /// The flow treatment device type IfcInterceptorType defines commonly shared information for occurrences of interceptors. The set of shared information may include: @@ -33156,12 +33217,12 @@ public: void setTransverseBarSpacing(boost::optional< double > v); boost::optional< std::string > BendingShapeCode() const; void setBendingShapeCode(boost::optional< std::string > v); - boost::optional< aggregate_of_instance::ptr > BendingParameters() const; - void setBendingParameters(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3::IfcBendingParameterSelect >::ptr > BendingParameters() const; + void setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3::IfcBendingParameterSelect >::ptr > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcReinforcingMeshType (IfcEntityInstanceData* e); - IfcReinforcingMeshType (std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of_instance::ptr > v20_BendingParameters); + IfcReinforcingMeshType (std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcReinforcingMeshTypeEnum::Value 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< aggregate_of< ::Ifc4x3::IfcBendingParameterSelect >::ptr > v20_BendingParameters); typedef aggregate_of< IfcReinforcingMeshType > list; }; @@ -35458,11 +35519,11 @@ public: ::Ifc4x3::IfcCurve* BasisCurve() const; void setBasisCurve(::Ifc4x3::IfcCurve* v); /// The first trimming point which may be specified as a Cartesian point, as a real parameter or both. - aggregate_of_instance::ptr Trim1() const; - void setTrim1(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3::IfcTrimmingSelect >::ptr Trim1() const; + void setTrim1(aggregate_of< ::Ifc4x3::IfcTrimmingSelect >::ptr v); /// The second trimming point which may be specified as a Cartesian point, as a real parameter or both. - aggregate_of_instance::ptr Trim2() const; - void setTrim2(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3::IfcTrimmingSelect >::ptr Trim2() const; + void setTrim2(aggregate_of< ::Ifc4x3::IfcTrimmingSelect >::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); @@ -35472,7 +35533,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTrimmedCurve (IfcEntityInstanceData* e); - IfcTrimmedCurve (::Ifc4x3::IfcCurve* v1_BasisCurve, aggregate_of_instance::ptr v2_Trim1, aggregate_of_instance::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3::IfcTrimmingPreference::Value v5_MasterRepresentation); + IfcTrimmedCurve (::Ifc4x3::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x3::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3::IfcTrimmingPreference::Value v5_MasterRepresentation); typedef aggregate_of< IfcTrimmedCurve > list; }; /// The energy conversion device type IfcTubeBundleType defines commonly shared information for occurrences of tube bundles. The set of shared information may include: @@ -43524,12 +43585,12 @@ public: void setBarSurface(boost::optional< ::Ifc4x3::IfcReinforcingBarSurfaceEnum::Value > v); boost::optional< std::string > BendingShapeCode() const; void setBendingShapeCode(boost::optional< std::string > v); - boost::optional< aggregate_of_instance::ptr > BendingParameters() const; - void setBendingParameters(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3::IfcBendingParameterSelect >::ptr > BendingParameters() const; + void setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3::IfcBendingParameterSelect >::ptr > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcReinforcingBarType (IfcEntityInstanceData* e); - IfcReinforcingBarType (std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of_instance::ptr > v16_BendingParameters); + IfcReinforcingBarType (std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3::IfcBendingParameterSelect >::ptr > v16_BendingParameters); typedef aggregate_of< IfcReinforcingBarType > list; }; /// Definition from ISO 6707-1:1989: Construction enclosing the building from above. From 3decb48ed04394e0516e05f8155f60501d237058 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Thu, 22 Jun 2023 14:29:58 +0200 Subject: [PATCH 179/225] #2805 template keyword for gcc --- src/ifcgeom/IfcGeom.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ifcgeom/IfcGeom.h b/src/ifcgeom/IfcGeom.h index 42575acb3e..dc797842ce 100644 --- a/src/ifcgeom/IfcGeom.h +++ b/src/ifcgeom/IfcGeom.h @@ -347,7 +347,7 @@ public: if (surface_style->Side() != IfcSchema::IfcSurfaceSide::IfcSurfaceSide_NEGATIVE) { auto styles_elements = surface_style->Styles(); for (auto mt = styles_elements->begin(); mt != styles_elements->end(); ++mt) { - if ((*mt)->as())) { + if ((*mt)->template as())) { return std::make_pair(surface_style, (*mt)->as()); } } From a0f68baefc129f208e5e9e25c763acc82d747576 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Thu, 22 Jun 2023 16:23:32 +0200 Subject: [PATCH 180/225] #2805 syntax --- src/ifcgeom/IfcGeom.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ifcgeom/IfcGeom.h b/src/ifcgeom/IfcGeom.h index dc797842ce..65be6ac83a 100644 --- a/src/ifcgeom/IfcGeom.h +++ b/src/ifcgeom/IfcGeom.h @@ -347,7 +347,7 @@ public: if (surface_style->Side() != IfcSchema::IfcSurfaceSide::IfcSurfaceSide_NEGATIVE) { auto styles_elements = surface_style->Styles(); for (auto mt = styles_elements->begin(); mt != styles_elements->end(); ++mt) { - if ((*mt)->template as())) { + if ((*mt)->template as()) { return std::make_pair(surface_style, (*mt)->as()); } } From 4a368938c317c3ec06c46306c9fc2bc6e0f14cb1 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Thu, 22 Jun 2023 22:00:42 +0500 Subject: [PATCH 181/225] Set shading flat by default to solve #3336 Before blender 3.6 it was setting flat shading by default, so we just keeping the same behaviour. --- src/blenderbim/blenderbim/bim/import_ifc.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/blenderbim/blenderbim/bim/import_ifc.py b/src/blenderbim/blenderbim/bim/import_ifc.py index 4d05b94206..9aef658be4 100644 --- a/src/blenderbim/blenderbim/bim/import_ifc.py +++ b/src/blenderbim/blenderbim/bim/import_ifc.py @@ -1719,6 +1719,7 @@ class IfcImporter: mesh.polygons.add(num_loops) mesh.polygons.foreach_set("loop_start", loop_start) mesh.polygons.foreach_set("loop_total", loop_total) + mesh.polygons.foreach_set("use_smooth", [0]*total_faces) mesh.update() else: e = geometry.edges From addce9f0ea24979439f183e6cc840258532dc027 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Fri, 23 Jun 2023 17:15:10 +0500 Subject: [PATCH 182/225] Fixed #3342 --- src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py b/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py index 85b1a7f21c..f72c0065cd 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py @@ -839,6 +839,10 @@ class SvgWriter: text_tag.add(tspan) line_number += 1 + if add_fill_bg: + # return line_number back to the original value + line_number -= len(text_lines) + if "fill-bg" in classes: add_text_tag(True) add_text_tag(False) From 2dc9dc2000f06b618e0417178ffb76c90cb4b417 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Fri, 23 Jun 2023 18:04:32 +0500 Subject: [PATCH 183/225] Generating IFC compatible shader graphs Added new panel. in shader graph N-panel that allows you to create fully GLTF and IFC compatible shader graphs by just tweaking parameters from the panel. Note that it's still saved to IFC only when you hit "Save Current Style", before that it's still just stored in blender. https://imgur.com/a/vmkoLPH The premise is that if you want to have non-external style you'd be able to create it entirely from this panel - so there will no need to guess or to remember which parameters from the graph are supported by IFC and which are not. It's still work in progress, still need to polish it, add support for more reflectance methods and add suport for textures (need to be able to import/export it with .ifc and set them from this panel). --- .../blenderbim/bim/module/style/__init__.py | 1 + .../blenderbim/bim/module/style/operator.py | 19 +- .../blenderbim/bim/module/style/prop.py | 71 +++++++ .../blenderbim/bim/module/style/ui.py | 68 +++++-- src/blenderbim/blenderbim/bim/operator.py | 7 +- src/blenderbim/blenderbim/core/style.py | 16 +- src/blenderbim/blenderbim/tool/blender.py | 11 +- src/blenderbim/blenderbim/tool/loader.py | 162 ++++++++++------ src/blenderbim/blenderbim/tool/style.py | 182 ++++++++++++++++-- 9 files changed, 430 insertions(+), 107 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/style/__init__.py b/src/blenderbim/blenderbim/bim/module/style/__init__.py index 0d9c3901be..45a8d3364f 100644 --- a/src/blenderbim/blenderbim/bim/module/style/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/style/__init__.py @@ -45,6 +45,7 @@ classes = ( ui.BIM_PT_style_attributes, ui.BIM_PT_external_style_attributes, ui.BIM_UL_styles, + ui.BIM_PT_STYLE_GRAPH, ) diff --git a/src/blenderbim/blenderbim/bim/module/style/operator.py b/src/blenderbim/blenderbim/bim/module/style/operator.py index 06d055b61d..97519569dc 100644 --- a/src/blenderbim/blenderbim/bim/module/style/operator.py +++ b/src/blenderbim/blenderbim/bim/module/style/operator.py @@ -30,11 +30,26 @@ import os class UpdateStyleColours(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.update_style_colours" bl_label = "Save Current Shading Style" - bl_description = "Save current style values to IfcSurfaceStyleShading" + bl_description = ( + "Save current style values to IfcSurfaceStyleShading.\n\n" + "ALT+CLICK to see saved values details" + ) bl_options = {"REGISTER", "UNDO"} + verbose: bpy.props.BoolProperty(default=False, options={"SKIP_SAVE"}) + + def invoke(self, context, event): + # verobse print to console on alt+click + # make sure to use SKIP_SAVE on property, otherwise it might get stuck + if event.type == "LEFTMOUSE" and event.alt: + self.verbose = True + return self.execute(context) + def _execute(self, context): - core.update_style_colours(tool.Ifc, tool.Style, obj=context.active_object.active_material) + mat = context.active_object.active_material + core.update_style_colours(tool.Ifc, tool.Style, obj=mat, verbose=self.verbose) + if self.verbose: + self.report({"INFO"}, "Check the system console to see saved style properties") + tool.Style.set_surface_style_props(mat) class UpdateStyleTextures(bpy.types.Operator, tool.Ifc.Operator): diff --git a/src/blenderbim/blenderbim/bim/module/style/prop.py b/src/blenderbim/blenderbim/bim/module/style/prop.py index 1b2a9035be..21d86530f4 100644 --- a/src/blenderbim/blenderbim/bim/module/style/prop.py +++ b/src/blenderbim/blenderbim/bim/module/style/prop.py @@ -96,9 +96,41 @@ def update_shading_style(self, context): if rendering_style and texture_style: tool.Loader.create_surface_style_with_textures(blender_material, rendering_style, texture_style) + tool.Style.set_surface_style_props(blender_material) tool.Style.record_shading(blender_material) +# TODO: support more more methods and also textures +REFLECTANCE_METHODS = [ + ("PHYSICAL", "PHYSICAL", ""), + ("FLAT", "FLAT", ""), + # ("METAL", "METAL", ""), + # ("MATT", "MATT", ""), + # ("GLASS", "GLASS", ""), + # ("NOTDEFINED", "NOTDEFINED", ""), +] + + +def update_shader_graph(self, context): + if not self.update_graph: + return + + material = self.id_data + style_data = tool.Style.get_surface_style_from_props(material) + tool.Loader.create_surface_style_rendering(material, style_data) + + +def update_graph_get(self): + return self.get("update_graph", True) + + +def update_graph_set(self, value): + self["update_graph"] = value + if value: + material = self.id_data + tool.Style.set_surface_style_props(material) + + class BIMStyleProperties(PropertyGroup): attributes: CollectionProperty(name="Attributes", type=Attribute) is_editing: BoolProperty(name="Is Editing") @@ -113,3 +145,42 @@ class BIMStyleProperties(PropertyGroup): default="Shading", update=update_shading_style, ) + + # GLTF style properties + update_graph: BoolProperty( + name="Update Shade Graph on Prop Change", + description="Update shader graph in real time\nas you update style properties", + default=True, + get=update_graph_get, + set=update_graph_set, + ) + reflectance_method: EnumProperty( + name="Reflectance Method", + description="Reflectance method to use for the material", + items=REFLECTANCE_METHODS, + default="PHYSICAL", + update=update_shader_graph, + ) + surface_color: bpy.props.FloatVectorProperty( + name="Surface Color", + subtype="COLOR", + default=(1, 1, 1, 1), + min=0.0, + max=1.0, + size=4, + update=update_shader_graph, + ) + diffuse_color: bpy.props.FloatVectorProperty( + name="Diffuse Color", + subtype="COLOR", + default=(1, 1, 1, 1), + min=0.0, + max=1.0, + size=4, + update=update_shader_graph, + ) + transparency: bpy.props.FloatProperty( + name="Transparency", default=0.0, min=0.0, max=1.0, update=update_shader_graph + ) + roughness: bpy.props.FloatProperty(name="Roughness", default=0.0, min=0.0, max=1.0, update=update_shader_graph) + metallic: bpy.props.FloatProperty(name="Metallic", default=0.0, min=0.0, max=1.0, update=update_shader_graph) diff --git a/src/blenderbim/blenderbim/bim/module/style/ui.py b/src/blenderbim/blenderbim/bim/module/style/ui.py index 33a75aa778..d21098034a 100644 --- a/src/blenderbim/blenderbim/bim/module/style/ui.py +++ b/src/blenderbim/blenderbim/bim/module/style/ui.py @@ -65,6 +65,24 @@ class BIM_PT_styles(Panel): self.layout.template_list("BIM_UL_styles", "", self.props, "styles", self.props, "active_style_index") +def draw_style_ui(self, context): + mat = context.material + props = mat.BIMMaterialProperties + style_props = mat.BIMStyleProperties + row = self.layout.row(align=True) + if not props.ifc_style_id: + row.operator("bim.add_style", icon="ADD") + return + + row.prop(style_props, "active_style_type", icon="SHADING_RENDERED", text="") + row.operator("bim.update_current_style", icon="FILE_REFRESH", text="") + row = self.layout.row(align=True) + row.operator("bim.update_style_colours", icon="GREASEPENCIL") + row.operator("bim.update_style_textures", icon="TEXTURE", text="") + row.operator("bim.unlink_style", icon="UNLINKED", text="") + row.operator("bim.remove_style", icon="X", text="").style = props.ifc_style_id + + class BIM_PT_style(MaterialButtonsPanel, Panel): bl_label = "IFC Style" bl_idname = "BIM_PT_style" @@ -81,22 +99,11 @@ class BIM_PT_style(MaterialButtonsPanel, Panel): ) def draw(self, context): - props = context.active_object.active_material.BIMMaterialProperties - style_props = context.active_object.active_material.BIMStyleProperties mat = context.material - row = self.layout.row(align=True) + props = mat.BIMMaterialProperties + draw_style_ui(self, context) if not props.ifc_style_id: - row.operator("bim.add_style", icon="ADD") return - - row.prop(style_props, "active_style_type", icon="SHADING_RENDERED", text="") - row.operator("bim.update_current_style", icon="FILE_REFRESH", text="") - row = self.layout.row(align=True) - row.operator("bim.update_style_colours", icon="GREASEPENCIL") - row.operator("bim.update_style_textures", icon="TEXTURE", text="") - row.operator("bim.unlink_style", icon="UNLINKED", text="") - row.operator("bim.remove_style", icon="X", text="").style = props.ifc_style_id - row = self.layout.row(align=True) row.prop(mat, "diffuse_color", text="Viewport Color" if mat.use_nodes else "Render Color") @@ -212,3 +219,38 @@ class BIM_UL_styles(UIList): row2 = row.row() row2.alignment = "RIGHT" row2.label(text=str(item.total_elements)) + + +class BIM_PT_STYLE_GRAPH(Panel): + bl_idname = "BIM_PT_style_graph" + bl_space_type = "NODE_EDITOR" + bl_label = "IFC Style Graph Settings" + bl_region_type = "UI" + bl_category = "BBIM" + + def draw(self, context): + layout = self.layout + props = context.active_object.active_material.BIMStyleProperties + + draw_style_ui(self, context) + layout.separator() + box = layout.box() + box.label(text="Creating shader from this panel") + box.label(text="ensures that shader is") + box.label(text="GLTF compatible") + box.label(text="and therefore will be ") + box.label(text="stored in IFC safely.") + layout.separator() + + layout.prop(props, "update_graph", text="Graph Auto Update") + layout.label(text="Reflectance Method:") + layout.prop(props, "reflectance_method", text="") + layout.prop(props, "surface_color") + layout.prop(props, "transparency") + layout.prop(props, "diffuse_color") + + if props.reflectance_method == "PHYSICAL": + layout.prop(props, "metallic") + + if props.reflectance_method not in ("FLAT", "NOTDEFINED"): + layout.prop(props, "roughness") diff --git a/src/blenderbim/blenderbim/bim/operator.py b/src/blenderbim/blenderbim/bim/operator.py index 7c3eb67426..c8300531fa 100644 --- a/src/blenderbim/blenderbim/bim/operator.py +++ b/src/blenderbim/blenderbim/bim/operator.py @@ -491,7 +491,7 @@ class BIM_OT_add_section_plane(bpy.types.Operator): continue material.blend_method = "HASHED" material.shadow_method = "HASHED" - material_output = self.get_node(material.node_tree.nodes, "OUTPUT_MATERIAL") + material_output = tool.Blender.get_material_node(material, "OUTPUT_MATERIAL", {"is_active_output": True}) if not material_output: continue from_socket = material_output.inputs[0].links[0].from_socket @@ -501,11 +501,6 @@ class BIM_OT_add_section_plane(bpy.types.Operator): material.node_tree.links.new(from_socket, section_override.inputs[0]) material.node_tree.links.new(section_override.outputs[0], material_output.inputs[0]) - def get_node(self, nodes, node_type): - for node in nodes: - if node.type == node_type: - return node - class BIM_OT_remove_section_plane(bpy.types.Operator): """Remove selected section plane. No effect if executed on a regular object""" diff --git a/src/blenderbim/blenderbim/core/style.py b/src/blenderbim/blenderbim/core/style.py index b00d437fff..c2a720a28d 100644 --- a/src/blenderbim/blenderbim/core/style.py +++ b/src/blenderbim/blenderbim/core/style.py @@ -54,18 +54,28 @@ def remove_style(ifc, material, style_tool, style=None): style_tool.import_presentation_styles(style_tool.get_active_style_type()) -def update_style_colours(ifc, style, obj=None): +def update_style_colours(ifc, style, obj=None, verbose=False): element = style.get_style(obj) if style.can_support_rendering_style(obj): - rendering_style = style.get_surface_rendering_style(obj) - attributes = style.get_surface_rendering_attributes(obj) + style_elements = style.get_style_elements(obj) + rendering_style = style_elements.get("IfcSurfaceStyleRendering", None) + texture_style = style_elements.get("IfcSurfaceStyleWithTextures", None) + attributes = style.get_surface_rendering_attributes(obj, verbose) if rendering_style: ifc.run("style.edit_surface_style", style=rendering_style, attributes=attributes) else: ifc.run( "style.add_surface_style", style=element, ifc_class="IfcSurfaceStyleRendering", attributes=attributes ) + + # # TODO: uncomment to support saving textures + # # TODO: uvs? + # textures = ifc.run("style.add_surface_textures", material=obj) + # if not texture_style and textures: + # texture_style = ifc.get().createIfcSurfaceStyleWithTextures() + # if texture_style: + # texture_style.Textures = textures else: shading_style = style.get_surface_shading_style(obj) attributes = style.get_surface_shading_attributes(obj) diff --git a/src/blenderbim/blenderbim/tool/blender.py b/src/blenderbim/blenderbim/tool/blender.py index 1f2cb6536f..eb2683acf0 100644 --- a/src/blenderbim/blenderbim/tool/blender.py +++ b/src/blenderbim/blenderbim/tool/blender.py @@ -107,6 +107,13 @@ class Blender: return False return False + @classmethod + def show_error_message(cls, text): + """useful for showing error messages outside blender operators""" + def error(self, context): + self.layout.label(text=text) + bpy.context.window_manager.popup_menu(error, title="Error", icon="ERROR") + @classmethod def get_viewport_context(cls): """Get viewport area context for context overriding. @@ -170,13 +177,13 @@ class Blender: shader_editor.pin = previous_pin_setting @classmethod - def get_material_node(cls, blender_material, node_type): + def get_material_node(cls, blender_material, node_type, kwargs={}): """returns first node from the `blender_material` shader graph with type `node_type`""" if not blender_material.use_nodes: return nodes = blender_material.node_tree.nodes for node in nodes: - if node.type == node_type: + if node.type == node_type and all(getattr(node, a) == kwargs[a] for a in kwargs): return node @classmethod diff --git a/src/blenderbim/blenderbim/tool/loader.py b/src/blenderbim/blenderbim/tool/loader.py index 72473b58f4..8099a24439 100644 --- a/src/blenderbim/blenderbim/tool/loader.py +++ b/src/blenderbim/blenderbim/tool/loader.py @@ -22,7 +22,7 @@ import ifcopenshell.util.element import blenderbim.core.tool import blenderbim.tool as tool import os -import mathutils +from mathutils import Vector # Progressively we'll refactor loading elements into Blender objects into this @@ -58,16 +58,12 @@ class Loader(blenderbim.core.tool.Loader): @classmethod def create_surface_style_shading(cls, blender_material, surface_style): + surface_style = cls.surface_style_to_dict(surface_style) alpha = 1.0 # Transparency was added in IFC4 - if hasattr(surface_style, "Transparency") and surface_style.Transparency: - alpha = 1 - surface_style.Transparency - blender_material.diffuse_color = ( - surface_style.SurfaceColour.Red, - surface_style.SurfaceColour.Green, - surface_style.SurfaceColour.Blue, - alpha, - ) + if transparency := surface_style.get("Transparency", None): + alpha = 1 - transparency + blender_material.diffuse_color = surface_style["SurfaceColour"][:3] + (alpha,) @classmethod def restart_material_node_tree(cls, blender_material): @@ -76,44 +72,75 @@ class Loader(blenderbim.core.tool.Loader): for n in nodes[:]: nodes.remove(n) output = nodes.new("ShaderNodeOutputMaterial") + output.location = Vector((300, 300)) bsdf = nodes.new("ShaderNodeBsdfPrincipled") + bsdf.location = Vector((10, 300)) links.new(bsdf.outputs["BSDF"], output.inputs["Surface"]) + @classmethod + def surface_style_to_dict(cls, surface_style): + if isinstance(surface_style, dict): + return surface_style + surface_style = surface_style.get_info() + color_to_tuple = lambda x: (x.Red, x.Green, x.Blue, 1) + + if surface_style["SurfaceColour"]: + surface_style["SurfaceColour"] = color_to_tuple(surface_style["SurfaceColour"]) + + if surface_style["DiffuseColour"] and surface_style["DiffuseColour"].is_a("IfcColourRgb"): + surface_style["DiffuseColour"] = ("IfcColourRgb", color_to_tuple(surface_style["DiffuseColour"])) + + elif surface_style["DiffuseColour"] and surface_style["DiffuseColour"].is_a("IfcNormalisedRatioMeasure"): + diffuse_color_value = surface_style["DiffuseColour"].wrappedValue + diffuse_color = [v * diffuse_color_value for v in surface_style["SurfaceColor"][:3]] + [1] + surface_style["DiffuseColour"] = ("IfcNormalisedRatioMeasure", diffuse_color) + else: + surface_style["DiffuseColour"] = None + + if surface_style["SpecularColour"] and surface_style["SpecularColour"].is_a("IfcNormalisedRatioMeasure"): + surface_style["SpecularColour"] = surface_style["SpecularColour"].wrappedValue + else: + surface_style["SpecularColour"] = None + + if surface_style["SpecularHighlight"] and surface_style["SpecularHighlight"].is_a("IfcSpecularRoughness"): + surface_style["SpecularHighlight"] = surface_style["SpecularHighlight"].wrappedValue + else: + surface_style["SpecularHighlight"] = None + return surface_style + @classmethod def create_surface_style_rendering(cls, blender_material, surface_style): + surface_style = cls.surface_style_to_dict(surface_style) cls.create_surface_style_shading(blender_material, surface_style) - if surface_style.ReflectanceMethod in ["PHYSICAL", "NOTDEFINED"]: + + reflectance_method = surface_style["ReflectanceMethod"] + if reflectance_method not in ("PHYSICAL", "NOTDEFINED", "FLAT"): + print(f'WARNING. Unsupported reflectance method "{reflectance_method}" on style {surface_style}') + return + + if reflectance_method in ["PHYSICAL", "NOTDEFINED"]: blender_material.use_nodes = True cls.restart_material_node_tree(blender_material) bsdf = tool.Blender.get_material_node(blender_material, "BSDF_PRINCIPLED") - if surface_style.DiffuseColour: - if surface_style.DiffuseColour.is_a("IfcColourRgb"): - bsdf.inputs["Base Color"].default_value = ( - surface_style.DiffuseColour.Red, - surface_style.DiffuseColour.Green, - surface_style.DiffuseColour.Blue, - 1, - ) - elif surface_style.DiffuseColour.is_a("IfcNormalisedRatioMeasure"): - bsdf.inputs["Base Color"].default_value = ( - surface_style.SurfaceColour.Red * surface_style.DiffuseColour.wrappedValue, - surface_style.SurfaceColour.Green * surface_style.DiffuseColour.wrappedValue, - surface_style.SurfaceColour.Blue * surface_style.DiffuseColour.wrappedValue, - 1, - ) - if surface_style.SpecularColour and surface_style.SpecularColour.is_a("IfcNormalisedRatioMeasure"): - bsdf.inputs["Metallic"].default_value = surface_style.SpecularColour.wrappedValue - if surface_style.SpecularHighlight and surface_style.SpecularHighlight.is_a("IfcSpecularRoughness"): - bsdf.inputs["Roughness"].default_value = surface_style.SpecularHighlight.wrappedValue - if hasattr(surface_style, "Transparency") and surface_style.Transparency: - bsdf.inputs["Alpha"].default_value = 1 - surface_style.Transparency + if surface_style["DiffuseColour"]: + color_type, color_value = surface_style["DiffuseColour"] + if color_type == "IfcColourRgb": + bsdf.inputs["Base Color"].default_value = color_value + elif color_type == "IfcNormalisedRatioMeasure": + bsdf.inputs["Base Color"].default_value = color_value + if surface_style["SpecularColour"]: + bsdf.inputs["Metallic"].default_value = surface_style["SpecularColour"] + if surface_style["SpecularHighlight"]: + bsdf.inputs["Roughness"].default_value = surface_style["SpecularHighlight"] + if transparency := surface_style.get("Transparency", None): + bsdf.inputs["Alpha"].default_value = 1 - transparency blender_material.blend_method = "BLEND" - elif surface_style.ReflectanceMethod == "FLAT": + elif reflectance_method == "FLAT": blender_material.use_nodes = True cls.restart_material_node_tree(blender_material) - output = {n.type: n for n in blender_material.node_tree.nodes}.get("OUTPUT_MATERIAL", None) + output = tool.Blender.get_material_node(blender_material, "OUTPUT_MATERIAL") bsdf = tool.Blender.get_material_node(blender_material, "BSDF_PRINCIPLED") mix = blender_material.node_tree.nodes.new(type="ShaderNodeMixShader") @@ -123,24 +150,21 @@ class Loader(blenderbim.core.tool.Loader): blender_material.node_tree.nodes.remove(bsdf) lightpath = blender_material.node_tree.nodes.new(type="ShaderNodeLightPath") - lightpath.location = mix.location - mathutils.Vector((200, -200)) + lightpath.location = mix.location - Vector((200, -200)) blender_material.node_tree.links.new(lightpath.outputs[0], mix.inputs[0]) bsdf = blender_material.node_tree.nodes.new(type="ShaderNodeBsdfTransparent") - bsdf.location = mix.location - mathutils.Vector((200, 0)) + bsdf.location = mix.location - Vector((200, 150)) blender_material.node_tree.links.new(bsdf.outputs[0], mix.inputs[1]) rgb = blender_material.node_tree.nodes.new(type="ShaderNodeRGB") - rgb.location = mix.location - mathutils.Vector((200, 200)) + rgb.location = mix.location - Vector((200, 250)) blender_material.node_tree.links.new(rgb.outputs[0], mix.inputs[2]) - if surface_style.DiffuseColour and surface_style.DiffuseColour.is_a("IfcColourRgb"): - rgb.outputs[0].default_value = ( - surface_style.DiffuseColour.Red, - surface_style.DiffuseColour.Green, - surface_style.DiffuseColour.Blue, - 1, - ) + if surface_style["DiffuseColour"]: + color_type, color_value = surface_style["DiffuseColour"] + if color_type == "IfcColourRgb": + rgb.outputs[0].default_value = color_value @classmethod def create_surface_style_with_textures(cls, blender_material, rendering_style, texture_style): @@ -153,73 +177,91 @@ class Loader(blenderbim.core.tool.Loader): if not os.path.abspath(texture.URLReference) and tool.Ifc.get_path(): image_url = os.path.join(os.path.dirname(tool.Ifc.get_path()), texture.URLReference) + reflectance_method = rendering_style.ReflectanceMethod + if reflectance_method not in ("PHYSICAL", "NOTDEFINED", "FLAT"): + print(f'WARNING. Unsupported reflectance method "{reflectance_method}" on style {rendering_style}') + return + if rendering_style.ReflectanceMethod in ["PHYSICAL", "NOTDEFINED"]: bsdf = tool.Blender.get_material_node(blender_material, "BSDF_PRINCIPLED") if mode == "NORMAL": + # add normal map node normalmap = blender_material.node_tree.nodes.new(type="ShaderNodeNormalMap") - normalmap.location = bsdf.location - mathutils.Vector((200, 0)) + normalmap.location = bsdf.location - Vector((200, 0)) blender_material.node_tree.links.new(normalmap.outputs[0], bsdf.inputs["Normal"]) + # add normal map sampler node = blender_material.node_tree.nodes.new(type="ShaderNodeTexImage") - node.location = normalmap.location - mathutils.Vector((200, 0)) + node.location = normalmap.location - Vector((200, 0)) image = bpy.data.images.load(image_url) image.colorspace_settings.name = "Non-Color" node.image = image blender_material.node_tree.links.new(node.outputs[0], normalmap.inputs["Color"]) - elif mode == "EMISSIVE": - output = {n.type: n for n in blender_material.node_tree.nodes}.get("OUTPUT_MATERIAL", None) + elif mode == "EMISSIVE": + output = tool.Blender.get_material_node(blender_material, "OUTPUT_MATERIAL") + + # add "Add Shader" node add = blender_material.node_tree.nodes.new(type="ShaderNodeAddShader") - add.location = bsdf.location + mathutils.Vector((200, 0)) + add.location = bsdf.location + Vector((200, 0)) blender_material.node_tree.links.new(bsdf.outputs[0], add.inputs[1]) blender_material.node_tree.links.new(add.outputs[0], output.inputs[0]) + # add emssion shader node emission = blender_material.node_tree.nodes.new(type="ShaderNodeEmission") - emission.location = add.location - mathutils.Vector((200, 0)) + emission.location = add.location - Vector((200, 0)) blender_material.node_tree.links.new(emission.outputs[0], add.inputs[0]) + # add emission texture sampler node = blender_material.node_tree.nodes.new(type="ShaderNodeTexImage") - node.location = emission.location - mathutils.Vector((200, 0)) + node.location = emission.location - Vector((200, 0)) image = bpy.data.images.load(image_url) node.image = image blender_material.node_tree.links.new(node.outputs[0], emission.inputs[0]) + elif mode == "METALLICROUGHNESS": separate = blender_material.node_tree.nodes.new(type="ShaderNodeSeparateRGB") - separate.location = bsdf.location - mathutils.Vector((200, 0)) + separate.location = bsdf.location - Vector((200, 0)) blender_material.node_tree.links.new(separate.outputs[1], bsdf.inputs["Roughness"]) blender_material.node_tree.links.new(separate.outputs[2], bsdf.inputs["Metallic"]) node = blender_material.node_tree.nodes.new(type="ShaderNodeTexImage") - node.location = separate.location - mathutils.Vector((200, 0)) + node.location = separate.location - Vector((200, 0)) image = bpy.data.images.load(image_url) image.colorspace_settings.name = "Non-Color" node.image = image blender_material.node_tree.links.new(node.outputs[0], separate.inputs[0]) + elif mode == "OCCLUSION": # TODO work out how to implement glTF settings here # https://docs.blender.org/manual/en/dev/addons/import_export/scene_gltf2.html pass + elif mode == "DIFFUSE": node = blender_material.node_tree.nodes.new(type="ShaderNodeTexImage") - node.location = bsdf.location - mathutils.Vector((400, 0)) + node.location = bsdf.location - Vector((400, 0)) image = bpy.data.images.load(image_url) node.image = image blender_material.node_tree.links.new(node.outputs[0], bsdf.inputs["Base Color"]) blender_material.node_tree.links.new(node.outputs[1], bsdf.inputs["Alpha"]) blender_material.blend_method = "BLEND" + elif rendering_style.ReflectanceMethod == "FLAT": bsdf = tool.Blender.get_material_node(blender_material, "MIX_SHADER") - if mode == "EMISSIVE": - node = blender_material.node_tree.nodes.new(type="ShaderNodeTexImage") - node.location = bsdf.location - mathutils.Vector((200, 0)) - image = bpy.data.images.load(image_url) - node.image = image - blender_material.node_tree.links.new(node.outputs[0], bsdf.inputs[2]) + if mode != "EMISSIVE": + continue + + node = blender_material.node_tree.nodes.new(type="ShaderNodeTexImage") + node.location = bsdf.location - Vector((200, 0)) + image = bpy.data.images.load(image_url) + # TODO: orphaned textures after shader recreated? + node.image = image + blender_material.node_tree.links.new(node.outputs[0], bsdf.inputs[2]) if node and getattr(texture, "IsMappedBy", None): coordinates = texture.IsMappedBy[0] coord = blender_material.node_tree.nodes.new(type="ShaderNodeTexCoord") - coord.location = node.location - mathutils.Vector((200, 0)) + coord.location = node.location - Vector((200, 0)) if coordinates.is_a("IfcTextureCoordinateGenerator") and coordinates.Mode == "COORD": blender_material.node_tree.links.new(coord.outputs["Generated"], node.inputs["Vector"]) elif coordinates.is_a("IfcTextureCoordinateGenerator") and coordinates.Mode == "COORD-EYE": diff --git a/src/blenderbim/blenderbim/tool/style.py b/src/blenderbim/blenderbim/tool/style.py index 8dfd6bf2a1..f360be55fe 100644 --- a/src/blenderbim/blenderbim/tool/style.py +++ b/src/blenderbim/blenderbim/tool/style.py @@ -24,6 +24,16 @@ import blenderbim.tool as tool import blenderbim.bim.helper +STYLE_PROPS_MAP = { + "reflectance_method": "ReflectanceMethod", + "diffuse_color": "DiffuseColour", + "surface_color": "SurfaceColour", + "transparency": "Transparency", + "roughness": "SpecularHighlight", + "metallic": "SpecularColour", +} + + class Style(blenderbim.core.tool.Style): @classmethod def can_support_rendering_style(cls, obj): @@ -87,6 +97,8 @@ class Style(blenderbim.core.tool.Style): @classmethod def get_style_elements(cls, blender_material): + if not blender_material.BIMMaterialProperties.ifc_style_id: + return {} style = tool.Ifc.get().by_id(blender_material.BIMMaterialProperties.ifc_style_id) style_elements = {} for style in style.Styles: @@ -94,52 +106,184 @@ class Style(blenderbim.core.tool.Style): return style_elements @classmethod - def get_surface_rendering_attributes(cls, obj): + def get_surface_style_from_props(cls, blender_material): + """convert blender style props to ifc props""" + surface_style_data = dict() + props = blender_material.BIMStyleProperties + for prop_blender, prop_ifc in STYLE_PROPS_MAP.items(): + surface_style_data[prop_ifc] = getattr(props, prop_blender) + if surface_style_data["ReflectanceMethod"] == "PHYSICAL" and tool.Ifc.get_schema() != "IFC4X3": + surface_style_data["ReflectanceMethod"] = "NOTDEFINED" + surface_style_data["DiffuseColour"] = ("IfcColourRgb", surface_style_data["DiffuseColour"]) + return surface_style_data + + @classmethod + def set_surface_style_props(cls, blender_material): + """set blender style props based on current surface material""" + props = blender_material.BIMStyleProperties + # make sure won't be updating while we changing it + prev_update_graph_value = props.update_graph + props["update_graph"] = False + + style_elements = tool.Style.get_style_elements(blender_material) + surface_style = style_elements["IfcSurfaceStyleRendering"] + style_data = tool.Loader.surface_style_to_dict(surface_style) + if style_data["ReflectanceMethod"] == "NOTDEFINED": + style_data["ReflectanceMethod"] = "PHYSICAL" + style_data["DiffuseColour"] = style_data["DiffuseColour"][1] + + for prop_blender, prop_ifc in STYLE_PROPS_MAP.items(): + prop_value = style_data[prop_ifc] + # TODO: set to default? + if prop_value is None: + continue + setattr(props, prop_blender, prop_value) + + props["update_graph"] = prev_update_graph_value + + @classmethod + def get_surface_rendering_attributes(cls, obj, verbose=True): transparency = 1 - obj.diffuse_color[3] diffuse_color = obj.diffuse_color + report = (lambda *x: print(*x)) if verbose else (lambda *x: None) + + viewport_color = { + "Name": None, + "Red": obj.diffuse_color[0], + "Green": obj.diffuse_color[1], + "Blue": obj.diffuse_color[2], + } attributes = { - "SurfaceColour": { - "Name": None, - "Red": obj.diffuse_color[0], - "Green": obj.diffuse_color[1], - "Blue": obj.diffuse_color[2], - }, + "SurfaceColour": viewport_color, "Transparency": transparency, } + GREEN = "\033[32m" + BLUE = "\033[1;34m" + R = "\033[0m" # RESET symbol - bsdfs = {n.type: n for n in obj.node_tree.nodes} - if "BSDF_GLOSSY" in bsdfs: - attributes["ReflectanceMethod"] = "METAL" - bsdf = bsdfs["BSDF_GLOSSY"] + def get_input_node(node, input_name=None, of_type=None, input_index=None): + input_pin = node.inputs[input_name] if input_index is None else node.inputs[input_index] + if of_type: + return next((l.from_node for l in input_pin.links if l.from_node.type == of_type), None) + return next((l.from_node for l in input_pin.links), None) + + report("--------------------") + report("Verbose method of getting surface rendering attributes enabled.") + report("If some attribute is not mentioned below, then it won't be saved to IFC.") + report("--------------------") + report(f"{GREEN}Viewport color{R} saved as {GREEN}SurfaceColour{R}") + + # TODO: make sure bsdf is connected to the output? + bsdfs = {n.type: n for n in obj.node_tree.nodes if n.outputs and n.outputs[0].is_linked} + if "BSDF_PRINCIPLED" not in bsdfs: + report(f"{GREEN}Viewport color alpha{R} saved as {GREEN}Transparency{R}") + + # TODO: should escape referring to pins by their name to support different languages + material_output = tool.Blender.get_material_node(obj, "OUTPUT_MATERIAL", {"is_active_output": True}) + surface_output = get_input_node(material_output, "Surface") + + if surface_output and surface_output.type == "MIX_SHADER": + mix_shader = surface_output + if ( + get_input_node(mix_shader, "Fac", "LIGHT_PATH") + and get_input_node(mix_shader, input_index=1, of_type="BSDF_TRANSPARENT") + and (rgb := get_input_node(mix_shader, input_index=2, of_type="RGB")) + ): + report( + f"Because of {BLUE}MIX_SHADER + LIGHT_PATH + BSDF_TRANSPARENT + RGB{R} node setup reflectance method identified as {BLUE}FLAT{R}" + ) + attributes["ReflectanceMethod"] = "FLAT" + attributes["SpecularHighlight"] = None + report(f"RGB {GREEN}Color{R} saved as {GREEN}DiffuseColour{R}") + diffuse_color = rgb.outputs[0].default_value + + elif surface_output and surface_output.type == "BSDF_PRINCIPLED": + report(f"Because of {BLUE}BSDF_PRINCIPLED{R} node reflectance method identified as {BLUE}PHYSICAL{R}") + attributes["ReflectanceMethod"] = "NOTDEFINED" if tool.Ifc.get_schema() != "IFC4X3" else "PHYSICAL" + bsdf = surface_output + + report(f"BSDF {GREEN}Base Color{R} saved as {GREEN}DiffuseColour{R}") + diffuse_color = bsdf.inputs["Base Color"].default_value + + report(f"BSDF {GREEN}Metallic{R} saved as {GREEN}SpecularColour{R}") + attributes["SpecularColour"] = round(bsdf.inputs["Metallic"].default_value, 3) + + report(f"BSDF {GREEN}Roughness{R} saved as {GREEN}IfcSpecularRoughness{R}") attributes["SpecularHighlight"] = {"IfcSpecularRoughness": round(bsdf.inputs["Roughness"].default_value, 3)} + + report(f"BSDF {GREEN}Alpha{R} saved as {GREEN}Transparency{R}") + attributes["Transparency"] = 1 - bsdf.inputs["Alpha"].default_value + + elif "BSDF_GLOSSY" in bsdfs: + attributes["ReflectanceMethod"] = "METAL" + report(f"Because of {BLUE}BSDF_GLOSSY{R} node reflectance method identified as {BLUE}METAL{R}") + bsdf = bsdfs["BSDF_GLOSSY"] + + report(f"BSDF {GREEN}Roughness{R} saved as {GREEN}IfcSpecularRoughness{R}") + attributes["SpecularHighlight"] = {"IfcSpecularRoughness": round(bsdf.inputs["Roughness"].default_value, 3)} + + report(f"BSDF {GREEN}Color{R} saved as {GREEN}DiffuseColour{R}") diffuse_color = bsdf.inputs["Color"].default_value + elif "BSDF_DIFFUSE" in bsdfs: + report(f"Because of {BLUE}BSDF_DIFFUSE{R} node reflectance method identified as {BLUE}MATT{R}") attributes["ReflectanceMethod"] = "MATT" bsdf = bsdfs["BSDF_DIFFUSE"] + + report(f"BSDF {GREEN}Roughness{R} saved as {GREEN}IfcSpecularRoughness{R}") attributes["SpecularHighlight"] = {"IfcSpecularRoughness": round(bsdf.inputs["Roughness"].default_value, 3)} + + report(f"BSDF {GREEN}Color{R} saved as {GREEN}DiffuseColour{R}") diffuse_color = bsdf.inputs["Color"].default_value + elif "BSDF_GLASS" in bsdfs: + report(f"Because of {BLUE}BSDF_GLASS{R} node reflectance method identified as {BLUE}GLASS{R}") attributes["ReflectanceMethod"] = "GLASS" bsdf = bsdfs["BSDF_GLASS"] + + report(f"BSDF {GREEN}Roughness{R} saved as {GREEN}IfcSpecularRoughness{R}") attributes["SpecularHighlight"] = {"IfcSpecularRoughness": round(bsdf.inputs["Roughness"].default_value, 3)} + + report(f"BSDF {GREEN}Color{R} saved as {GREEN}DiffuseColour{R}") diffuse_color = bsdf.inputs["Color"].default_value + + # TODO: remove? elif "EMISSION" in bsdfs: + report(f"Because of {BLUE}EMISSION{R} node reflectance method identified as {BLUE}FLAT{R}") attributes["ReflectanceMethod"] = "FLAT" bsdf = bsdfs["EMISSION"] + attributes["SpecularHighlight"] = None + report(f"BSDF {GREEN}Color{R} saved as {GREEN}DiffuseColour{R}") + diffuse_color = bsdf.inputs["Color"].default_value + + # TODO: remove? elif "BSDF_PRINCIPLED" in bsdfs: - attributes["ReflectanceMethod"] = "NOTDEFINED" + report(f"Because of {BLUE}BSDF_PRINCIPLED{R} node reflectance method identified as {BLUE}PHYSICAL{R}") + attributes["ReflectanceMethod"] = "NOTDEFINED" if tool.Ifc.get_schema() != "IFC4X3" else "PHYSICAL" bsdf = bsdfs["BSDF_PRINCIPLED"] - attributes["SpecularColour"] = round(bsdf.inputs["Metallic"].default_value, 3) - attributes["SpecularHighlight"] = {"IfcSpecularRoughness": round(bsdf.inputs["Roughness"].default_value, 3)} + + report(f"BSDF {GREEN}Base Color{R} saved as {GREEN}DiffuseColour{R}") diffuse_color = bsdf.inputs["Base Color"].default_value + + report(f"BSDF {GREEN}Metallic{R} saved as {GREEN}SpecularColour{R}") + attributes["SpecularColour"] = round(bsdf.inputs["Metallic"].default_value, 3) + + report(f"BSDF {GREEN}Roughness{R} saved as {GREEN}IfcSpecularRoughness{R}") + attributes["SpecularHighlight"] = {"IfcSpecularRoughness": round(bsdf.inputs["Roughness"].default_value, 3)} + + report(f"BSDF {GREEN}Alpha{R} saved as {GREEN}Transparency{R}") attributes["Transparency"] = 1 - bsdf.inputs["Alpha"].default_value + else: + report(f"No supported bsdfs found - reflectance method identified as {BLUE}NOTDEFINED{R}") attributes["ReflectanceMethod"] = "NOTDEFINED" + attributes["SpecularHighlight"] = None - attributes["DiffuseColour"] = attributes["SurfaceColour"] + report(f"{GREEN}Viewport color{R} saved as {GREEN}DiffuseColour{R}") + attributes["DiffuseColour"] = viewport_color return attributes attributes["DiffuseColour"] = { @@ -148,16 +292,12 @@ class Style(blenderbim.core.tool.Style): "Green": diffuse_color[1], "Blue": diffuse_color[2], } - return attributes @classmethod def get_surface_rendering_style(cls, obj): - if obj.BIMMaterialProperties.ifc_style_id: - style = tool.Ifc.get().by_id(obj.BIMMaterialProperties.ifc_style_id) - items = [s for s in style.Styles if s.is_a("IfcSurfaceStyleRendering")] - if items: - return items[0] + style_elements = cls.get_style_elements(obj) + return style_elements.get("IfcSurfaceStyleRendering", None) @classmethod def get_surface_shading_attributes(cls, obj): From 6dab4501ade154fba0e2d9e5cfa158ec341abce4 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Fri, 23 Jun 2023 18:19:33 +0500 Subject: [PATCH 184/225] Unhide in render for not excluded objects #3338 Objects were hidden in render but never unhidden if they were no more in drawing's .Exlcude --- src/blenderbim/blenderbim/tool/drawing.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/blenderbim/blenderbim/tool/drawing.py b/src/blenderbim/blenderbim/tool/drawing.py index a16319e416..acb8d2c68b 100644 --- a/src/blenderbim/blenderbim/tool/drawing.py +++ b/src/blenderbim/blenderbim/tool/drawing.py @@ -1498,12 +1498,11 @@ class Drawing(blenderbim.core.tool.Drawing): bpy.ops.object.hide_view_clear() filtered_elements = cls.get_drawing_elements(drawing) | cls.get_drawing_spaces(drawing) - hidden_objs = [o for o in bpy.context.visible_objects if tool.Ifc.get_entity(o) not in filtered_elements] - - for hidden_obj in hidden_objs: - if bpy.context.view_layer.objects.get(hidden_obj.name): - hidden_obj.hide_set(True) - hidden_obj.hide_render = True + for visible_obj in bpy.context.visible_objects: + hide = tool.Ifc.get_entity(visible_obj) not in filtered_elements + if bpy.context.view_layer.objects.get(visible_obj.name): + visible_obj.hide_set(hide) + visible_obj.hide_render = hide subcontexts = [] target_view = cls.get_drawing_target_view(drawing) From e3a7f762761b0353249c799d18c7e63e9fa7c44a Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Sat, 24 Jun 2023 10:19:35 +0500 Subject: [PATCH 185/225] Avoid ui errors after 2dc9dc200 --- src/blenderbim/blenderbim/bim/module/style/ui.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/blenderbim/blenderbim/bim/module/style/ui.py b/src/blenderbim/blenderbim/bim/module/style/ui.py index d21098034a..b2e8868103 100644 --- a/src/blenderbim/blenderbim/bim/module/style/ui.py +++ b/src/blenderbim/blenderbim/bim/module/style/ui.py @@ -228,6 +228,10 @@ class BIM_PT_STYLE_GRAPH(Panel): bl_region_type = "UI" bl_category = "BBIM" + @classmethod + def poll(cls, context): + return getattr(context, "mat", None) + def draw(self, context): layout = self.layout props = context.active_object.active_material.BIMStyleProperties From 12c10f98a372a6d821bc9bd948c3f5c2e6b89b64 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Mon, 26 Jun 2023 10:33:07 +0500 Subject: [PATCH 186/225] Fixing bug after 28cc168 Was causing some tests to fail --- src/blenderbim/blenderbim/tool/material.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/blenderbim/blenderbim/tool/material.py b/src/blenderbim/blenderbim/tool/material.py index 6ffeb8f587..0cf0aacdb1 100644 --- a/src/blenderbim/blenderbim/tool/material.py +++ b/src/blenderbim/blenderbim/tool/material.py @@ -147,10 +147,9 @@ class Material(blenderbim.core.tool.Material): @classmethod def is_a_material_set(cls, material): return material.is_a() in [ - "IfcMaterialProfile", - "IfcMaterialLayer", - "IfcMaterialConstituent", - "IfcMaterialList", + "IfcMaterialConstituentSet", + "IfcMaterialLayerSet", + "IfcMaterialProfileSet", ] @classmethod From 1a5c501af0e7964c9dcc68622106d6f97a71b01d Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Mon, 26 Jun 2023 10:48:50 +0500 Subject: [PATCH 187/225] Fixed typo in e3a7f7627 --- src/blenderbim/blenderbim/bim/module/style/ui.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/blenderbim/blenderbim/bim/module/style/ui.py b/src/blenderbim/blenderbim/bim/module/style/ui.py index b2e8868103..b66fc8c69e 100644 --- a/src/blenderbim/blenderbim/bim/module/style/ui.py +++ b/src/blenderbim/blenderbim/bim/module/style/ui.py @@ -230,7 +230,7 @@ class BIM_PT_STYLE_GRAPH(Panel): @classmethod def poll(cls, context): - return getattr(context, "mat", None) + return getattr(context, "material", None) def draw(self, context): layout = self.layout From c1d972f7bfb2271758305144865ddbd6816ecec3 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Mon, 26 Jun 2023 16:50:09 +1000 Subject: [PATCH 188/225] Ifc2Sql patch now can store inverses for efficient queries. --- src/ifcpatch/ifcpatch/recipes/Ifc2Sql.py | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/src/ifcpatch/ifcpatch/recipes/Ifc2Sql.py b/src/ifcpatch/ifcpatch/recipes/Ifc2Sql.py index f9c573960a..7f54de6df3 100644 --- a/src/ifcpatch/ifcpatch/recipes/Ifc2Sql.py +++ b/src/ifcpatch/ifcpatch/recipes/Ifc2Sql.py @@ -80,12 +80,13 @@ class Patcher: self.database = database def patch(self): - self.full_schema = True + self.full_schema = True # Set true for ifcopenshell.sqlite self.is_strict = False - self.should_expand = True + self.should_expand = False # Set false for ifcopenshell.sqlite + self.should_get_inverses = True # Set true for ifcopenshell.sqlite self.should_get_psets = True - self.should_get_geometry = True - self.should_skip_geometry_data = False + self.should_get_geometry = True # Set true for ifcopenshell.sqlite + self.should_skip_geometry_data = False # Set false for ifcopenshell.sqlite self.schema = ifcopenshell.ifcopenshell_wrapper.schema_by_name(self.file.schema) @@ -97,10 +98,7 @@ class Patcher: self.file_patched = db_file elif self.sql_type == "mysql": self.db = mysql.connector.connect( - host=self.host, - user=self.username, - password=self.password, - database=self.database + host=self.host, user=self.username, password=self.password, database=self.database ) self.c = self.db.cursor() self.file_patched = None @@ -242,9 +240,7 @@ class Patcher: # IfcOpenShell-2.0.0 represents a schema where tables represent types. metadata = ["IfcOpenShell-1.0.0", self.file.schema, self.file.header.file_description.description[0]] if self.sql_type == "sqlite": - statement = ( - "CREATE TABLE IF NOT EXISTS metadata (preprocessor text, schema text, mvd text);" - ) + statement = "CREATE TABLE IF NOT EXISTS metadata (preprocessor text, schema text, mvd text);" self.c.execute(statement) self.c.execute("INSERT INTO metadata VALUES (?, ?, ?);", metadata) elif self.sql_type == "mysql": @@ -334,6 +330,8 @@ class Patcher: optional = "" if attribute.optional() else " NOT NULL" comma = "" if i == total_attributes - 1 else "," statement += f" `{attribute.name()}` {data_type}{optional}{comma}" + if self.should_get_inverses: + statement += ", inverses JSON" statement += ");" print(statement) self.c.execute(statement) @@ -417,6 +415,9 @@ class Patcher: else: values.append(attribute) + if self.should_get_inverses: + values.append(json.dumps([e.id() for e in self.file.get_inverse(element)])) + if self.should_expand: rows.extend(self.get_permutations(values, nested_indices)) else: From 897dfb1e3399035f4fb9d21e08e5f4133fe09def Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Mon, 26 Jun 2023 16:55:14 +1000 Subject: [PATCH 189/225] ifcopenshell.sqlite wrapper now handles JSON fields by default, which is significantly more performant f attributes holding entity lists are expanded in SQL, this means that you end up with significantly more rows. Also, you cannot have the ifc_id marked as a UNIQUE field / benefit from unique primary key index. So leaving the fields as JSON is actually significantly more efficient (almost 10X faster to load a model into BBIM). --- src/ifcopenshell-python/ifcopenshell/sql.py | 214 ++++++-------------- 1 file changed, 63 insertions(+), 151 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/sql.py b/src/ifcopenshell-python/ifcopenshell/sql.py index e1844d4d6c..5462ecd7ca 100644 --- a/src/ifcopenshell-python/ifcopenshell/sql.py +++ b/src/ifcopenshell-python/ifcopenshell/sql.py @@ -99,6 +99,9 @@ class sqlite(file): self.ifc_class_references[declaration.name()] = {"entity": entity, "entity_list": entity_list} + def clear_cache(self): + self.entity_cache = {} + def create_entity(self, type, *args, **kawrgs): assert False @@ -165,30 +168,12 @@ class sqlite(file): return results def get_inverse(self, inst, allow_duplicate=False, with_attribute_indices=False): - results = [] - print("getting inverse of", inst.sqlite_wrapper.id, inst.sqlite_wrapper.ifc_class) - for inverse_class, inverse_attrs in self.ifc_class_inverses.get(inst.sqlite_wrapper.ifc_class, {}).items(): - where = " OR ".join([f"`{attr}`={inst.sqlite_wrapper.id}" for attr in inverse_attrs]) - query = f"SELECT DISTINCT ifc_id FROM {inverse_class} WHERE {where}" - self.cursor.execute(query) - rows = self.cursor.fetchall() - for row in rows: - results.append(self.by_id(row[0])) - # print('we got', results) - if allow_duplicate: - return results - return set(results) - - def is_entity_list_old(self, primitive, is_first_call=True): - if not isinstance(primitive, tuple): - return False - elif is_first_call and primitive[0] == "select": - return False - elif primitive[1] == "entity": - return True - elif isinstance(primitive[1], tuple): - return self.is_entity_list(primitive[1], is_first_call=False) - return False + query = f"SELECT inverses FROM {inst.sqlite_wrapper.ifc_class} WHERE `ifc_id` = {inst.sqlite_wrapper.id} LIMIT 1" + self.cursor.execute(query) + row = self.cursor.fetchone() + if not row or not row[0]: + return set() + return {self.by_id(e) for e in json.loads(row[0])} def is_entity_list(self, attribute): attribute = str(attribute.type_of_attribute()) @@ -258,6 +243,7 @@ class sqlite_entity(entity_instance): query = f"UPDATE `{self.sqlite_wrapper.ifc_class}` SET `{key}` = ? WHERE ifc_id = {self.sqlite_wrapper.id}" self.sqlite_wrapper.file.cursor.execute(query, (value,)) self.sqlite_wrapper.file.db.commit() + self.sqlite_wrapper.attribute_cache = {} def __getattr__(self, name): # print("*" * 100) @@ -274,63 +260,28 @@ class sqlite_entity(entity_instance): # print('first time for', self.sqlite_wrapper.ifc_class) # print("IT IS A FORWARD") - query = f"SELECT * FROM {self.sqlite_wrapper.ifc_class} WHERE `ifc_id` = {self.sqlite_wrapper.id}" + query = f"SELECT * FROM {self.sqlite_wrapper.ifc_class} WHERE `ifc_id` = {self.sqlite_wrapper.id} LIMIT 1" self.sqlite_wrapper.file.cursor.execute(query) - rows = self.sqlite_wrapper.file.cursor.fetchall() + row = self.sqlite_wrapper.file.cursor.fetchone() for attribute in self.sqlite_wrapper.attributes.values(): # attribute = self.sqlite_wrapper.attributes[name] aname = attribute.name() primitive = ifcopenshell.util.attribute.get_primitive_type(attribute) - is_entity_list = self.sqlite_wrapper.file.is_entity_list(attribute) - # print("IS IT AN ENTITY LIST", is_entity_list, primitive) - # if is_entity_list: - # query = ( - # f"SELECT `{name}` FROM {self.sqlite_wrapper.ifc_class} WHERE `ifc_id` = {self.sqlite_wrapper.id}" - # ) - # else: - # query = f"SELECT * FROM {self.sqlite_wrapper.ifc_class} WHERE `ifc_id` = {self.sqlite_wrapper.id} LIMIT 1" - # print("query is", query) - # self.sqlite_wrapper.file.cursor.execute(query) - if is_entity_list: - # rows = self.sqlite_wrapper.file.cursor.fetchall() - # print("forward rows are", rows) - # print("returning", tuple((self.sqlite_wrapper.file.by_id(r[0]) for r in rows if r[0]))) - result = tuple((self.sqlite_wrapper.file.by_id(r[aname]) for r in rows if r[aname])) - self.sqlite_wrapper.attribute_cache[aname] = result - # return result - else: - # row = self.sqlite_wrapper.file.cursor.fetchone() - row = rows[0] - if not row or row[aname] is None: - self.sqlite_wrapper.attribute_cache[aname] = None - # return None - # print("primitive is", primitive) - elif primitive == "entity": - # print("returning entity", row[0]) - entity = self.sqlite_wrapper.file.by_id(row[aname]) - self.sqlite_wrapper.attribute_cache[aname] = entity - # return entity - elif isinstance(primitive, tuple) and primitive[0] == "select": - result = self.get_select_value(primitive, row[aname]) - self.sqlite_wrapper.attribute_cache[aname] = result - # return result - elif isinstance(primitive, tuple) and primitive[0] in ("list", "set"): - if isinstance(row[aname], int): - result = (self.sqlite_wrapper.file.by_id(row[aname]),) - self.sqlite_wrapper.attribute_cache[aname] = result - # return result - else: - result = json.loads(row[aname]) - self.sqlite_wrapper.attribute_cache[aname] = result - # return result + if not row or row[aname] is None: + self.sqlite_wrapper.attribute_cache[aname] = None + elif primitive == "entity": + self.sqlite_wrapper.attribute_cache[aname] = self.sqlite_wrapper.file.by_id(row[aname]) + elif isinstance(primitive, tuple): + if isinstance(row[aname], int): + self.sqlite_wrapper.attribute_cache[aname] = self.sqlite_wrapper.file.by_id(row[aname]) else: - # print("returning", row[0]) - result = row[aname] - self.sqlite_wrapper.attribute_cache[aname] = result - # return result - + self.sqlite_wrapper.attribute_cache[aname] = self.unserialise_value(json.loads(row[aname])) + else: + self.sqlite_wrapper.attribute_cache[aname] = row[aname] + if isinstance(self.sqlite_wrapper.attribute_cache[aname], list): + self.sqlite_wrapper.attribute_cache[aname] = tuple(self.sqlite_wrapper.attribute_cache[aname]) return self.sqlite_wrapper.attribute_cache[name] elif attr_cat == INVERSE: if self.sqlite_wrapper.inverse_attribute_cache: @@ -338,48 +289,54 @@ class sqlite_entity(entity_instance): if results is not None: return results - # print("IT IS AN INVERSE") - attribute = self.sqlite_wrapper.inverse_attributes[name] - inverse_name = attribute.attribute_reference().name() - declaration = self.sqlite_wrapper.file.ifc_schema.declaration_by_name(attribute.entity_reference().name()) results = [] - # Union is slightly faster it seems. Not much though. - subtypes = ifcopenshell.util.schema.get_subtypes(declaration) - query = " UNION ".join( - f"SELECT DISTINCT `ifc_id` FROM {subtype.name()} WHERE `{inverse_name}` = {self.sqlite_wrapper.id}" - for subtype in subtypes - ) + query = f"SELECT inverses FROM {self.sqlite_wrapper.ifc_class} WHERE `ifc_id` = {self.sqlite_wrapper.id} LIMIT 1" self.sqlite_wrapper.file.cursor.execute(query) - rows = self.sqlite_wrapper.file.cursor.fetchall() - results.extend([self.sqlite_wrapper.file.by_id(r[0]) for r in rows]) - results = tuple(results) + row = self.sqlite_wrapper.file.cursor.fetchone() + if not row or not row[0]: + self.sqlite_wrapper.inverse_attribute_cache[name] = tuple() + return self.sqlite_wrapper.inverse_attribute_cache[name] - self.sqlite_wrapper.inverse_attribute_cache[name] = results + attribute = self.sqlite_wrapper.inverse_attributes[name] + entity_class = attribute.entity_reference().name() + declaration = self.sqlite_wrapper.file.ifc_schema.declaration_by_name(entity_class) + forward_name = attribute.attribute_reference().name() - # Loop variant - # for subtype in ifcopenshell.util.schema.get_subtypes(declaration): - # query = f"SELECT DISTINCT `ifc_id` FROM {subtype.name()} WHERE `{name}` = {self.sqlite_wrapper.id}" - # self.sqlite_wrapper.file.cursor.execute(query) - # rows = self.sqlite_wrapper.file.cursor.fetchall() - # results.extend([self.sqlite_wrapper.file.by_id(r[0]) for r in rows]) + subtypes = [st.name() for st in ifcopenshell.util.schema.get_subtypes(declaration)] + element_ids = json.loads(row[0]) + for element_id in element_ids: + ifc_class = self.sqlite_wrapper.file.id_map[element_id] + if ifc_class in subtypes: + potential_result = self.sqlite_wrapper.file.by_id(element_id) + forward_value = getattr(potential_result, forward_name, None) + if not forward_value: + pass + elif isinstance(forward_value, tuple): + if self.sqlite_wrapper.id in [e.id() for e in forward_value]: + results.append(potential_result) + elif forward_value.id() == self.sqlite_wrapper.id: + results.append(potential_result) - # print("query is", query) - # print("inverse rows are", rows) - # print("returning", tuple((self.sqlite_wrapper.file.by_id(r[0]) for r in rows))) - return results + self.sqlite_wrapper.inverse_attribute_cache[name] = tuple(results) + return self.sqlite_wrapper.inverse_attribute_cache[name] raise AttributeError( "entity instance of type '%s' has no attribute '%s'" % (self.wrapped_data.is_a(True), name) ) - def get_select_value(self, primitive, value): - if "entity" in primitive[1] and isinstance(value, int): + def unserialise_value(self, value): + if isinstance(value, (tuple, list)): + for i, value2 in enumerate(value): + value[i] = self.unserialise_value(value2) + return value + elif isinstance(value, int): return self.sqlite_wrapper.file.by_id(value) - data = json.loads(value) - ifc_primitive = ifcopenshell.create_entity(data["type"]) - ifc_primitive[0] = data["value"] - return ifc_primitive + elif isinstance(value, dict): + value2 = ifcopenshell.create_entity(value["type"]) + value2[0] = value["value"] + return value2 + return value def __eq__(self, other): if not isinstance(self, type(other)): @@ -396,54 +353,9 @@ class sqlite_entity(entity_instance): def get_info(self, include_identifier=True, recursive=False, return_type=dict, ignore=(), scalar_only=False): info = {"id": self.sqlite_wrapper.id, "type": self.sqlite_wrapper.ifc_class} - if self.sqlite_wrapper.attribute_cache: - info.update(self.sqlite_wrapper.attribute_cache) - return info - - query = f"SELECT * FROM {self.sqlite_wrapper.ifc_class} WHERE `ifc_id` = {self.sqlite_wrapper.id}" - # print('GET INFO QUERY', query) - self.sqlite_wrapper.file.cursor.execute(query) - rows = self.sqlite_wrapper.file.cursor.fetchall() - - row = rows[0] - entity_list_indices = [] - entity_list_names = [] - - attribute_names = list(self.sqlite_wrapper.attributes.keys()) - - for i, value in enumerate(row[1:]): - # print('enumerating row', i, value) - attribute_name = attribute_names[i] - # print('attr name is', attribute_name) - attribute = self.sqlite_wrapper.attributes[attribute_name] - # print('attribute is', attribute) - primitive = ifcopenshell.util.attribute.get_primitive_type(attribute) - # print('primitive is', primitive) - is_entity_list = self.sqlite_wrapper.file.is_entity_list(attribute) - if is_entity_list: - entity_list_indices.append(i) - entity_list_names.append(attribute_name) - info[attribute_name] = [] - elif value is None: - info[attribute_name] = None - elif primitive == "entity": - info[attribute_name] = self.sqlite_wrapper.file.by_id(value) - elif isinstance(primitive, tuple) and primitive[0] == "select": - self.get_select_value(primitive, value) - elif isinstance(primitive, tuple) and primitive[0] in ("list", "set"): - info[attribute_name] = json.loads(value) - else: - info[attribute_name] = value - - for row in rows: - row = row[1:] - for i, entity_list_index in enumerate(entity_list_indices): - value = row[entity_list_index] - info[entity_list_names[i]].append(self.sqlite_wrapper.file.by_id(value)) - - for name in entity_list_names: - info[name] = tuple(info[name]) - + if not self.sqlite_wrapper.attribute_cache: + self.__getitem__(0) # This will get all attributes + info.update(self.sqlite_wrapper.attribute_cache) return info From 10e96239a1a61552b4369573bbcca3ec5563ea0d Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Mon, 26 Jun 2023 17:13:34 +1000 Subject: [PATCH 190/225] You can now toggle loading geometry in advanced mode when loading a project --- src/blenderbim/blenderbim/bim/import_ifc.py | 70 +++++++++++-------- .../blenderbim/bim/module/project/prop.py | 1 + .../blenderbim/bim/module/project/ui.py | 2 + 3 files changed, 45 insertions(+), 28 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/import_ifc.py b/src/blenderbim/blenderbim/bim/import_ifc.py index 9aef658be4..6d20f07313 100644 --- a/src/blenderbim/blenderbim/bim/import_ifc.py +++ b/src/blenderbim/blenderbim/bim/import_ifc.py @@ -367,6 +367,8 @@ class IfcImporter: return results def parse_native_elements(self): + if not self.ifc_import_settings.should_load_geometry: + return for element in self.elements: if self.is_native(element): self.native_elements.add(element) @@ -578,6 +580,8 @@ class IfcImporter: return result def create_grids(self): + if not self.ifc_import_settings.should_load_geometry: + return grids = self.file.by_type("IfcGrid") for grid in grids: shape = None @@ -623,34 +627,37 @@ class IfcImporter: def create_element_type(self, element): self.ifc_import_settings.logger.info("Creating object %s", element) - representation = ifcopenshell.util.representation.get_representation(element, "Model", "Body", "MODEL_VIEW") - if not representation: - representation = ifcopenshell.util.representation.get_representation(element, "Plan", "Annotation") - if not representation: - representation = ifcopenshell.util.representation.get_representation(element, "Model", "Annotation") mesh = None - if representation: - mesh_name = "{}/{}".format(representation.ContextOfItems.id(), representation.id()) - mesh = self.meshes.get(mesh_name) - if mesh is None: - shape = None - try: - shape = ifcopenshell.geom.create_shape(self.settings, representation) - except: + if self.ifc_import_settings.should_load_geometry: + representation = ifcopenshell.util.representation.get_representation(element, "Model", "Body", "MODEL_VIEW") + if not representation: + representation = ifcopenshell.util.representation.get_representation(element, "Plan", "Annotation") + if not representation: + representation = ifcopenshell.util.representation.get_representation(element, "Model", "Annotation") + if representation: + mesh_name = "{}/{}".format(representation.ContextOfItems.id(), representation.id()) + mesh = self.meshes.get(mesh_name) + if mesh is None: + shape = None try: - shape = ifcopenshell.geom.create_shape(self.settings_2d, representation) + shape = ifcopenshell.geom.create_shape(self.settings, representation) except: - self.ifc_import_settings.logger.error("Failed to generate shape for %s", element) - if shape: - mesh = self.create_mesh(element, shape) - tool.Loader.link_mesh(shape, mesh) - self.meshes[mesh_name] = mesh + try: + shape = ifcopenshell.geom.create_shape(self.settings_2d, representation) + except: + self.ifc_import_settings.logger.error("Failed to generate shape for %s", element) + if shape: + mesh = self.create_mesh(element, shape) + tool.Loader.link_mesh(shape, mesh) + self.meshes[mesh_name] = mesh obj = bpy.data.objects.new(tool.Loader.get_name(element), mesh) self.link_element(element, obj) self.material_creator.create(element, obj, mesh) self.type_products[element.GlobalId] = obj def create_native_elements(self): + if not self.ifc_import_settings.should_load_geometry: + return progress = 0 checkpoint = time.time() total = len(self.native_elements) @@ -696,15 +703,20 @@ class IfcImporter: # 1. 3D Body, 2. 2D Body, 3. 2D Plans / annotations, 4. Point clouds, 5. No representation # If an element has a representation that doesn't follow 1, 2, 3, or 4, it will not show by default. # The user can load them later if they want to view them. - products = self.create_products(elements) - elements -= products - products = self.create_products(elements, settings=self.settings_curve) - elements -= products - products = self.create_products(elements, settings=self.settings_2d) - elements -= products - products = self.create_pointclouds(elements) - elements -= products - for element in elements: + if self.ifc_import_settings.should_load_geometry: + products = self.create_products(elements) + elements -= products + products = self.create_products(elements, settings=self.settings_curve) + elements -= products + products = self.create_products(elements, settings=self.settings_2d) + elements -= products + products = self.create_pointclouds(elements) + elements -= products + + total = len(elements) + for i, element in enumerate(elements): + if i % 250 == 0: + print("{} / {} elements processed ...".format(i, total)) self.create_product(element) def create_products(self, products, settings=None): @@ -1796,6 +1808,7 @@ class IfcImportSettings: self.should_use_cpu_multiprocessing = True self.merge_mode = None self.should_merge_materials_by_colour = False + self.should_load_geometry = True self.should_use_native_meshes = False self.should_clean_mesh = True self.should_cache = True @@ -1825,6 +1838,7 @@ class IfcImportSettings: settings.should_use_cpu_multiprocessing = props.should_use_cpu_multiprocessing settings.merge_mode = props.merge_mode settings.should_merge_materials_by_colour = props.should_merge_materials_by_colour + settings.should_load_geometry = props.should_load_geometry settings.should_use_native_meshes = props.should_use_native_meshes settings.should_clean_mesh = props.should_clean_mesh settings.should_cache = props.should_cache diff --git a/src/blenderbim/blenderbim/bim/module/project/prop.py b/src/blenderbim/blenderbim/bim/module/project/prop.py index f07b52d4dc..e4645945f7 100644 --- a/src/blenderbim/blenderbim/bim/module/project/prop.py +++ b/src/blenderbim/blenderbim/bim/module/project/prop.py @@ -148,6 +148,7 @@ class BIMProjectProperties(PropertyGroup): default="NONE", ) should_merge_materials_by_colour: BoolProperty(name="Merge Materials by Colour", default=False) + should_load_geometry: BoolProperty(name="Load Geometry", default=True) should_use_native_meshes: BoolProperty(name="Native Meshes", default=False) should_clean_mesh: BoolProperty(name="Clean Meshes", default=True) should_cache: BoolProperty(name="Cache", default=False) diff --git a/src/blenderbim/blenderbim/bim/module/project/ui.py b/src/blenderbim/blenderbim/bim/module/project/ui.py index 7681c6a5ed..7c2730f957 100644 --- a/src/blenderbim/blenderbim/bim/module/project/ui.py +++ b/src/blenderbim/blenderbim/bim/module/project/ui.py @@ -77,6 +77,8 @@ class BIM_PT_project(Panel): row = self.layout.row() row.prop(pprops, "should_cache") row = self.layout.row() + row.prop(pprops, "should_load_geometry") + row = self.layout.row() row.prop(pprops, "should_use_native_meshes") row = self.layout.row() row.prop(pprops, "should_merge_materials_by_colour") From 41a176cb6da815e531289fcdc9bc24bab38f65e1 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Mon, 26 Jun 2023 17:21:01 +1000 Subject: [PATCH 191/225] The BlenderBIM Add-on now supports loading IFCSQLite files! --- src/blenderbim/blenderbim/bim/handler.py | 3 + src/blenderbim/blenderbim/bim/helper.py | 5 ++ src/blenderbim/blenderbim/bim/ifc.py | 4 +- src/blenderbim/blenderbim/bim/import_ifc.py | 57 ++++++++++++++++++- .../blenderbim/bim/module/project/operator.py | 2 +- 5 files changed, 67 insertions(+), 4 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/handler.py b/src/blenderbim/blenderbim/bim/handler.py index 9fff5d4836..f478a80338 100644 --- a/src/blenderbim/blenderbim/bim/handler.py +++ b/src/blenderbim/blenderbim/bim/handler.py @@ -168,6 +168,9 @@ def refresh_ui_data(): except AttributeError: pass + if isinstance(tool.Ifc.get(), ifcopenshell.sqlite): + tool.Ifc.get().clear_cache() + def purge_module_data(): from blenderbim.bim import modules diff --git a/src/blenderbim/blenderbim/bim/helper.py b/src/blenderbim/blenderbim/bim/helper.py index d0b19c6d1c..5b73dadd2a 100644 --- a/src/blenderbim/blenderbim/bim/helper.py +++ b/src/blenderbim/blenderbim/bim/helper.py @@ -273,6 +273,9 @@ def convert_property_group_from_si(property_group, skip_props=()): setattr(property_group, prop_name, prop_value) +# TODO this should move into ifcopenshell.util + + class IfcHeaderExtractor: def __init__(self, filepath: str): self.filepath = filepath @@ -284,6 +287,8 @@ class IfcHeaderExtractor: return self.extract_ifc_spf(ifc_file) elif extension.lower() == "ifczip": return self.extract_ifc_zip() + elif extension.lower() == "ifcsqlite": + return {} # TODO def extract_ifc_spf(self, ifc_file): # https://www.steptools.com/stds/step/IS_final_p21e3.html#clause-8 diff --git a/src/blenderbim/blenderbim/bim/ifc.py b/src/blenderbim/blenderbim/bim/ifc.py index fa8cbfa8df..7e815a416f 100644 --- a/src/blenderbim/blenderbim/bim/ifc.py +++ b/src/blenderbim/blenderbim/bim/ifc.py @@ -120,6 +120,8 @@ class IfcStore: @staticmethod def load_file(path): + if not os.path.isfile(path): + return extension = path.split(".")[-1] if extension.lower() == "ifczip": with tempfile.TemporaryDirectory() as unzipped_path: @@ -130,7 +132,7 @@ class IfcStore: return elif extension.lower() == "ifcxml": IfcStore.file = ifcopenshell.file(ifcopenshell.ifcopenshell_wrapper.parse_ifcxml(path)) - elif extension.lower() == "ifc": + else: IfcStore.file = ifcopenshell.open(path) @staticmethod diff --git a/src/blenderbim/blenderbim/bim/import_ifc.py b/src/blenderbim/blenderbim/bim/import_ifc.py index 6d20f07313..733d2d4958 100644 --- a/src/blenderbim/blenderbim/bim/import_ifc.py +++ b/src/blenderbim/blenderbim/bim/import_ifc.py @@ -699,6 +699,9 @@ class IfcImporter: self.create_generic_elements(self.elements) def create_generic_elements(self, elements): + if isinstance(self.file, ifcopenshell.sqlite): + return self.create_generic_sqlite_elements(elements) + # Based on my experience in viewing BIM models, representations are prioritised as follows: # 1. 3D Body, 2. 2D Body, 3. 2D Plans / annotations, 4. Point clouds, 5. No representation # If an element has a representation that doesn't follow 1, 2, 3, or 4, it will not show by default. @@ -719,6 +722,53 @@ class IfcImporter: print("{} / {} elements processed ...".format(i, total)) self.create_product(element) + def create_generic_sqlite_elements(self, elements): + self.geometry_cache = self.file.get_geometry([e.id() for e in elements]) + for geometry_id, geometry in self.geometry_cache["geometry"].items(): + mesh_name = tool.Loader.get_mesh_name(type("Geometry", (), {"id": geometry_id})) + mesh = bpy.data.meshes.new(mesh_name) + + verts = geometry["verts"] + mesh["has_cartesian_point_offset"] = False + + if geometry["faces"]: + num_vertices = len(verts) // 3 + total_faces = len(geometry["faces"]) + loop_start = range(0, total_faces, 3) + num_loops = total_faces // 3 + loop_total = [3] * num_loops + num_vertex_indices = len(geometry["faces"]) + + mesh.vertices.add(num_vertices) + mesh.vertices.foreach_set("co", verts) + mesh.loops.add(num_vertex_indices) + mesh.loops.foreach_set("vertex_index", geometry["faces"]) + mesh.polygons.add(num_loops) + mesh.polygons.foreach_set("loop_start", loop_start) + mesh.polygons.foreach_set("loop_total", loop_total) + mesh.update() + else: + e = geometry["edges"] + v = verts + vertices = [[v[i], v[i + 1], v[i + 2]] for i in range(0, len(v), 3)] + edges = [[e[i], e[i + 1]] for i in range(0, len(e), 2)] + mesh.from_pydata(vertices, edges, []) + + mesh["ios_materials"] = geometry["materials"] + mesh["ios_material_ids"] = geometry["material_ids"] + self.meshes[mesh_name] = mesh + + total = len(elements) + for i, element in enumerate(elements): + if i % 250 == 0: + print("{} / {} elements processed ...".format(i, total)) + mesh = None + geometry_id = self.geometry_cache["shapes"][element.id()]["geometry"] + if geometry_id: + mesh_name = tool.Loader.get_mesh_name(type("Geometry", (), {"id": geometry_id})) + mesh = self.meshes.get(mesh_name) + self.create_product(element, mesh=mesh) + def create_products(self, products, settings=None): if settings is None: settings = self.settings @@ -1574,7 +1624,10 @@ class IfcImporter: return rel.RelatingGroup def get_element_matrix(self, element): - result = ifcopenshell.util.placement.get_local_placement(element.ObjectPlacement) + if isinstance(element, ifcopenshell.sqlite_entity): + result = self.geometry_cache["shapes"][element.id()]["matrix"] + else: + result = ifcopenshell.util.placement.get_local_placement(element.ObjectPlacement) result[0][3] *= self.unit_scale result[1][3] *= self.unit_scale result[2][3] *= self.unit_scale @@ -1731,7 +1784,7 @@ class IfcImporter: mesh.polygons.add(num_loops) mesh.polygons.foreach_set("loop_start", loop_start) mesh.polygons.foreach_set("loop_total", loop_total) - mesh.polygons.foreach_set("use_smooth", [0]*total_faces) + mesh.polygons.foreach_set("use_smooth", [0] * total_faces) mesh.update() else: e = geometry.edges diff --git a/src/blenderbim/blenderbim/bim/module/project/operator.py b/src/blenderbim/blenderbim/bim/module/project/operator.py index ab6446af3f..53b17c739b 100644 --- a/src/blenderbim/blenderbim/bim/module/project/operator.py +++ b/src/blenderbim/blenderbim/bim/module/project/operator.py @@ -525,7 +525,7 @@ class LoadProject(bpy.types.Operator, IFCFileSelector): bl_options = {"REGISTER", "UNDO"} bl_description = "Load an existing IFC project" filepath: bpy.props.StringProperty(subtype="FILE_PATH") - filter_glob: bpy.props.StringProperty(default="*.ifc;*.ifczip;*.ifcxml", options={"HIDDEN"}) + filter_glob: bpy.props.StringProperty(default="*.ifc;*.ifczip;*.ifcxml;*.ifcsqlite", options={"HIDDEN"}) is_advanced: bpy.props.BoolProperty(name="Enable Advanced Mode", default=False) use_relative_path: bpy.props.BoolProperty(name="Use Relative Path", default=False) From 2da86c170feda1a265388574de67683e75722e21 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Mon, 26 Jun 2023 22:14:59 +1000 Subject: [PATCH 192/225] See #3347. Hotfix latest IfcOpenShell SQLite features when making builds. --- src/blenderbim/Makefile | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/blenderbim/Makefile b/src/blenderbim/Makefile index 65391c5e4e..c0b5411354 100644 --- a/src/blenderbim/Makefile +++ b/src/blenderbim/Makefile @@ -206,9 +206,7 @@ endif # IfcOpenBot sometimes lags behind, so we hotfix the Python utilities cp -r dist/working/IfcOpenShell-0.7.0/src/ifcopenshell-python/ifcopenshell/util/* dist/blenderbim/libs/site/packages/ifcopenshell/util/ cp -r dist/working/IfcOpenShell-0.7.0/src/ifcopenshell-python/ifcopenshell/api/* dist/blenderbim/libs/site/packages/ifcopenshell/api/ - cp dist/working/IfcOpenShell-0.7.0/src/ifcopenshell-python/ifcopenshell/entity_instance.py dist/blenderbim/libs/site/packages/ifcopenshell/ - cp dist/working/IfcOpenShell-0.7.0/src/ifcopenshell-python/ifcopenshell/file.py dist/blenderbim/libs/site/packages/ifcopenshell/ - cp dist/working/IfcOpenShell-0.7.0/src/ifcopenshell-python/ifcopenshell/validate.py dist/blenderbim/libs/site/packages/ifcopenshell/ + cp dist/working/IfcOpenShell-0.7.0/src/ifcopenshell-python/ifcopenshell/*.py dist/blenderbim/libs/site/packages/ifcopenshell/ cp dist/working/IfcOpenShell-0.7.0/src/ifcopenshell-python/ifcopenshell/express/rule_executor.py dist/blenderbim/libs/site/packages/ifcopenshell/express/ # Provides bcf functionality cp -r dist/working/IfcOpenShell-0.7.0/src/bcf/src/bcf dist/blenderbim/libs/site/packages/ From 3aff29dec156bbf63b661dea26cd2f8cc29f3bd3 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Tue, 27 Jun 2023 14:30:30 +0500 Subject: [PATCH 193/225] Support for import IfcSurfaceStyleWithTextures Added UI for adding textures in BBIM shader graph generator https://imgur.com/a/BI5pOZn --- .../blenderbim/bim/module/style/__init__.py | 1 + .../blenderbim/bim/module/style/operator.py | 22 ++++ .../blenderbim/bim/module/style/prop.py | 33 ++++- .../blenderbim/bim/module/style/ui.py | 30 ++++- src/blenderbim/blenderbim/core/style.py | 19 ++- src/blenderbim/blenderbim/tool/blender.py | 11 ++ src/blenderbim/blenderbim/tool/loader.py | 56 +++++--- src/blenderbim/blenderbim/tool/style.py | 120 +++++++++++++----- 8 files changed, 233 insertions(+), 59 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/style/__init__.py b/src/blenderbim/blenderbim/bim/module/style/__init__.py index 45a8d3364f..8d37b57ee1 100644 --- a/src/blenderbim/blenderbim/bim/module/style/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/style/__init__.py @@ -37,6 +37,7 @@ classes = ( operator.UnlinkStyle, operator.UpdateStyleColours, operator.UpdateStyleTextures, + operator.ClearTextureMapPath, prop.Style, prop.BIMStylesProperties, prop.BIMStyleProperties, diff --git a/src/blenderbim/blenderbim/bim/module/style/operator.py b/src/blenderbim/blenderbim/bim/module/style/operator.py index 97519569dc..f3ee2ace67 100644 --- a/src/blenderbim/blenderbim/bim/module/style/operator.py +++ b/src/blenderbim/blenderbim/bim/module/style/operator.py @@ -392,3 +392,25 @@ class SelectByStyle(bpy.types.Operator, tool.Ifc.Operator): def _execute(self, context): core.select_by_style(tool.Style, tool.Spatial, style=tool.Ifc.get().by_id(self.style)) + + +class ClearTextureMapPath(bpy.types.Operator): + bl_idname = "bim.clear_texture_map_path" + bl_label = "Clear Texture Map Path" + bl_options = {"REGISTER", "UNDO"} + texture_map_prop: bpy.props.StringProperty(default="") + + @classmethod + def poll(cls, context): + poll = getattr(context, "material", None) + if not poll: + cls.poll_message_set("Select a material") + return poll + + def execute(self, context): + if not self.texture_map_prop: + self.report({"ERROR"}, "Provide a texture map") + return {"CANCELLED"} + props = context.material.BIMStyleProperties + setattr(props, self.texture_map_prop, "") + return {"FINISHED"} diff --git a/src/blenderbim/blenderbim/bim/module/style/prop.py b/src/blenderbim/blenderbim/bim/module/style/prop.py index 21d86530f4..f2faba9dc2 100644 --- a/src/blenderbim/blenderbim/bim/module/style/prop.py +++ b/src/blenderbim/blenderbim/bim/module/style/prop.py @@ -100,7 +100,7 @@ def update_shading_style(self, context): tool.Style.record_shading(blender_material) -# TODO: support more more methods and also textures +# TODO: support more more methods REFLECTANCE_METHODS = [ ("PHYSICAL", "PHYSICAL", ""), ("FLAT", "FLAT", ""), @@ -117,7 +117,9 @@ def update_shader_graph(self, context): material = self.id_data style_data = tool.Style.get_surface_style_from_props(material) + textures_data = tool.Style.get_texture_style_from_props(material) tool.Loader.create_surface_style_rendering(material, style_data) + tool.Loader.create_surface_style_with_textures(material, style_data, textures_data) def update_graph_get(self): @@ -184,3 +186,32 @@ class BIMStyleProperties(PropertyGroup): ) roughness: bpy.props.FloatProperty(name="Roughness", default=0.0, min=0.0, max=1.0, update=update_shader_graph) metallic: bpy.props.FloatProperty(name="Metallic", default=0.0, min=0.0, max=1.0, update=update_shader_graph) + normal_path: bpy.props.StringProperty( + name="NormalMap", + maxlen=1024, + default="", + subtype="FILE_PATH", + update=update_shader_graph, + ) + emissive_path: bpy.props.StringProperty( + name="Emissive", + maxlen=1024, + default="", + subtype="FILE_PATH", + update=update_shader_graph, + ) + metallic_roughness_path: bpy.props.StringProperty( + name="Metallic/Roughness", + maxlen=1024, + default="", + subtype="FILE_PATH", + update=update_shader_graph, + description="Green Channel = Roughness,\nBlue Channel = Metallic", + ) + diffuse_path: bpy.props.StringProperty( + name="Diffuse", + maxlen=1024, + default="", + subtype="FILE_PATH", + update=update_shader_graph, + ) diff --git a/src/blenderbim/blenderbim/bim/module/style/ui.py b/src/blenderbim/blenderbim/bim/module/style/ui.py index b66fc8c69e..54a0837921 100644 --- a/src/blenderbim/blenderbim/bim/module/style/ui.py +++ b/src/blenderbim/blenderbim/bim/module/style/ui.py @@ -251,10 +251,34 @@ class BIM_PT_STYLE_GRAPH(Panel): layout.prop(props, "reflectance_method", text="") layout.prop(props, "surface_color") layout.prop(props, "transparency") - layout.prop(props, "diffuse_color") - if props.reflectance_method == "PHYSICAL": + if not (props.reflectance_method == "PHYSICAL" and props.diffuse_path) and not ( + props.reflectance_method == "FLAT" and props.emissive_path + ): + prop_name = "Emissive Color" if props.reflectance_method == "FLAT" else "Diffuse Color" + layout.prop(props, "diffuse_color", text=prop_name) + + if props.reflectance_method == "PHYSICAL" and not props.metallic_roughness_path: layout.prop(props, "metallic") - if props.reflectance_method not in ("FLAT", "NOTDEFINED"): + if props.reflectance_method not in ("PHYSICAL", "FLAT", "NOTDEFINED") or ( + props.reflectance_method == "PHYSICAL" and not props.metallic_roughness_path + ): layout.prop(props, "roughness") + + layout.label(text="Texture Maps:") + + def add_texture_path(path_name): + row = layout.row(align=True) + row.prop(props, path_name) + op = row.operator("bim.clear_texture_map_path", text="", icon="X") + op.texture_map_prop = path_name + + if props.reflectance_method == "PHYSICAL": + add_texture_path("diffuse_path") + add_texture_path("emissive_path") + add_texture_path("normal_path") + add_texture_path("metallic_roughness_path") + + if props.reflectance_method == "FLAT": + add_texture_path("emissive_path") diff --git a/src/blenderbim/blenderbim/core/style.py b/src/blenderbim/blenderbim/core/style.py index c2a720a28d..5978f983eb 100644 --- a/src/blenderbim/blenderbim/core/style.py +++ b/src/blenderbim/blenderbim/core/style.py @@ -69,13 +69,18 @@ def update_style_colours(ifc, style, obj=None, verbose=False): "style.add_surface_style", style=element, ifc_class="IfcSurfaceStyleRendering", attributes=attributes ) - # # TODO: uncomment to support saving textures - # # TODO: uvs? - # textures = ifc.run("style.add_surface_textures", material=obj) - # if not texture_style and textures: - # texture_style = ifc.get().createIfcSurfaceStyleWithTextures() - # if texture_style: - # texture_style.Textures = textures + # TODO: uvs? + textures = ifc.run("style.add_surface_textures", material=obj) + if not texture_style and textures: + ifc.run( + "style.add_surface_style", + style=element, + ifc_class="IfcSurfaceStyleWithTextures", + attributes={"Textures": textures}, + ) + elif texture_style: + # TODO: should we remove blender images and IFCIMAGETEXTURE here if they're not used by other objects? + ifc.run("style.edit_surface_style", style=texture_style, attributes={"Textures": textures}) else: shading_style = style.get_surface_shading_style(obj) attributes = style.get_surface_shading_attributes(obj) diff --git a/src/blenderbim/blenderbim/tool/blender.py b/src/blenderbim/blenderbim/tool/blender.py index eb2683acf0..1648c4bca0 100644 --- a/src/blenderbim/blenderbim/tool/blender.py +++ b/src/blenderbim/blenderbim/tool/blender.py @@ -110,10 +110,21 @@ class Blender: @classmethod def show_error_message(cls, text): """useful for showing error messages outside blender operators""" + def error(self, context): self.layout.label(text=text) + bpy.context.window_manager.popup_menu(error, title="Error", icon="ERROR") + @classmethod + def get_blender_prop_default_value(cls, props, prop_name): + prop_bl_rna = props.bl_rna.properties[prop_name] + if getattr(prop_bl_rna, "array_length", 0) > 0: + prop_value = prop_bl_rna.default_array + else: + prop_value = prop_bl_rna.default + return prop_value + @classmethod def get_viewport_context(cls): """Get viewport area context for context overriding. diff --git a/src/blenderbim/blenderbim/tool/loader.py b/src/blenderbim/blenderbim/tool/loader.py index 8099a24439..9b3c658314 100644 --- a/src/blenderbim/blenderbim/tool/loader.py +++ b/src/blenderbim/blenderbim/tool/loader.py @@ -23,6 +23,7 @@ import blenderbim.core.tool import blenderbim.tool as tool import os from mathutils import Vector +from pathlib import Path # Progressively we'll refactor loading elements into Blender objects into this @@ -168,31 +169,43 @@ class Loader(blenderbim.core.tool.Loader): @classmethod def create_surface_style_with_textures(cls, blender_material, rendering_style, texture_style): - for texture in texture_style.Textures: - mode = getattr(texture, "Mode", None) + """supposed to be called after `create_surface_style_rendering`""" + if not isinstance(texture_style, list): + textures = [t.get_info() for t in texture_style.Textures] + else: + textures = texture_style + rendering_style = cls.surface_style_to_dict(rendering_style) + + reflectance_method = rendering_style["ReflectanceMethod"] + if reflectance_method not in ("PHYSICAL", "NOTDEFINED", "FLAT"): + print(f'WARNING. Unsupported reflectance method "{reflectance_method}" on style {rendering_style}') + return + + for texture in textures: + mode = texture.get("Mode", None) node = None - if texture.is_a("IfcImageTexture"): - image_url = texture.URLReference - if not os.path.abspath(texture.URLReference) and tool.Ifc.get_path(): - image_url = os.path.join(os.path.dirname(tool.Ifc.get_path()), texture.URLReference) + if texture["type"] == "IfcImageTexture": + image_url = texture["URLReference"] + ifc_path = tool.Ifc.get_path() + if ifc_path: + image_url = bpy.path.abspath(image_url, start=Path(ifc_path).parent) - reflectance_method = rendering_style.ReflectanceMethod - if reflectance_method not in ("PHYSICAL", "NOTDEFINED", "FLAT"): - print(f'WARNING. Unsupported reflectance method "{reflectance_method}" on style {rendering_style}') - return + if not os.path.exists(image_url): + print(f"WARNING. Couldn't find texture by path {image_url}, it will be skipped.") + continue - if rendering_style.ReflectanceMethod in ["PHYSICAL", "NOTDEFINED"]: + if reflectance_method in ["PHYSICAL", "NOTDEFINED"]: bsdf = tool.Blender.get_material_node(blender_material, "BSDF_PRINCIPLED") if mode == "NORMAL": # add normal map node normalmap = blender_material.node_tree.nodes.new(type="ShaderNodeNormalMap") - normalmap.location = bsdf.location - Vector((200, 0)) + normalmap.location = bsdf.location - Vector((200, 600)) blender_material.node_tree.links.new(normalmap.outputs[0], bsdf.inputs["Normal"]) # add normal map sampler node = blender_material.node_tree.nodes.new(type="ShaderNodeTexImage") - node.location = normalmap.location - Vector((200, 0)) + node.location = normalmap.location - Vector((300, 0)) image = bpy.data.images.load(image_url) image.colorspace_settings.name = "Non-Color" node.image = image @@ -203,7 +216,7 @@ class Loader(blenderbim.core.tool.Loader): # add "Add Shader" node add = blender_material.node_tree.nodes.new(type="ShaderNodeAddShader") - add.location = bsdf.location + Vector((200, 0)) + add.location = bsdf.location + Vector((200, 350)) blender_material.node_tree.links.new(bsdf.outputs[0], add.inputs[1]) blender_material.node_tree.links.new(add.outputs[0], output.inputs[0]) @@ -214,19 +227,19 @@ class Loader(blenderbim.core.tool.Loader): # add emission texture sampler node = blender_material.node_tree.nodes.new(type="ShaderNodeTexImage") - node.location = emission.location - Vector((200, 0)) + node.location = emission.location - Vector((350, 0)) image = bpy.data.images.load(image_url) node.image = image blender_material.node_tree.links.new(node.outputs[0], emission.inputs[0]) elif mode == "METALLICROUGHNESS": separate = blender_material.node_tree.nodes.new(type="ShaderNodeSeparateRGB") - separate.location = bsdf.location - Vector((200, 0)) + separate.location = bsdf.location - Vector((200, 300)) blender_material.node_tree.links.new(separate.outputs[1], bsdf.inputs["Roughness"]) blender_material.node_tree.links.new(separate.outputs[2], bsdf.inputs["Metallic"]) node = blender_material.node_tree.nodes.new(type="ShaderNodeTexImage") - node.location = separate.location - Vector((200, 0)) + node.location = separate.location - Vector((300, 0)) image = bpy.data.images.load(image_url) image.colorspace_settings.name = "Non-Color" node.image = image @@ -246,18 +259,23 @@ class Loader(blenderbim.core.tool.Loader): blender_material.node_tree.links.new(node.outputs[1], bsdf.inputs["Alpha"]) blender_material.blend_method = "BLEND" - elif rendering_style.ReflectanceMethod == "FLAT": + elif reflectance_method == "FLAT": bsdf = tool.Blender.get_material_node(blender_material, "MIX_SHADER") if mode != "EMISSIVE": continue + # remove RGB node from `create_surface_style_rendering` + prev_node = bsdf.inputs[2].links[0].from_node + blender_material.node_tree.nodes.remove(prev_node) + node = blender_material.node_tree.nodes.new(type="ShaderNodeTexImage") - node.location = bsdf.location - Vector((200, 0)) + node.location = bsdf.location - Vector((200, 250)) image = bpy.data.images.load(image_url) # TODO: orphaned textures after shader recreated? node.image = image blender_material.node_tree.links.new(node.outputs[0], bsdf.inputs[2]) + # TODO: add support for texture data not ifc elements if node and getattr(texture, "IsMappedBy", None): coordinates = texture.IsMappedBy[0] coord = blender_material.node_tree.nodes.new(type="ShaderNodeTexCoord") diff --git a/src/blenderbim/blenderbim/tool/style.py b/src/blenderbim/blenderbim/tool/style.py index f360be55fe..647519205b 100644 --- a/src/blenderbim/blenderbim/tool/style.py +++ b/src/blenderbim/blenderbim/tool/style.py @@ -22,7 +22,14 @@ import ifcopenshell import blenderbim.core.tool import blenderbim.tool as tool import blenderbim.bim.helper +import os.path +# fmt: off +TEXTURE_MAPS_BY_METHODS = { + "PHYSICAL": ("NORMAL", "EMISSIVE", "METALLICROUGHNESS", "DIFFUSE"), + "FLAT": ("EMISSIVE",) +} +# fmt: on STYLE_PROPS_MAP = { "reflectance_method": "ReflectanceMethod", @@ -33,6 +40,13 @@ STYLE_PROPS_MAP = { "metallic": "SpecularColour", } +STYLE_TEXTURE_PROPS_MAP = { + "EMISSIVE": "emissive_path", + "NORMAL": "normal_path", + "METALLICROUGHNESS": "metallic_roughness_path", + "DIFFUSE": "diffuse_path", +} + class Style(blenderbim.core.tool.Style): @classmethod @@ -117,6 +131,29 @@ class Style(blenderbim.core.tool.Style): surface_style_data["DiffuseColour"] = ("IfcColourRgb", surface_style_data["DiffuseColour"]) return surface_style_data + @classmethod + def get_texture_style_from_props(cls, blender_material): + props = blender_material.BIMStyleProperties + + textures = [] + texture_maps = TEXTURE_MAPS_BY_METHODS[props.reflectance_method] + for prop_mode in texture_maps: + prop_name = STYLE_TEXTURE_PROPS_MAP[prop_mode] + path = getattr(props, prop_name) + if not path: + continue + if not os.path.abspath(path) and tool.Ifc.get_path(): + path = os.path.join(os.path.dirname(tool.Ifc.get_path()), path) + + texture_data = { + "Mode": prop_mode, + "type": "IfcImageTexture", + "URLReference": path, + } + textures.append(texture_data) + + return textures + @classmethod def set_surface_style_props(cls, blender_material): """set blender style props based on current surface material""" @@ -127,6 +164,8 @@ class Style(blenderbim.core.tool.Style): style_elements = tool.Style.get_style_elements(blender_material) surface_style = style_elements["IfcSurfaceStyleRendering"] + texture_style = style_elements.get("IfcSurfaceStyleWithTextures", None) + style_data = tool.Loader.surface_style_to_dict(surface_style) if style_data["ReflectanceMethod"] == "NOTDEFINED": style_data["ReflectanceMethod"] = "PHYSICAL" @@ -134,26 +173,49 @@ class Style(blenderbim.core.tool.Style): for prop_blender, prop_ifc in STYLE_PROPS_MAP.items(): prop_value = style_data[prop_ifc] - # TODO: set to default? if prop_value is None: - continue + prop_value = tool.Blender.get_blender_prop_default_value(props, prop_blender) setattr(props, prop_blender, prop_value) + texture_maps = TEXTURE_MAPS_BY_METHODS[style_data["ReflectanceMethod"]] + unused_texture_maps = list(STYLE_TEXTURE_PROPS_MAP.keys()) + for texture in texture_style.Textures: + if texture.Mode not in texture_maps: + print(f"WARNING. Unsupported texture mode: {texture.Mode}. Supported maps: {texture_maps}") + continue + prop_blender = STYLE_TEXTURE_PROPS_MAP.get(texture.Mode, None) + setattr(props, prop_blender, texture.URLReference) + unused_texture_maps.remove(texture.Mode) + + # clear empty texture fields + for texture_mode in unused_texture_maps: + prop_blender = STYLE_TEXTURE_PROPS_MAP[texture_mode] + setattr(props, prop_blender, "") + props["update_graph"] = prev_update_graph_value @classmethod def get_surface_rendering_attributes(cls, obj, verbose=True): - transparency = 1 - obj.diffuse_color[3] - diffuse_color = obj.diffuse_color - report = (lambda *x: print(*x)) if verbose else (lambda *x: None) - viewport_color = { - "Name": None, - "Red": obj.diffuse_color[0], - "Green": obj.diffuse_color[1], - "Blue": obj.diffuse_color[2], - } + def color_to_ifc_format(color): + return { + "Name": None, + "Red": color[0], + "Green": color[1], + "Blue": color[2], + } + + def get_input_node(node, input_name=None, of_type=None, input_index=None): + input_pin = node.inputs[input_name] if input_index is None else node.inputs[input_index] + if of_type: + return next((l.from_node for l in input_pin.links if l.from_node.type == of_type), None) + return next((l.from_node for l in input_pin.links), None) + + props = obj.BIMStyleProperties + transparency = 1 - obj.diffuse_color[3] + diffuse_color = obj.diffuse_color + viewport_color = color_to_ifc_format(obj.diffuse_color) attributes = { "SurfaceColour": viewport_color, "Transparency": transparency, @@ -162,12 +224,6 @@ class Style(blenderbim.core.tool.Style): BLUE = "\033[1;34m" R = "\033[0m" # RESET symbol - def get_input_node(node, input_name=None, of_type=None, input_index=None): - input_pin = node.inputs[input_name] if input_index is None else node.inputs[input_index] - if of_type: - return next((l.from_node for l in input_pin.links if l.from_node.type == of_type), None) - return next((l.from_node for l in input_pin.links), None) - report("--------------------") report("Verbose method of getting surface rendering attributes enabled.") report("If some attribute is not mentioned below, then it won't be saved to IFC.") @@ -188,20 +244,31 @@ class Style(blenderbim.core.tool.Style): if ( get_input_node(mix_shader, "Fac", "LIGHT_PATH") and get_input_node(mix_shader, input_index=1, of_type="BSDF_TRANSPARENT") - and (rgb := get_input_node(mix_shader, input_index=2, of_type="RGB")) + and (second_input_node := get_input_node(mix_shader, input_index=2)) + and second_input_node.type in ("RGB", "TEX_IMAGE") ): report( - f"Because of {BLUE}MIX_SHADER + LIGHT_PATH + BSDF_TRANSPARENT + RGB{R} node setup reflectance method identified as {BLUE}FLAT{R}" + f"Because of {BLUE}MIX_SHADER + LIGHT_PATH + BSDF_TRANSPARENT + RGB/TEX{R} node setup reflectance method identified as {BLUE}FLAT{R}" ) attributes["ReflectanceMethod"] = "FLAT" attributes["SpecularHighlight"] = None - report(f"RGB {GREEN}Color{R} saved as {GREEN}DiffuseColour{R}") - diffuse_color = rgb.outputs[0].default_value - elif surface_output and surface_output.type == "BSDF_PRINCIPLED": + if second_input_node.type == "RGB": + report(f"RGB {GREEN}Color{R} saved as {GREEN}DiffuseColour{R}") + diffuse_color = second_input_node.outputs[0].default_value + elif second_input_node.type == "TEX_IMAGE": + report(f"{GREEN}BBIM Panel Diffuse Color{R} saved as {GREEN}DiffuseColour{R}") + diffuse_color = props.diffuse_color + + elif surface_output and ( + (surface_output.type == "BSDF_PRINCIPLED" and (bsdf := surface_output)) + or ( + surface_output.type == "ADD_SHADER" + and (bsdf := get_input_node(surface_output, input_index=1, of_type="BSDF_PRINCIPLED")) + ) + ): report(f"Because of {BLUE}BSDF_PRINCIPLED{R} node reflectance method identified as {BLUE}PHYSICAL{R}") attributes["ReflectanceMethod"] = "NOTDEFINED" if tool.Ifc.get_schema() != "IFC4X3" else "PHYSICAL" - bsdf = surface_output report(f"BSDF {GREEN}Base Color{R} saved as {GREEN}DiffuseColour{R}") diffuse_color = bsdf.inputs["Base Color"].default_value @@ -286,12 +353,7 @@ class Style(blenderbim.core.tool.Style): attributes["DiffuseColour"] = viewport_color return attributes - attributes["DiffuseColour"] = { - "Name": None, - "Red": diffuse_color[0], - "Green": diffuse_color[1], - "Blue": diffuse_color[2], - } + attributes["DiffuseColour"] = color_to_ifc_format(diffuse_color) return attributes @classmethod From 7e2b40176c1d192dacf0e69a73859237a1f960ec Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Tue, 27 Jun 2023 15:04:35 +0500 Subject: [PATCH 194/225] Fixing tests after 2dc9dc200 --- src/blenderbim/blenderbim/core/style.py | 7 +++--- src/blenderbim/blenderbim/core/tool.py | 5 +++- src/blenderbim/blenderbim/tool/loader.py | 8 +++---- src/blenderbim/blenderbim/tool/style.py | 16 ++++++++++++- src/blenderbim/test/core/test_style.py | 29 +++++++++++++++++++----- src/blenderbim/test/tool/test_style.py | 20 ++++++++++++++++ 6 files changed, 69 insertions(+), 16 deletions(-) diff --git a/src/blenderbim/blenderbim/core/style.py b/src/blenderbim/blenderbim/core/style.py index 5978f983eb..97ded3ef34 100644 --- a/src/blenderbim/blenderbim/core/style.py +++ b/src/blenderbim/blenderbim/core/style.py @@ -58,9 +58,8 @@ def update_style_colours(ifc, style, obj=None, verbose=False): element = style.get_style(obj) if style.can_support_rendering_style(obj): - style_elements = style.get_style_elements(obj) - rendering_style = style_elements.get("IfcSurfaceStyleRendering", None) - texture_style = style_elements.get("IfcSurfaceStyleWithTextures", None) + rendering_style = style.get_surface_rendering_style(obj) + texture_style = style.get_texture_style(obj) attributes = style.get_surface_rendering_attributes(obj, verbose) if rendering_style: ifc.run("style.edit_surface_style", style=rendering_style, attributes=attributes) @@ -122,7 +121,7 @@ def enable_editing_style(style, obj=None): def enable_editing_external_style(style, obj=None): - external_style = style.get_style_elements(obj)["IfcExternallyDefinedSurfaceStyle"] + external_style = style.get_external_style(obj) style.enable_editing_external_style(obj) style.import_external_style_attributes(external_style, obj) diff --git a/src/blenderbim/blenderbim/core/tool.py b/src/blenderbim/blenderbim/core/tool.py index 4be2e93a27..44ba4d4d8a 100644 --- a/src/blenderbim/blenderbim/core/tool.py +++ b/src/blenderbim/blenderbim/core/tool.py @@ -815,8 +815,11 @@ class Style: def get_elements_by_style(cls, style): pass def get_name(cls, obj): pass def get_style(cls, obj): pass - def get_surface_rendering_attributes(cls, obj): pass + def get_style_elements(cls, blender_material): pass + def get_surface_rendering_attributes(cls, obj, verbose=True): pass def get_surface_rendering_style(cls, obj): pass + def get_texture_style(cls, obj): pass + def get_external_style(cls, obj): pass def get_surface_shading_attributes(cls, obj): pass def get_surface_shading_style(cls, obj): pass def get_surface_texture_style(cls, obj): pass diff --git a/src/blenderbim/blenderbim/tool/loader.py b/src/blenderbim/blenderbim/tool/loader.py index 9b3c658314..c5a810574b 100644 --- a/src/blenderbim/blenderbim/tool/loader.py +++ b/src/blenderbim/blenderbim/tool/loader.py @@ -88,22 +88,22 @@ class Loader(blenderbim.core.tool.Loader): if surface_style["SurfaceColour"]: surface_style["SurfaceColour"] = color_to_tuple(surface_style["SurfaceColour"]) - if surface_style["DiffuseColour"] and surface_style["DiffuseColour"].is_a("IfcColourRgb"): + if surface_style.get("DiffuseColour", None) and surface_style["DiffuseColour"].is_a("IfcColourRgb"): surface_style["DiffuseColour"] = ("IfcColourRgb", color_to_tuple(surface_style["DiffuseColour"])) - elif surface_style["DiffuseColour"] and surface_style["DiffuseColour"].is_a("IfcNormalisedRatioMeasure"): + elif surface_style.get("DiffuseColour", None) and surface_style["DiffuseColour"].is_a("IfcNormalisedRatioMeasure"): diffuse_color_value = surface_style["DiffuseColour"].wrappedValue diffuse_color = [v * diffuse_color_value for v in surface_style["SurfaceColor"][:3]] + [1] surface_style["DiffuseColour"] = ("IfcNormalisedRatioMeasure", diffuse_color) else: surface_style["DiffuseColour"] = None - if surface_style["SpecularColour"] and surface_style["SpecularColour"].is_a("IfcNormalisedRatioMeasure"): + if surface_style.get("SpecularColour", None) and surface_style["SpecularColour"].is_a("IfcNormalisedRatioMeasure"): surface_style["SpecularColour"] = surface_style["SpecularColour"].wrappedValue else: surface_style["SpecularColour"] = None - if surface_style["SpecularHighlight"] and surface_style["SpecularHighlight"].is_a("IfcSpecularRoughness"): + if surface_style.get("SpecularHighlight", None) and surface_style["SpecularHighlight"].is_a("IfcSpecularRoughness"): surface_style["SpecularHighlight"] = surface_style["SpecularHighlight"].wrappedValue else: surface_style["SpecularHighlight"] = None diff --git a/src/blenderbim/blenderbim/tool/style.py b/src/blenderbim/blenderbim/tool/style.py index 647519205b..ccfe24115d 100644 --- a/src/blenderbim/blenderbim/tool/style.py +++ b/src/blenderbim/blenderbim/tool/style.py @@ -163,9 +163,13 @@ class Style(blenderbim.core.tool.Style): props["update_graph"] = False style_elements = tool.Style.get_style_elements(blender_material) - surface_style = style_elements["IfcSurfaceStyleRendering"] + surface_style = style_elements.get("IfcSurfaceStyleRendering", None) texture_style = style_elements.get("IfcSurfaceStyleWithTextures", None) + # in case we have just IfcSurfaceStyleShading + if not surface_style: + return + style_data = tool.Loader.surface_style_to_dict(surface_style) if style_data["ReflectanceMethod"] == "NOTDEFINED": style_data["ReflectanceMethod"] = "PHYSICAL" @@ -361,6 +365,16 @@ class Style(blenderbim.core.tool.Style): style_elements = cls.get_style_elements(obj) return style_elements.get("IfcSurfaceStyleRendering", None) + @classmethod + def get_texture_style(cls, obj): + style_elements = cls.get_style_elements(obj) + return style_elements.get("IfcSurfaceStyleWithTextures", None) + + @classmethod + def get_external_style(cls, obj): + style_elements = cls.get_style_elements(obj) + return style_elements.get("IfcExternallyDefinedSurfaceStyle", None) + @classmethod def get_surface_shading_attributes(cls, obj): data = { diff --git a/src/blenderbim/test/core/test_style.py b/src/blenderbim/test/core/test_style.py index ac1d4dec04..e2bcdbe8fc 100644 --- a/src/blenderbim/test/core/test_style.py +++ b/src/blenderbim/test/core/test_style.py @@ -85,22 +85,39 @@ class TestUpdateStyleColours: def test_updating_rendering_style_if_available(self, ifc, style): style.get_style("obj").should_be_called().will_return("element") style.can_support_rendering_style("obj").should_be_called().will_return(True) - style.get_surface_rendering_style("obj").should_be_called().will_return("style") - style.get_surface_rendering_attributes("obj").should_be_called().will_return("attributes") - ifc.run("style.edit_surface_style", style="style", attributes="attributes").should_be_called() + + style.get_surface_rendering_style("obj").should_be_called().will_return("rendering_style") + style.get_texture_style("obj").should_be_called().will_return("texture_style") + style.get_surface_rendering_attributes("obj", "verbose").should_be_called().will_return("attributes") + ifc.run("style.edit_surface_style", style="rendering_style", attributes="attributes").should_be_called() + + ifc.run("style.add_surface_textures", material="obj").should_be_called().will_return("textures") + ifc.run("style.edit_surface_style", style="texture_style", attributes={"Textures": "textures"}).should_be_called().will_return("textures") + style.record_shading("obj").should_be_called() - subject.update_style_colours(ifc, style, obj="obj") + subject.update_style_colours(ifc, style, obj="obj", verbose="verbose") def test_adding_a_rendering_style_if_not_available(self, ifc, style): style.get_style("obj").should_be_called().will_return("element") style.can_support_rendering_style("obj").should_be_called().will_return(True) + style.get_surface_rendering_style("obj").should_be_called().will_return(None) - style.get_surface_rendering_attributes("obj").should_be_called().will_return("attributes") + style.get_texture_style("obj").should_be_called().will_return(None) + style.get_surface_rendering_attributes("obj", "verbose").should_be_called().will_return("attributes") ifc.run( "style.add_surface_style", style="element", ifc_class="IfcSurfaceStyleRendering", attributes="attributes" ).should_be_called() + + ifc.run("style.add_surface_textures", material="obj").should_be_called().will_return("textures") + ifc.run( + "style.add_surface_style", + style="element", + ifc_class="IfcSurfaceStyleWithTextures", + attributes={"Textures": "textures"}, + ).should_be_called() + style.record_shading("obj").should_be_called() - subject.update_style_colours(ifc, style, obj="obj") + subject.update_style_colours(ifc, style, obj="obj", verbose="verbose") def test_updating_shading_style_as_a_fallback_if_available(self, ifc, style): style.get_style("obj").should_be_called().will_return("element") diff --git a/src/blenderbim/test/tool/test_style.py b/src/blenderbim/test/tool/test_style.py index 8b4bf6842d..c6ac04aac0 100644 --- a/src/blenderbim/test/tool/test_style.py +++ b/src/blenderbim/test/tool/test_style.py @@ -163,11 +163,15 @@ class TestGetSurfaceRenderingAttributes(NewFile): obj = bpy.data.materials.new("Material") obj.diffuse_color = [1, 1, 1, 1] obj.use_nodes = True + output = tool.Blender.get_material_node(obj, "OUTPUT_MATERIAL") node = tool.Blender.get_material_node(obj, "BSDF_PRINCIPLED") obj.node_tree.nodes.remove(node) + node = obj.node_tree.nodes.new(type="ShaderNodeBsdfGlossy") node.inputs["Color"].default_value = [0.5, 0.5, 0.5, 0.5] node.inputs["Roughness"].default_value = 0.2 + obj.node_tree.links.new(node.outputs[0], output.inputs[0]) + assert subject.get_surface_rendering_attributes(obj) == { "SurfaceColour": { "Name": None, @@ -190,11 +194,15 @@ class TestGetSurfaceRenderingAttributes(NewFile): obj = bpy.data.materials.new("Material") obj.diffuse_color = [1, 1, 1, 1] obj.use_nodes = True + output = tool.Blender.get_material_node(obj, "OUTPUT_MATERIAL") node = tool.Blender.get_material_node(obj, "BSDF_PRINCIPLED") obj.node_tree.nodes.remove(node) + node = obj.node_tree.nodes.new(type="ShaderNodeBsdfDiffuse") node.inputs["Color"].default_value = [0.5, 0.5, 0.5, 0.5] node.inputs["Roughness"].default_value = 0.2 + obj.node_tree.links.new(node.outputs[0], output.inputs[0]) + assert subject.get_surface_rendering_attributes(obj) == { "SurfaceColour": { "Name": None, @@ -217,11 +225,15 @@ class TestGetSurfaceRenderingAttributes(NewFile): obj = bpy.data.materials.new("Material") obj.diffuse_color = [1, 1, 1, 1] obj.use_nodes = True + output = tool.Blender.get_material_node(obj, "OUTPUT_MATERIAL") node = tool.Blender.get_material_node(obj, "BSDF_PRINCIPLED") obj.node_tree.nodes.remove(node) + node = obj.node_tree.nodes.new(type="ShaderNodeBsdfGlass") node.inputs["Color"].default_value = [0.5, 0.5, 0.5, 0.5] node.inputs["Roughness"].default_value = 0.2 + obj.node_tree.links.new(node.outputs[0], output.inputs[0]) + assert subject.get_surface_rendering_attributes(obj) == { "SurfaceColour": { "Name": None, @@ -244,10 +256,14 @@ class TestGetSurfaceRenderingAttributes(NewFile): obj = bpy.data.materials.new("Material") obj.diffuse_color = [1, 1, 1, 1] obj.use_nodes = True + output = tool.Blender.get_material_node(obj, "OUTPUT_MATERIAL") node = tool.Blender.get_material_node(obj, "BSDF_PRINCIPLED") obj.node_tree.nodes.remove(node) + node = obj.node_tree.nodes.new(type="ShaderNodeEmission") node.inputs["Color"].default_value = [0.5, 0.5, 0.5, 0.5] + obj.node_tree.links.new(node.outputs[0], output.inputs[0]) + assert subject.get_surface_rendering_attributes(obj) == { "SurfaceColour": { "Name": None, @@ -270,10 +286,14 @@ class TestGetSurfaceRenderingAttributes(NewFile): obj = bpy.data.materials.new("Material") obj.diffuse_color = [1, 1, 1, 1] obj.use_nodes = True + output = tool.Blender.get_material_node(obj, "OUTPUT_MATERIAL") node = tool.Blender.get_material_node(obj, "BSDF_PRINCIPLED") obj.node_tree.nodes.remove(node) + node = obj.node_tree.nodes.new(type="ShaderNodeVolumePrincipled") node.inputs["Color"].default_value = [0.5, 0.5, 0.5, 0.5] + obj.node_tree.links.new(node.outputs[0], output.inputs[0]) + assert subject.get_surface_rendering_attributes(obj) == { "SurfaceColour": { "Name": None, From 183230b7f5d96574628d79dfffc4e1dbb4f17aee Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Tue, 27 Jun 2023 21:02:50 +1000 Subject: [PATCH 195/225] Naive implementation of file stream and Lark based IFC-SPF reader to handle huge IFCs. --- .../ifcopenshell/__init__.py | 5 +- src/ifcopenshell-python/ifcopenshell/sql.py | 24 +- .../ifcopenshell/stream.py | 365 ++++++++++++++++++ 3 files changed, 382 insertions(+), 12 deletions(-) create mode 100644 src/ifcopenshell-python/ifcopenshell/stream.py diff --git a/src/ifcopenshell-python/ifcopenshell/__init__.py b/src/ifcopenshell-python/ifcopenshell/__init__.py index e655940794..c2e68fa898 100644 --- a/src/ifcopenshell-python/ifcopenshell/__init__.py +++ b/src/ifcopenshell-python/ifcopenshell/__init__.py @@ -72,6 +72,7 @@ from . import guid from .file import file from .entity_instance import entity_instance, register_schema_attributes from .sql import sqlite, sqlite_entity +from .stream import stream, stream_entity READ_ERROR = ifcopenshell_wrapper.file_open_status.READ_ERROR NO_HEADER = ifcopenshell_wrapper.file_open_status.NO_HEADER @@ -88,7 +89,7 @@ class SchemaError(Error): pass -def open(path: "os.PathLike | str", format: str = None) -> file: +def open(path: "os.PathLike | str", format: str = None, should_stream: bool = False) -> file: """Loads an IFC dataset from a filepath You can specify a file format. If no format is given, it is guessed from its extension. @@ -117,6 +118,8 @@ def open(path: "os.PathLike | str", format: str = None) -> file: raise LookupError(f"No .ifc or .ifcXML file found in {path}") if format == ".ifcSQLite": return sqlite(path) + if should_stream: + return stream(path) f = ifcopenshell_wrapper.open(str(path.absolute())) if f.good(): return file(f) diff --git a/src/ifcopenshell-python/ifcopenshell/sql.py b/src/ifcopenshell-python/ifcopenshell/sql.py index 5462ecd7ca..e183007f55 100644 --- a/src/ifcopenshell-python/ifcopenshell/sql.py +++ b/src/ifcopenshell-python/ifcopenshell/sql.py @@ -8,7 +8,6 @@ try: from .entity_instance import entity_instance except ImportError as e: print(f"No SQL support: {e}") - pass # No SQL support class sqlite(file): @@ -49,18 +48,20 @@ class sqlite(file): self.cursor.execute("SELECT ifc_id, ifc_class FROM id_map") self.id_map = {} self.class_map = {} + self.entity_cache = {} for row in self.cursor.fetchall(): self.id_map[row[0]] = row[1] self.class_map.setdefault(row[1], []).append(row[0]) + self.preprocess_schema() + + def preprocess_schema(self): self.ifc_class_subtypes = {} self.ifc_class_attributes = {} self.ifc_class_inverse_attributes = {} self.ifc_class_references = {} self.ifc_class_inverses = {} - self.entity_cache = {} - for declaration in self.ifc_schema.declarations(): if not str(declaration).startswith(" string + | FLOAT -> float + | IFCINT -> ifcint + | NULL -> null + | DERIVED -> derived + | ENUM -> enum + | REFERENCE -> reference + | list -> list + | inline_type -> inline_type + + list: "(" arg? ("," arg)* ")" + inline_type: TYPE "(" arg ")" + REFERENCE: "#" /[0-9]+/ + + TYPE: CNAME + NUMBER: INT + + STRING: "'" /([^']|'')*/ "'" + IFCINT: /-?[0-9]+/ + FLOAT: /-?[0-9]+\.[0-9]*([Ee]-?[0-9]+)?/ + NULL: "$" + DERIVED: "*" + ENUM: "." CNAME "." + + %import common.INT + %import common.CNAME + """ + + transformer = StreamTransformer() + transformer.file = self + self.parser = Lark(grammar, parser="lalr", transformer=transformer) + + offset = 0 + for line in self.file: + line = line.strip() + if line.startswith("#"): + step_id, ifc_class = line.split("(")[0].split("=") + step_id = int(step_id.strip()[1:]) + ifc_class = ifc_class.strip() + + for reference_id in self.reference_pattern.findall(line[1:]): + self.inverses.setdefault(int(reference_id), set()).add(step_id) + + self.id_map[step_id] = ifc_class + self.class_map.setdefault(ifc_class, []).append(step_id) + self.id_offset[step_id] = offset + elif line.startswith("FILE_SCHEMA"): + self.schema = line.split("'")[1] + offset += len(line) + 1 # +1 for the newline character + + self.ifc_schema = ifcopenshell.ifcopenshell_wrapper.schema_by_name(self.schema) + self.preprocess_schema() + + def preprocess_schema(self): + self.ifc_class_names = {} + self.ifc_class_subtypes = {} + self.ifc_class_attributes = {} + self.ifc_class_inverse_attributes = {} + self.ifc_class_references = {} + self.ifc_class_inverses = {} + + for declaration in self.ifc_schema.declarations(): + if not str(declaration).startswith("", str(attribute)): + attribute_entity = self.ifc_schema.declaration_by_name(entity_name) + for subtype in ifcopenshell.util.schema.get_subtypes(attribute_entity): + # self.ifc_class_inverses.setdefault(subtype.name(), set()).add(declaration.name()) + self.ifc_class_inverses.setdefault(subtype.name(), {}) + self.ifc_class_inverses[subtype.name()].setdefault(declaration.name(), []) + self.ifc_class_inverses[subtype.name()][declaration.name()].append(attribute.name()) + + self.ifc_class_references[declaration.name()] = {"entity": entity, "entity_list": entity_list} + + + def clear_cache(self): + self.entity_cache = {} + + def create_entity(self, type, *args, **kawrgs): + assert False + + def by_id(self, id): + entity = self.entity_cache.get(id, None) + if entity: + return entity + ifc_class = self.id_map.get(id, None) + if ifc_class: + entity = stream_entity(id, self.ifc_class_names[ifc_class], self) + self.entity_cache[id] = entity + return entity + + def by_type(self, type, include_subtypes=True): + results = [] + subtypes = self.ifc_class_subtypes[type] if include_subtypes else self.ifc_class_subtypes[type][0:1] + for subtype in subtypes: + results.extend([self.by_id(i) for i in self.class_map.get(subtype.name().upper(), [])]) + return results + + def traverse(self, inst, max_levels=None, breadth_first=False): + results = [inst] + queue = [inst] + while queue: + if max_levels is not None: + max_levels -= 1 + + cur = queue.pop() + level_results = set() + + for reference_id in self.reference_pattern.findall(str(cur)[1:]): + result = self.by_id(int(reference_id)) + results.append(result) + if max_levels is None or max_levels: + queue.append(result) + + return results + + def get_inverse(self, inst, allow_duplicate=False, with_attribute_indices=False): + return {self.by_id(e) for e in self.inverses.get(inst.stream_wrapper.id, [])} + + def is_entity_list(self, attribute): + attribute = str(attribute.type_of_attribute()) + if (attribute.startswith("", attribute): + if data_type not in ("list", "set", "select", "entity"): + return False + return True + return False + + +class stream_entity(entity_instance): + def __init__(self, id, ifc_class, file=None): + if not ifc_class: + print(id, ifc_class, file) + assert False + e = ifcopenshell_wrapper.new_IfcBaseClass(file.schema, ifc_class) + s = stream_wrapper(id, ifc_class, file) + super(entity_instance, self).__setattr__("wrapped_data", e) + super(entity_instance, self).__setattr__("stream_wrapper", s) + + def id(self): + return self.stream_wrapper.id + + def __repr__(self): + offset = self.stream_wrapper.file.id_offset[self.stream_wrapper.id] + self.stream_wrapper.file.file.seek(offset) + return self.stream_wrapper.file.file.readline().strip() + + def __del__(self): + pass + + def __getitem__(self, key): + return self.__getattr__(list(self.stream_wrapper.attributes.keys())[key]) + + def __setattr__(self, key, value): + query = f"UPDATE `{self.stream_wrapper.ifc_class}` SET `{key}` = ? WHERE ifc_id = {self.stream_wrapper.id}" + self.stream_wrapper.file.cursor.execute(query, (value,)) + self.stream_wrapper.file.db.commit() + self.stream_wrapper.attribute_cache = {} + + def __getattr__(self, name): + INVALID, FORWARD, INVERSE = range(3) + attr_cat = self.wrapped_data.get_attribute_category(name) + if attr_cat == FORWARD: + if self.stream_wrapper.attribute_cache: + return self.stream_wrapper.attribute_cache[name] + + offset = self.stream_wrapper.file.id_offset[self.stream_wrapper.id] + self.stream_wrapper.file.file.seek(offset) + line = self.stream_wrapper.file.file.readline() + attributes = self.stream_wrapper.file.parser.parse(line.strip())[2] + + for i, attribute in enumerate(self.stream_wrapper.attributes.values()): + aname = attribute.name() + primitive = ifcopenshell.util.attribute.get_primitive_type(attribute) + self.stream_wrapper.attribute_cache[aname] = attributes[i] + return self.stream_wrapper.attribute_cache[name] + elif attr_cat == INVERSE: + if self.stream_wrapper.inverse_attribute_cache: + results = self.stream_wrapper.inverse_attribute_cache.get(name, None) + if results is not None: + return results + + results = [] + + element_ids = self.stream_wrapper.file.inverses.get(self.stream_wrapper.id, []) + if not element_ids: + self.stream_wrapper.inverse_attribute_cache[name] = tuple() + return self.stream_wrapper.inverse_attribute_cache[name] + + attribute = self.stream_wrapper.inverse_attributes[name] + entity_class = attribute.entity_reference().name() + declaration = self.stream_wrapper.file.ifc_schema.declaration_by_name(entity_class) + forward_name = attribute.attribute_reference().name() + + subtypes = [st.name() for st in ifcopenshell.util.schema.get_subtypes(declaration)] + for element_id in element_ids: + ifc_class = self.stream_wrapper.file.ifc_class_names[self.stream_wrapper.file.id_map[element_id]] + if ifc_class in subtypes: + potential_result = self.stream_wrapper.file.by_id(element_id) + forward_value = getattr(potential_result, forward_name, None) + if not forward_value: + pass + elif isinstance(forward_value, tuple): + if self.stream_wrapper.id in [e.id() for e in forward_value]: + results.append(potential_result) + elif forward_value.id() == self.stream_wrapper.id: + results.append(potential_result) + + self.stream_wrapper.inverse_attribute_cache[name] = tuple(results) + return self.stream_wrapper.inverse_attribute_cache[name] + + raise AttributeError( + "entity instance of type '%s' has no attribute '%s'" % (self.wrapped_data.is_a(True), name) + ) + + def __eq__(self, other): + if not isinstance(self, type(other)): + return False + elif None in (self.stream_wrapper.file, other.stream_wrapper.file): + assert False # not implemented + if self.stream_wrapper.id: + return self.stream_wrapper.id == other.stream_wrapper.id + assert False # not implemented + + def __hash__(self): + if self.stream_wrapper.id: + return hash((self.stream_wrapper.id, self.stream_wrapper.file.filepath)) + + def get_info(self, include_identifier=True, recursive=False, return_type=dict, ignore=(), scalar_only=False): + info = {"id": self.stream_wrapper.id, "type": self.stream_wrapper.ifc_class} + if not self.stream_wrapper.attribute_cache: + self.__getitem__(0) # This will get all attributes + info.update(self.stream_wrapper.attribute_cache) + return info + + +class stream_wrapper: + def __init__(self, id, ifc_class, file): + self.id = id + self.ifc_class = ifc_class + self.file = file + self.attributes = self.file.ifc_class_attributes[self.ifc_class] + self.inverse_attributes = self.file.ifc_class_inverse_attributes[self.ifc_class] + self.attribute_cache = {} + self.inverse_attribute_cache = {} + + def __repr__(self): + return "todo" From 20b63f530ac4696a01685598be5bd5d0a4077565 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Tue, 27 Jun 2023 21:07:37 +1000 Subject: [PATCH 196/225] New option to enable streaming IFC data into BBIM. To test, go into add-on preferences and enable "Should Stream". Then load an IFC-SPF in advanced mode, and disable "Load Geometry" before loading (the geometry iterator doesn't work with streaming). --- src/blenderbim/blenderbim/bim/ifc.py | 2 ++ src/blenderbim/blenderbim/bim/module/project/prop.py | 1 + src/blenderbim/blenderbim/bim/ui.py | 2 ++ 3 files changed, 5 insertions(+) diff --git a/src/blenderbim/blenderbim/bim/ifc.py b/src/blenderbim/blenderbim/bim/ifc.py index 7e815a416f..0542b20512 100644 --- a/src/blenderbim/blenderbim/bim/ifc.py +++ b/src/blenderbim/blenderbim/bim/ifc.py @@ -132,6 +132,8 @@ class IfcStore: return elif extension.lower() == "ifcxml": IfcStore.file = ifcopenshell.file(ifcopenshell.ifcopenshell_wrapper.parse_ifcxml(path)) + elif bpy.context.scene.BIMProjectProperties.should_stream: + IfcStore.file = ifcopenshell.open(path, should_stream=True) else: IfcStore.file = ifcopenshell.open(path) diff --git a/src/blenderbim/blenderbim/bim/module/project/prop.py b/src/blenderbim/blenderbim/bim/module/project/prop.py index e4645945f7..66fc740292 100644 --- a/src/blenderbim/blenderbim/bim/module/project/prop.py +++ b/src/blenderbim/blenderbim/bim/module/project/prop.py @@ -148,6 +148,7 @@ class BIMProjectProperties(PropertyGroup): default="NONE", ) should_merge_materials_by_colour: BoolProperty(name="Merge Materials by Colour", default=False) + should_stream: BoolProperty(name="Stream Data From IFC-SPF (Only for advanced users)", default=True) should_load_geometry: BoolProperty(name="Load Geometry", default=True) should_use_native_meshes: BoolProperty(name="Native Meshes", default=False) should_clean_mesh: BoolProperty(name="Clean Meshes", default=True) diff --git a/src/blenderbim/blenderbim/bim/ui.py b/src/blenderbim/blenderbim/bim/ui.py index d930d4d20b..df9c0940b8 100644 --- a/src/blenderbim/blenderbim/bim/ui.py +++ b/src/blenderbim/blenderbim/bim/ui.py @@ -214,6 +214,8 @@ class BIM_ADDON_preferences(bpy.types.AddonPreferences): row = layout.row() row.prop(context.scene.BIMProjectProperties, "should_disable_undo_on_save") + row = layout.row() + row.prop(context.scene.BIMProjectProperties, "should_stream") row = layout.row() row.prop(context.scene.BIMModelProperties, "occurrence_name_style") From e89a9cd01c7785e56cd7b90cc1df5fe1d3d2601f Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Mon, 19 Jun 2023 15:13:59 +0500 Subject: [PATCH 197/225] adjust window offset on transoms/mullions for symmetry #3271 Before - https://i.imgur.com/DbEzJ9H.png After - https://i.imgur.com/0CERh86.png Added it for modifier preview and ifc 2d and 3d repr but still need to work some things in 3d representation (L shape lining is not always detected correctly). --- .../blenderbim/bim/module/model/window.py | 72 ++++++---- .../api/geometry/add_window_representation.py | 136 ++++++++++++------ 2 files changed, 141 insertions(+), 67 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/model/window.py b/src/blenderbim/blenderbim/bim/module/model/window.py index c26416b682..0b91cc4fd1 100644 --- a/src/blenderbim/blenderbim/bim/module/model/window.py +++ b/src/blenderbim/blenderbim/bim/module/model/window.py @@ -262,6 +262,7 @@ def create_bm_window( frame_thickness, glass_thickness, position: Vector, + frame_position: Vector = None, ): """`lining_thickness` expected to be defined as a list, similarly to `create_bm_window_frame` `thickness` argument""" @@ -269,7 +270,8 @@ def create_bm_window( window_lining_verts = create_bm_window_frame(bm, lining_size, lining_thickness) # window frame - frame_position = V(lining_to_panel_offset_x, lining_to_panel_offset_y_full, lining_to_panel_offset_x) + if frame_position is None: + frame_position = V(lining_to_panel_offset_x, lining_to_panel_offset_y_full, lining_to_panel_offset_x) frame_verts = create_bm_window_frame(bm, frame_size, frame_thickness, frame_position) # window glass @@ -319,21 +321,35 @@ def update_window_modifier_bmesh(context): unique_cols = len(set(panel_row)) for column_i, panel_i in enumerate(panel_row): + # detect mullion + has_mullion = unique_cols > 1 + first_column = column_i == 0 + last_column = column_i == unique_cols - 1 + left_to_mullion = has_mullion and not last_column + right_to_mullion = has_mullion and not first_column + + # detect transom + has_transom = unique_rows_in_col[column_i] > 1 + first_row = row_i == 0 + last_row = row_i == unique_rows_in_col[column_i] - 1 + top_to_transom = has_transom and not first_row + bottom_to_transom = has_transom and not last_row + # calculate current panel dimensions - if unique_cols > 1: - if column_i == 0: + if has_mullion: + if first_column: panel_width = first_mullion_offset - elif column_i == unique_cols - 1: + elif last_column: panel_width = overall_width - accumulated_width else: panel_width = second_mullion_offset - accumulated_width else: panel_width = overall_width - if unique_rows_in_col[column_i] > 1: - if row_i == 0: + if has_transom: + if first_row: panel_height = first_transom_offset - elif row_i == unique_rows_in_col[column_i] - 1: + elif last_row: panel_height = overall_height - accumulated_height[column_i] else: panel_height = second_transom_offset - accumulated_height[column_i] @@ -347,7 +363,9 @@ def update_window_modifier_bmesh(context): frame_depth = props.frame_depth[panel_i] frame_thickness = props.frame_thickness[panel_i] - + base_frame_clear = lining_to_panel_offset_x + frame_thickness - lining_thickness + current_offset_x = base_frame_clear - frame_thickness + mullion_thickness + current_offset_z = base_frame_clear - frame_thickness + transom_thickness # add window window_lining_size = V( panel_width, @@ -355,25 +373,30 @@ def update_window_modifier_bmesh(context): panel_height, ) - # calculate lining thickness + # calculate lining thickness and frame size / offset # taking into account mullions and transoms - window_lining_thickness = [lining_thickness] * 4 - # mullion thickness - if unique_cols > 1: - if column_i != 0: - window_lining_thickness[0] = mullion_thickness # left column - if column_i != unique_cols - 1: - window_lining_thickness[2] = mullion_thickness # right column - # transom thickness - if unique_rows_in_col[column_i] > 1: - if row_i != 0: - window_lining_thickness[3] = transom_thickness # bottom row - if row_i != unique_rows_in_col[column_i] - 1: - window_lining_thickness[1] = transom_thickness # top row + window_lining_thickness = [ + mullion_thickness if right_to_mullion else lining_thickness, + transom_thickness if bottom_to_transom else lining_thickness, + mullion_thickness if left_to_mullion else lining_thickness, + transom_thickness if top_to_transom else lining_thickness, + ] + + lining_to_panel_offset_y_full = (lining_depth - frame_depth) + lining_to_panel_offset_y + frame_position = V( + current_offset_x if right_to_mullion else lining_to_panel_offset_x, + lining_to_panel_offset_y_full, + current_offset_z if top_to_transom else lining_to_panel_offset_x + ) frame_size = window_lining_size.copy() frame_size.y = frame_depth - frame_size = frame_size - V(lining_to_panel_offset_x * 2, 0, lining_to_panel_offset_x * 2) + + frame_size.x -= current_offset_x if left_to_mullion else lining_to_panel_offset_x + frame_size.x -= current_offset_x if right_to_mullion else lining_to_panel_offset_x + + frame_size.z -= current_offset_z if top_to_transom else lining_to_panel_offset_x + frame_size.z -= current_offset_z if bottom_to_transom else lining_to_panel_offset_x window_position = V(accumulated_width, 0, accumulated_height[column_i]) lining_verts, panel_verts, glass_verts = create_bm_window( @@ -381,11 +404,12 @@ def update_window_modifier_bmesh(context): window_lining_size, window_lining_thickness, lining_to_panel_offset_x, - (lining_depth - frame_depth) + lining_to_panel_offset_y, + lining_to_panel_offset_y_full, frame_size, frame_thickness, glass_thickness, window_position, + frame_position ) built_panels.append(panel_i) diff --git a/src/ifcopenshell-python/ifcopenshell/api/geometry/add_window_representation.py b/src/ifcopenshell-python/ifcopenshell/api/geometry/add_window_representation.py index 2dcf6daec2..e6108ce034 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/geometry/add_window_representation.py +++ b/src/ifcopenshell-python/ifcopenshell/api/geometry/add_window_representation.py @@ -95,6 +95,7 @@ def create_ifc_window( frame_thickness, glass_thickness, position: Vector, + frame_position: Vector = None, ): """`lining_thickness` expected to be defined as a list, similarly to `create_ifc_window_frame_simple` `thickness` argument""" @@ -127,11 +128,12 @@ def create_ifc_window( main_lining = create_ifc_window_frame_simple(builder, main_lining_size, lining_thickness) lining_items.append(main_lining) - frame_position = V( - lining_to_panel_offset_x, - lining_to_panel_offset_y_full, - lining_to_panel_offset_x, - ) + if frame_position is None: + frame_position = V( + lining_to_panel_offset_x, + lining_to_panel_offset_y_full, + lining_to_panel_offset_x, + ) frame_extruded = create_ifc_window_frame_simple(builder, frame_size, frame_thickness, frame_position) @@ -272,19 +274,26 @@ class Usecase: if panel_i in built_panels: continue - if unique_cols > 1: - if column_i == 0: + # detect mullion + has_mullion = unique_cols > 1 + first_column = column_i == 0 + last_column = column_i == unique_cols - 1 + left_to_mullion = has_mullion and not last_column + right_to_mullion = has_mullion and not first_column + + if has_mullion: + if first_column: panel_width = first_mullion_offset - elif column_i == unique_cols - 1: + elif last_column: panel_width = overall_width - accumulated_width else: panel_width = second_mullion_offset - accumulated_width # mullion thickness - if column_i != 0: + if not first_column: window_lining_thickness[0] = mullion_thickness # left column closed_lining[0] = False - if column_i != unique_cols - 1: + if not last_column: window_lining_thickness[1] = mullion_thickness # right column closed_lining[1] = False else: @@ -292,7 +301,9 @@ class Usecase: frame_depth = panels[panel_i]["FrameDepth"] frame_thickness = panels[panel_i]["FrameThickness"] - lining_to_panel_offset_y_full = overall_depth - frame_depth + lining_to_panel_offset_y_full = (lining_depth - frame_depth) + lining_to_panel_offset_y + base_frame_clear = lining_to_panel_offset_x + frame_thickness - lining_thickness + current_offset_x = base_frame_clear - frame_thickness + mullion_thickness # add lining cur_panel_items.append( @@ -304,20 +315,22 @@ class Usecase: ) ) - def get_lining_shape(lining_thickness, closed=True, mirror=False): + def get_lining_shape(lining_thickness, closed=True, mirror=False, x_offset=None): + if x_offset is None: + x_offset = lining_to_panel_offset_x l_shape_check = window_l_shape_check( lining_to_panel_offset_y_full, lining_depth, - lining_to_panel_offset_x, + x_offset, [lining_thickness], ) if l_shape_check: lining_shape = builder.polyline( [ V(0, lining_depth), - V(lining_to_panel_offset_x, lining_depth), + V(x_offset, lining_depth), V( - lining_to_panel_offset_x, + x_offset, lining_to_panel_offset_y_full, ), V(lining_thickness, lining_to_panel_offset_y_full), @@ -348,10 +361,15 @@ class Usecase: cur_panel_items.extend( [ - get_lining_shape(window_lining_thickness[0], closed=closed_lining[0]), + get_lining_shape( + window_lining_thickness[0], + closed=closed_lining[0], + x_offset=current_offset_x if right_to_mullion else None, + ), get_lining_shape( window_lining_thickness[1], closed=closed_lining[1], + x_offset=current_offset_x if left_to_mullion else None, mirror=True, ), ] @@ -359,8 +377,15 @@ class Usecase: # add frame frame_items = [] - frame_position = V(lining_to_panel_offset_x, lining_to_panel_offset_y_full) - frame_width = panel_width - lining_to_panel_offset_x * 2 + + frame_position = V( + current_offset_x if right_to_mullion else lining_to_panel_offset_x, + lining_to_panel_offset_y_full, + ) + + frame_width = panel_width + frame_width -= current_offset_x if left_to_mullion else lining_to_panel_offset_x + frame_width -= current_offset_x if right_to_mullion else lining_to_panel_offset_x frame_vertical = builder.rectangle(size=V(frame_thickness, frame_depth)) frame_items.extend( @@ -411,39 +436,40 @@ class Usecase: unique_cols = len(set(panel_row)) for column_i, panel_i in enumerate(panel_row): - # calculate current panel dimensions - window_lining_thickness = [lining_thickness] * 4 - if unique_cols > 1: + # detect mullion + has_mullion = unique_cols > 1 + first_column = column_i == 0 + last_column = column_i == unique_cols - 1 + left_to_mullion = has_mullion and not last_column + right_to_mullion = has_mullion and not first_column + + # detect transom + has_transom = unique_rows_in_col[column_i] > 1 + first_row = row_i == 0 + last_row = row_i == unique_rows_in_col[column_i] - 1 + top_to_transom = has_transom and not first_row + bottom_to_transom = has_transom and not last_row + + # calculate current panel dimensions + if has_mullion: # panel_width - if column_i == 0: + if first_column: panel_width = first_mullion_offset - elif column_i == unique_cols - 1: + elif last_column: panel_width = overall_width - accumulated_width else: panel_width = second_mullion_offset - accumulated_width - - # mullion thickness - if column_i != 0: - window_lining_thickness[0] = mullion_thickness # left column - if column_i != unique_cols - 1: - window_lining_thickness[2] = mullion_thickness # right column else: panel_width = overall_width - if unique_rows_in_col[column_i] > 1: - if row_i == 0: + if has_transom: + if first_row: panel_height = first_transom_offset - elif row_i == unique_rows_in_col[column_i] - 1: + elif last_row: panel_height = overall_height - accumulated_height[column_i] else: panel_height = second_transom_offset - accumulated_height[column_i] - - # transom thickness - if row_i != 0: - window_lining_thickness[3] = transom_thickness # bottom row - if row_i != unique_rows_in_col[column_i] - 1: - window_lining_thickness[1] = transom_thickness # top row else: panel_height = overall_height @@ -455,16 +481,39 @@ class Usecase: cur_panel = panels[panel_i] frame_depth = cur_panel["FrameDepth"] frame_thickness = cur_panel["FrameThickness"] - lining_to_panel_offset_y_full = overall_depth - frame_depth - current_items = [] + base_frame_clear = lining_to_panel_offset_x + frame_thickness - lining_thickness + current_offset_x = base_frame_clear - frame_thickness + mullion_thickness + current_offset_z = base_frame_clear - frame_thickness + transom_thickness - frame_width = panel_width - lining_to_panel_offset_x * 2 - frame_height = panel_height - lining_to_panel_offset_x * 2 + # calculate lining thickness and frame size / offset + # taking into account mullions and transoms + window_lining_thickness = [ + mullion_thickness if right_to_mullion else lining_thickness, + transom_thickness if bottom_to_transom else lining_thickness, + mullion_thickness if left_to_mullion else lining_thickness, + transom_thickness if top_to_transom else lining_thickness, + ] + + lining_to_panel_offset_y_full = (lining_depth - frame_depth) + lining_to_panel_offset_y window_lining_size = V(panel_width, lining_depth, panel_height) - frame_size = V(frame_width, frame_depth, frame_height) + frame_size = window_lining_size.copy() + frame_size.y = frame_depth + + frame_size.x -= current_offset_x if left_to_mullion else lining_to_panel_offset_x + frame_size.x -= current_offset_x if right_to_mullion else lining_to_panel_offset_x + + frame_size.z -= current_offset_z if top_to_transom else lining_to_panel_offset_x + frame_size.z -= current_offset_z if bottom_to_transom else lining_to_panel_offset_x + window_panel_position = V(accumulated_width, 0, accumulated_height[column_i]) + frame_position = V( + current_offset_x if right_to_mullion else lining_to_panel_offset_x, + lining_to_panel_offset_y_full, + current_offset_z if top_to_transom else lining_to_panel_offset_x + ) + # create window panel current_window_items = create_ifc_window( builder, @@ -476,6 +525,7 @@ class Usecase: frame_thickness, glass_thickness, window_panel_position, + frame_position ) built_panels.append(panel_i) window_items.extend(chain(*current_window_items)) From 89b0674b08f05ced2f2b7b4df6b3106643177bc3 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Wed, 28 Jun 2023 12:41:29 +1000 Subject: [PATCH 198/225] You can now exclude classes from streaming in ifcopenshell.stream --- src/ifcopenshell-python/ifcopenshell/sql.py | 1 - .../ifcopenshell/stream.py | 28 +++++++++++++++---- 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/sql.py b/src/ifcopenshell-python/ifcopenshell/sql.py index e183007f55..df1ad206fe 100644 --- a/src/ifcopenshell-python/ifcopenshell/sql.py +++ b/src/ifcopenshell-python/ifcopenshell/sql.py @@ -141,7 +141,6 @@ class sqlite(file): return [self.by_id(r[0]) for r in rows] def traverse(self, inst, max_levels=None, breadth_first=False): - print("traversing", inst) results = [inst] queue = [inst] while queue: diff --git a/src/ifcopenshell-python/ifcopenshell/stream.py b/src/ifcopenshell-python/ifcopenshell/stream.py index 7a00665151..a9c05e8076 100644 --- a/src/ifcopenshell-python/ifcopenshell/stream.py +++ b/src/ifcopenshell-python/ifcopenshell/stream.py @@ -122,6 +122,18 @@ class stream(file): transformer.file = self self.parser = Lark(grammar, parser="lalr", transformer=transformer) + exclude_classes = [ + "IfcObjectPlacement", + "IfcPresentationItem", + "IfcPresentationStyle", + "IfcProductRepresentation", + "IfcRepresentation", + "IfcRepresentationItem", + ] + exclude_classes = [] + + exclude = set() + offset = 0 for line in self.file: line = line.strip() @@ -130,17 +142,24 @@ class stream(file): step_id = int(step_id.strip()[1:]) ifc_class = ifc_class.strip() + if ifc_class in exclude: + offset += len(line) + 1 # +1 for the newline character + continue + for reference_id in self.reference_pattern.findall(line[1:]): - self.inverses.setdefault(int(reference_id), set()).add(step_id) + self.inverses.setdefault(int(reference_id), []).append(step_id) self.id_map[step_id] = ifc_class self.class_map.setdefault(ifc_class, []).append(step_id) self.id_offset[step_id] = offset elif line.startswith("FILE_SCHEMA"): self.schema = line.split("'")[1] + self.ifc_schema = ifcopenshell.ifcopenshell_wrapper.schema_by_name(self.schema) + for ifc_class in exclude_classes: + declaration = self.ifc_schema.declaration_by_name(ifc_class) + exclude.update([st.name().upper() for st in ifcopenshell.util.schema.get_subtypes(declaration)]) offset += len(line) + 1 # +1 for the newline character - self.ifc_schema = ifcopenshell.ifcopenshell_wrapper.schema_by_name(self.schema) self.preprocess_schema() def preprocess_schema(self): @@ -189,7 +208,6 @@ class stream(file): self.ifc_class_references[declaration.name()] = {"entity": entity, "entity_list": entity_list} - def clear_cache(self): self.entity_cache = {} @@ -287,9 +305,7 @@ class stream_entity(entity_instance): attributes = self.stream_wrapper.file.parser.parse(line.strip())[2] for i, attribute in enumerate(self.stream_wrapper.attributes.values()): - aname = attribute.name() - primitive = ifcopenshell.util.attribute.get_primitive_type(attribute) - self.stream_wrapper.attribute_cache[aname] = attributes[i] + self.stream_wrapper.attribute_cache[attribute.name()] = attributes[i] return self.stream_wrapper.attribute_cache[name] elif attr_cat == INVERSE: if self.stream_wrapper.inverse_attribute_cache: From 40b34f6a3389945afbabb06902d2db42337d1b07 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Wed, 28 Jun 2023 13:30:36 +1000 Subject: [PATCH 199/225] Docs now point to the popular Search IFC Class website. --- src/blenderbim/docs/users/creating_an_ifc_model.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/blenderbim/docs/users/creating_an_ifc_model.rst b/src/blenderbim/docs/users/creating_an_ifc_model.rst index c2593a5b95..5e0d60b6a9 100644 --- a/src/blenderbim/docs/users/creating_an_ifc_model.rst +++ b/src/blenderbim/docs/users/creating_an_ifc_model.rst @@ -33,6 +33,12 @@ Any Blender object that you want to be part of IFC project must be converted into a IFC object by assigning a category. This category is known as the **IFC Class**. +.. seealso:: + + Use the `IFC Class search tool + `__ to help choose an **IFC + Class**! + Select only the default Blender Cube (selected objects are highlighted in orange, careful not to select anything else!), switch to the **Object Properties** tab, and find the **IFC Class** panel. Let's pretend our Cube is a From 61607f9de223cf32753393de2ca1914df3cc19d8 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Wed, 28 Jun 2023 10:32:33 +0500 Subject: [PATCH 200/225] Added IFC override operators to outliner/object context menus #3345 Outliner context menu - https://i.imgur.com/TkJKbLh.png Object context menu - https://i.imgur.com/JXOEdYH.png --- src/blenderbim/blenderbim/bim/module/geometry/__init__.py | 4 ++++ src/blenderbim/blenderbim/bim/module/geometry/ui.py | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/src/blenderbim/blenderbim/bim/module/geometry/__init__.py b/src/blenderbim/blenderbim/bim/module/geometry/__init__.py index 8ae77d88a0..93adf2b5fb 100644 --- a/src/blenderbim/blenderbim/bim/module/geometry/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/geometry/__init__.py @@ -63,6 +63,8 @@ def register(): bpy.types.Scene.BIMGeometryProperties = bpy.props.PointerProperty(type=prop.BIMGeometryProperties) bpy.types.OBJECT_PT_transform.append(ui.BIM_PT_transform) bpy.types.VIEW3D_MT_object.append(ui.object_menu) + bpy.types.OUTLINER_MT_object.append(ui.outliner_menu) + bpy.types.VIEW3D_MT_object_context_menu.append(ui.object_menu) wm = bpy.context.window_manager if wm.keyconfigs.addon: km = wm.keyconfigs.addon.keymaps.new(name="Object Mode", space_type="EMPTY") @@ -90,6 +92,8 @@ def register(): def unregister(): bpy.types.VIEW3D_MT_object.remove(ui.object_menu) bpy.types.OBJECT_PT_transform.remove(ui.BIM_PT_transform) + bpy.types.OUTLINER_MT_object.remove(ui.outliner_menu) + bpy.types.VIEW3D_MT_object_context_menu.remove(ui.outliner_menu) del bpy.types.Scene.BIMGeometryProperties del bpy.types.Object.BIMGeometryProperties wm = bpy.context.window_manager diff --git a/src/blenderbim/blenderbim/bim/module/geometry/ui.py b/src/blenderbim/blenderbim/bim/module/geometry/ui.py index f3227829e7..26d1a9ddc6 100644 --- a/src/blenderbim/blenderbim/bim/module/geometry/ui.py +++ b/src/blenderbim/blenderbim/bim/module/geometry/ui.py @@ -24,10 +24,14 @@ from blenderbim.bim.module.geometry.data import RepresentationsData, Connections def object_menu(self, context): + self.layout.separator() self.layout.operator("bim.override_object_duplicate_move", icon="PLUGIN") self.layout.operator("bim.override_object_delete", icon="PLUGIN") self.layout.operator("bim.override_paste_buffer", icon="PLUGIN") +def outliner_menu(self, context): + self.layout.separator() + self.layout.operator("bim.override_outliner_delete", icon='X') class BIM_PT_representations(Panel): bl_label = "IFC Representations" From 569f56f71322eab23e252e4c3a8ca3dde3169290 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Wed, 28 Jun 2023 10:39:57 +0500 Subject: [PATCH 201/225] Fixed error on saving styles without textures after 3aff29dec --- src/blenderbim/blenderbim/tool/style.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/blenderbim/blenderbim/tool/style.py b/src/blenderbim/blenderbim/tool/style.py index ccfe24115d..33e4174148 100644 --- a/src/blenderbim/blenderbim/tool/style.py +++ b/src/blenderbim/blenderbim/tool/style.py @@ -183,13 +183,15 @@ class Style(blenderbim.core.tool.Style): texture_maps = TEXTURE_MAPS_BY_METHODS[style_data["ReflectanceMethod"]] unused_texture_maps = list(STYLE_TEXTURE_PROPS_MAP.keys()) - for texture in texture_style.Textures: - if texture.Mode not in texture_maps: - print(f"WARNING. Unsupported texture mode: {texture.Mode}. Supported maps: {texture_maps}") - continue - prop_blender = STYLE_TEXTURE_PROPS_MAP.get(texture.Mode, None) - setattr(props, prop_blender, texture.URLReference) - unused_texture_maps.remove(texture.Mode) + + if texture_style: + for texture in texture_style.Textures: + if texture.Mode not in texture_maps: + print(f"WARNING. Unsupported texture mode: {texture.Mode}. Supported maps: {texture_maps}") + continue + prop_blender = STYLE_TEXTURE_PROPS_MAP.get(texture.Mode, None) + setattr(props, prop_blender, texture.URLReference) + unused_texture_maps.remove(texture.Mode) # clear empty texture fields for texture_mode in unused_texture_maps: From fdd473234a65bbd04149717fe6f3839e5ca0e83e Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Wed, 28 Jun 2023 10:45:53 +0500 Subject: [PATCH 202/225] Poll message for bim.file_unassociate/bim.file_associate --- src/blenderbim/blenderbim/bim/operator.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/blenderbim/blenderbim/bim/operator.py b/src/blenderbim/blenderbim/bim/operator.py index c8300531fa..9b5cd4c3c5 100644 --- a/src/blenderbim/blenderbim/bim/operator.py +++ b/src/blenderbim/blenderbim/bim/operator.py @@ -165,6 +165,7 @@ class FileAssociate(bpy.types.Operator): def poll(cls, context): if platform.system() == "Linux": return True + cls.poll_message_set("Option available only on Linux.") # TODO Windows and Darwin # https://stackoverflow.com/questions/1082889/how-to-change-filetype-association-in-the-registry return False @@ -239,6 +240,7 @@ class FileUnassociate(bpy.types.Operator): def poll(cls, context): if platform.system() == "Linux": return True + cls.poll_message_set("Option available only on Linux.") return False def execute(self, context): From 8f18db64cf48c4685de4e3f0cdf7047de2dce67a Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Wed, 28 Jun 2023 12:38:00 +0500 Subject: [PATCH 203/225] Disable default stream mode for now to avoid errors #3354 --- src/blenderbim/blenderbim/bim/module/project/prop.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/blenderbim/blenderbim/bim/module/project/prop.py b/src/blenderbim/blenderbim/bim/module/project/prop.py index 66fc740292..b648231247 100644 --- a/src/blenderbim/blenderbim/bim/module/project/prop.py +++ b/src/blenderbim/blenderbim/bim/module/project/prop.py @@ -148,7 +148,7 @@ class BIMProjectProperties(PropertyGroup): default="NONE", ) should_merge_materials_by_colour: BoolProperty(name="Merge Materials by Colour", default=False) - should_stream: BoolProperty(name="Stream Data From IFC-SPF (Only for advanced users)", default=True) + should_stream: BoolProperty(name="Stream Data From IFC-SPF (Only for advanced users)", default=False) should_load_geometry: BoolProperty(name="Load Geometry", default=True) should_use_native_meshes: BoolProperty(name="Native Meshes", default=False) should_clean_mesh: BoolProperty(name="Clean Meshes", default=True) From f88835b87b2098ca5b1d755ef944abdf7f640211 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Tue, 27 Jun 2023 19:29:10 +0500 Subject: [PATCH 204/225] Corrected L shapes in window lining after e89a9cd #3271 From this - https://i.imgur.com/hQuCcR3.png To this - https://i.imgur.com/qZ2Lyfo.png It's a bit hacky since we still use really small offsets to keep "The outer curve shall enclose all inner curves." rule for IfcArbitraryProfileDefWithVoids valid. --- .../blenderbim/bim/module/model/window.py | 40 +++++------ .../api/geometry/add_door_representation.py | 1 + .../api/geometry/add_window_representation.py | 68 ++++++++++--------- 3 files changed, 58 insertions(+), 51 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/model/window.py b/src/blenderbim/blenderbim/bim/module/model/window.py index 0b91cc4fd1..226834c8a5 100644 --- a/src/blenderbim/blenderbim/bim/module/model/window.py +++ b/src/blenderbim/blenderbim/bim/module/model/window.py @@ -262,16 +262,19 @@ def create_bm_window( frame_thickness, glass_thickness, position: Vector, - frame_position: Vector = None, + x_offsets: list = None ): - """`lining_thickness` expected to be defined as a list, + """`lining_thickness` and `x_offsets` are expected to be defined as a list, similarly to `create_bm_window_frame` `thickness` argument""" + + if x_offsets is None: + x_offsets = [lining_to_panel_offset_x] * 4 + # window lining window_lining_verts = create_bm_window_frame(bm, lining_size, lining_thickness) # window frame - if frame_position is None: - frame_position = V(lining_to_panel_offset_x, lining_to_panel_offset_y_full, lining_to_panel_offset_x) + frame_position = V(x_offsets[0], lining_to_panel_offset_y_full, x_offsets[3]) frame_verts = create_bm_window_frame(bm, frame_size, frame_thickness, frame_position) # window glass @@ -363,9 +366,6 @@ def update_window_modifier_bmesh(context): frame_depth = props.frame_depth[panel_i] frame_thickness = props.frame_thickness[panel_i] - base_frame_clear = lining_to_panel_offset_x + frame_thickness - lining_thickness - current_offset_x = base_frame_clear - frame_thickness + mullion_thickness - current_offset_z = base_frame_clear - frame_thickness + transom_thickness # add window window_lining_size = V( panel_width, @@ -383,20 +383,22 @@ def update_window_modifier_bmesh(context): ] lining_to_panel_offset_y_full = (lining_depth - frame_depth) + lining_to_panel_offset_y - frame_position = V( - current_offset_x if right_to_mullion else lining_to_panel_offset_x, - lining_to_panel_offset_y_full, - current_offset_z if top_to_transom else lining_to_panel_offset_x - ) + + # x offsets can differ if there are mullions or transoms because we're trying to maintain symmetry + base_frame_clear = lining_to_panel_offset_x + frame_thickness - lining_thickness + current_offset_x = base_frame_clear - frame_thickness + mullion_thickness + current_offset_z = base_frame_clear - frame_thickness + transom_thickness + x_offsets = [ + current_offset_x if right_to_mullion else lining_to_panel_offset_x, # LEFT + current_offset_z if bottom_to_transom else lining_to_panel_offset_x, # TOP + current_offset_x if left_to_mullion else lining_to_panel_offset_x, # RIGHT + current_offset_z if top_to_transom else lining_to_panel_offset_x, # BOTTOM + ] frame_size = window_lining_size.copy() frame_size.y = frame_depth - - frame_size.x -= current_offset_x if left_to_mullion else lining_to_panel_offset_x - frame_size.x -= current_offset_x if right_to_mullion else lining_to_panel_offset_x - - frame_size.z -= current_offset_z if top_to_transom else lining_to_panel_offset_x - frame_size.z -= current_offset_z if bottom_to_transom else lining_to_panel_offset_x + frame_size.x -= (x_offsets[0] + x_offsets[2]) + frame_size.z -= (x_offsets[1] + x_offsets[3]) window_position = V(accumulated_width, 0, accumulated_height[column_i]) lining_verts, panel_verts, glass_verts = create_bm_window( @@ -409,7 +411,7 @@ def update_window_modifier_bmesh(context): frame_thickness, glass_thickness, window_position, - frame_position + x_offsets ) built_panels.append(panel_i) diff --git a/src/ifcopenshell-python/ifcopenshell/api/geometry/add_door_representation.py b/src/ifcopenshell-python/ifcopenshell/api/geometry/add_door_representation.py index df563b586a..df01f767db 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/geometry/add_door_representation.py +++ b/src/ifcopenshell-python/ifcopenshell/api/geometry/add_door_representation.py @@ -481,6 +481,7 @@ class Usecase: frame_thickness, glass_thickness, window_position, + self.settings["unit_scale"], ) lining_offset_items = lining_items + door_items + window_lining_items + frame_items + glass_items diff --git a/src/ifcopenshell-python/ifcopenshell/api/geometry/add_window_representation.py b/src/ifcopenshell-python/ifcopenshell/api/geometry/add_window_representation.py index e6108ce034..7ec74ae4b4 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/geometry/add_window_representation.py +++ b/src/ifcopenshell-python/ifcopenshell/api/geometry/add_window_representation.py @@ -74,13 +74,13 @@ def create_ifc_window_frame_simple(builder, size: Vector, thickness: list, posit def window_l_shape_check( lining_to_panel_offset_y_full, lining_depth, - lining_to_panel_offset_x, + lining_to_panel_offset_x: list, lining_thickness: list, ): - """`lining_thickness` expected to be defined as a list, + """`lining_thickness` and `lining_to_panel_offset_x` expected to be defined as a list, similarly to `create_ifc_window_frame_simple` `thickness` argument""" l_shape_check = lining_to_panel_offset_y_full < lining_depth and any( - lining_to_panel_offset_x < th for th in lining_thickness + x_offset < th for th, x_offset in zip(lining_thickness, lining_to_panel_offset_x, strict=True) ) return l_shape_check @@ -95,19 +95,22 @@ def create_ifc_window( frame_thickness, glass_thickness, position: Vector, - frame_position: Vector = None, + unit_scale, # different from bmesh `create_bm_window` + x_offsets: list = None, ): - """`lining_thickness` expected to be defined as a list, + """`lining_thickness` and `x_offsets` are expected to be defined as a list, similarly to `create_ifc_window_frame_simple` `thickness` argument""" lining_items = [] main_lining_size = lining_size + if x_offsets is None: + x_offsets = [lining_to_panel_offset_x] * 4 # need to check offsets to decide whether lining should be rectangle # or L shaped l_shape_check = window_l_shape_check( lining_to_panel_offset_y_full, lining_size.y, - lining_to_panel_offset_x, + x_offsets, lining_thickness, ) @@ -118,7 +121,12 @@ def create_ifc_window( second_lining_size = lining_size.copy() second_lining_size.y = lining_size.y - lining_to_panel_offset_y_full second_lining_position = V(0, lining_to_panel_offset_y_full, 0) - second_lining_thickness = [min(th, lining_to_panel_offset_x) for th in lining_thickness] + + # we're using some safe thickness so thickness won't end = 0 + # resulting in errors `create_ifc_window_frame_simple` + # because it's using inner curves to create lining + safe_thickness = 0.00001 / unit_scale + second_lining_thickness = [max(min(th, x_offset), safe_thickness) for th, x_offset in zip(lining_thickness, x_offsets, strict=True)] second_lining = create_ifc_window_frame_simple( builder, second_lining_size, second_lining_thickness, second_lining_position @@ -128,12 +136,11 @@ def create_ifc_window( main_lining = create_ifc_window_frame_simple(builder, main_lining_size, lining_thickness) lining_items.append(main_lining) - if frame_position is None: - frame_position = V( - lining_to_panel_offset_x, - lining_to_panel_offset_y_full, - lining_to_panel_offset_x, - ) + frame_position = V( + x_offsets[0], + lining_to_panel_offset_y_full, + x_offsets[3], + ) frame_extruded = create_ifc_window_frame_simple(builder, frame_size, frame_thickness, frame_position) @@ -321,7 +328,7 @@ class Usecase: l_shape_check = window_l_shape_check( lining_to_panel_offset_y_full, lining_depth, - x_offset, + [x_offset], [lining_thickness], ) if l_shape_check: @@ -481,9 +488,7 @@ class Usecase: cur_panel = panels[panel_i] frame_depth = cur_panel["FrameDepth"] frame_thickness = cur_panel["FrameThickness"] - base_frame_clear = lining_to_panel_offset_x + frame_thickness - lining_thickness - current_offset_x = base_frame_clear - frame_thickness + mullion_thickness - current_offset_z = base_frame_clear - frame_thickness + transom_thickness + lining_to_panel_offset_y_full = (lining_depth - frame_depth) + lining_to_panel_offset_y # calculate lining thickness and frame size / offset # taking into account mullions and transoms @@ -494,26 +499,24 @@ class Usecase: transom_thickness if top_to_transom else lining_thickness, ] - lining_to_panel_offset_y_full = (lining_depth - frame_depth) + lining_to_panel_offset_y + # x offsets can differ if there are mullions or transoms because we're trying to maintain symmetry + base_frame_clear = lining_to_panel_offset_x + frame_thickness - lining_thickness + current_offset_x = base_frame_clear - frame_thickness + mullion_thickness + current_offset_z = base_frame_clear - frame_thickness + transom_thickness + x_offsets = [ + current_offset_x if right_to_mullion else lining_to_panel_offset_x, # LEFT + current_offset_z if bottom_to_transom else lining_to_panel_offset_x, # TOP + current_offset_x if left_to_mullion else lining_to_panel_offset_x, # RIGHT + current_offset_z if top_to_transom else lining_to_panel_offset_x, # BOTTOM + ] window_lining_size = V(panel_width, lining_depth, panel_height) frame_size = window_lining_size.copy() frame_size.y = frame_depth - - frame_size.x -= current_offset_x if left_to_mullion else lining_to_panel_offset_x - frame_size.x -= current_offset_x if right_to_mullion else lining_to_panel_offset_x - - frame_size.z -= current_offset_z if top_to_transom else lining_to_panel_offset_x - frame_size.z -= current_offset_z if bottom_to_transom else lining_to_panel_offset_x + frame_size.x -= (x_offsets[0] + x_offsets[2]) + frame_size.z -= (x_offsets[1] + x_offsets[3]) window_panel_position = V(accumulated_width, 0, accumulated_height[column_i]) - - frame_position = V( - current_offset_x if right_to_mullion else lining_to_panel_offset_x, - lining_to_panel_offset_y_full, - current_offset_z if top_to_transom else lining_to_panel_offset_x - ) - # create window panel current_window_items = create_ifc_window( builder, @@ -525,7 +528,8 @@ class Usecase: frame_thickness, glass_thickness, window_panel_position, - frame_position + self.settings["unit_scale"], + x_offsets ) built_panels.append(panel_i) window_items.extend(chain(*current_window_items)) From 40656297a6adcdfa427415cfdc3879a77cd276be Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Wed, 28 Jun 2023 15:48:21 +0500 Subject: [PATCH 205/225] Fix for f88835b #3271 Now we do not rely on small offset to keep using inner curves to create linings, if some part of the lining is not present (which happens on mullions and transoms) we'll create U or L shape extrusion instead of rectangle with inner curve. Long story short - this should keep ifc for windows valid. --- .../blenderbim/bim/module/model/window.py | 26 +-- .../api/geometry/add_window_representation.py | 155 ++++++++++++------ 2 files changed, 123 insertions(+), 58 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/model/window.py b/src/blenderbim/blenderbim/bim/module/model/window.py index 226834c8a5..fea2fad5d5 100644 --- a/src/blenderbim/blenderbim/bim/module/model/window.py +++ b/src/blenderbim/blenderbim/bim/module/model/window.py @@ -262,7 +262,7 @@ def create_bm_window( frame_thickness, glass_thickness, position: Vector, - x_offsets: list = None + x_offsets: list = None, ): """`lining_thickness` and `x_offsets` are expected to be defined as a list, similarly to `create_bm_window_frame` `thickness` argument""" @@ -334,7 +334,7 @@ def update_window_modifier_bmesh(context): # detect transom has_transom = unique_rows_in_col[column_i] > 1 first_row = row_i == 0 - last_row = row_i == unique_rows_in_col[column_i] - 1 + last_row = row_i == unique_rows_in_col[column_i] - 1 top_to_transom = has_transom and not first_row bottom_to_transom = has_transom and not last_row @@ -366,6 +366,7 @@ def update_window_modifier_bmesh(context): frame_depth = props.frame_depth[panel_i] frame_thickness = props.frame_thickness[panel_i] + lining_to_panel_offset_y_full = (lining_depth - frame_depth) + lining_to_panel_offset_y # add window window_lining_size = V( panel_width, @@ -375,6 +376,7 @@ def update_window_modifier_bmesh(context): # calculate lining thickness and frame size / offset # taking into account mullions and transoms + # fmt: off window_lining_thickness = [ mullion_thickness if right_to_mullion else lining_thickness, transom_thickness if bottom_to_transom else lining_thickness, @@ -382,23 +384,23 @@ def update_window_modifier_bmesh(context): transom_thickness if top_to_transom else lining_thickness, ] - lining_to_panel_offset_y_full = (lining_depth - frame_depth) + lining_to_panel_offset_y - - # x offsets can differ if there are mullions or transoms because we're trying to maintain symmetry + # x offsets can differ if there are mullions or transoms because we're trying to maintain symmetry base_frame_clear = lining_to_panel_offset_x + frame_thickness - lining_thickness current_offset_x = base_frame_clear - frame_thickness + mullion_thickness current_offset_z = base_frame_clear - frame_thickness + transom_thickness + # fmt: off x_offsets = [ - current_offset_x if right_to_mullion else lining_to_panel_offset_x, # LEFT - current_offset_z if bottom_to_transom else lining_to_panel_offset_x, # TOP - current_offset_x if left_to_mullion else lining_to_panel_offset_x, # RIGHT - current_offset_z if top_to_transom else lining_to_panel_offset_x, # BOTTOM + current_offset_x if right_to_mullion else lining_to_panel_offset_x, # LEFT + current_offset_z if bottom_to_transom else lining_to_panel_offset_x, # TOP + current_offset_x if left_to_mullion else lining_to_panel_offset_x, # RIGHT + current_offset_z if top_to_transom else lining_to_panel_offset_x, # BOTTOM ] + # fmt: on frame_size = window_lining_size.copy() frame_size.y = frame_depth - frame_size.x -= (x_offsets[0] + x_offsets[2]) - frame_size.z -= (x_offsets[1] + x_offsets[3]) + frame_size.x -= x_offsets[0] + x_offsets[2] + frame_size.z -= x_offsets[1] + x_offsets[3] window_position = V(accumulated_width, 0, accumulated_height[column_i]) lining_verts, panel_verts, glass_verts = create_bm_window( @@ -411,7 +413,7 @@ def update_window_modifier_bmesh(context): frame_thickness, glass_thickness, window_position, - x_offsets + x_offsets, ) built_panels.append(panel_i) diff --git a/src/ifcopenshell-python/ifcopenshell/api/geometry/add_window_representation.py b/src/ifcopenshell-python/ifcopenshell/api/geometry/add_window_representation.py index 7ec74ae4b4..47b2f3745b 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/geometry/add_window_representation.py +++ b/src/ifcopenshell-python/ifcopenshell/api/geometry/add_window_representation.py @@ -42,7 +42,9 @@ DEFAULT_PANEL_SCHEMAS = { } -def create_ifc_window_frame_simple(builder, size: Vector, thickness: list, position: Vector = V(0, 0, 0).freeze()): +def create_ifc_window_frame_simple( + builder: ShapeBuilder, size: Vector, thickness: list, position: Vector = V(0, 0, 0).freeze() +): """`thickness` of the profile is defined as list in the following order: `(LEFT, TOP, RIGHT, BOTTOM)` @@ -51,24 +53,91 @@ def create_ifc_window_frame_simple(builder, size: Vector, thickness: list, posit if not isinstance(thickness, collections.abc.Iterable): thickness = [thickness] * 4 - th_left, th_up, th_right, th_bottom = thickness - panel_rect = builder.rectangle(size=size.xz) + def get_extruded_profile(profile): + return builder.extrude( + profile, + size.y, + position_x_axis=V(1, 0, 0), + position_z_axis=V(0, -1, 0), + extrusion_vector=V(0, 0, -1), + position=position, + ) - inner_rect_size = size - V(th_left + th_right, 0, th_bottom + th_up) - inner_rect = builder.rectangle(size=inner_rect_size.xz, position=V(th_left, th_bottom)) + # if all lining sides are present then we can just use two rectangles + # as inner and outer curves of the profile + if thickness.count(0) == 0: + panel_rect = builder.rectangle(size=size.xz) - panel_profile = builder.profile(panel_rect, inner_curves=inner_rect) - panel_extruded = builder.extrude( - panel_profile, - size.y, - position_x_axis=V(1, 0, 0), - position_z_axis=V(0, -1, 0), - extrusion_vector=V(0, 0, -1), - position=position, - ) - return panel_extruded + inner_rect_size = size - V(th_left + th_right, 0, th_bottom + th_up) + inner_rect = builder.rectangle(size=inner_rect_size.xz, position=V(th_left, th_bottom)) + + panel_profile = builder.profile(panel_rect, inner_curves=inner_rect) + return [get_extruded_profile(panel_profile)] + + # if some side has zero thickness it means we cannot use inner curves + # and need to generate L/U shape or just separate rectangles + else: + + def get_segments_from_thickness(): + nonlocal thickness + segments = [] + cur_segment = [] + for i, thickness in enumerate(thickness): + if thickness == 0: + if cur_segment: + segments.append(tuple(cur_segment)) + cur_segment = [] + else: + cur_segment.append(i) + + if cur_segment: + if len(segments) > 0 and segments[0][0] == 0: + segments[0] = tuple(cur_segment) + segments[0] + else: + segments.append(tuple(cur_segment)) + return segments + + # prepare coords to build a lining + # fmt: off + outer_coords = [ + (V(0, 0), V(0, size.z)), + (V(0, size.z), V(size.x, size.z)), + (V(size.x, size.z), V(size.x, 0)), + (V(size.x, 0), V(0, 0)), + ] + inner_coords = [ + (V(th_left, th_bottom), V(th_left, size.z - th_up)), + (V(th_left, size.z - th_up), V(size.x - th_right, size.z - th_up)), + (V(size.x - th_right, size.z - th_up), V(size.x - th_right, th_bottom)), + (V(size.x - th_right, th_bottom), V(th_left, th_bottom)), + ] + # fmt: on + + def get_points(segment): + points = [] + for side in segment: + outer = outer_coords[side] + if side == segment[0]: # first segment + points.append(outer[0]) + points.append(outer[1]) + + for side in reversed(segment): + inner = inner_coords[side] + if side == segment[-1]: # last non zero segment + points.append(inner[1]) + points.append(inner[0]) + return points + + segments = get_segments_from_thickness() + segments_items = [] + for seg in segments: + polyline = builder.polyline(points=get_points(seg), closed=True) + panel_profile = builder.profile(polyline) + segments_items.append(get_extruded_profile(panel_profile)) + + return segments_items def window_l_shape_check( @@ -95,7 +164,6 @@ def create_ifc_window( frame_thickness, glass_thickness, position: Vector, - unit_scale, # different from bmesh `create_bm_window` x_offsets: list = None, ): """`lining_thickness` and `x_offsets` are expected to be defined as a list, @@ -121,20 +189,15 @@ def create_ifc_window( second_lining_size = lining_size.copy() second_lining_size.y = lining_size.y - lining_to_panel_offset_y_full second_lining_position = V(0, lining_to_panel_offset_y_full, 0) + second_lining_thickness = [min(th, x_offset) for th, x_offset in zip(lining_thickness, x_offsets, strict=True)] - # we're using some safe thickness so thickness won't end = 0 - # resulting in errors `create_ifc_window_frame_simple` - # because it's using inner curves to create lining - safe_thickness = 0.00001 / unit_scale - second_lining_thickness = [max(min(th, x_offset), safe_thickness) for th, x_offset in zip(lining_thickness, x_offsets, strict=True)] - - second_lining = create_ifc_window_frame_simple( + second_lining_items = create_ifc_window_frame_simple( builder, second_lining_size, second_lining_thickness, second_lining_position ) - lining_items.append(second_lining) + lining_items.extend(second_lining_items) - main_lining = create_ifc_window_frame_simple(builder, main_lining_size, lining_thickness) - lining_items.append(main_lining) + main_lining_items = create_ifc_window_frame_simple(builder, main_lining_size, lining_thickness) + lining_items.extend(main_lining_items) frame_position = V( x_offsets[0], @@ -142,10 +205,10 @@ def create_ifc_window( x_offsets[3], ) - frame_extruded = create_ifc_window_frame_simple(builder, frame_size, frame_thickness, frame_position) + frame_extruded_items = create_ifc_window_frame_simple(builder, frame_size, frame_thickness, frame_position) glass_position = frame_position + V(0, frame_size.y / 2 - glass_thickness / 2, 0) - glass_rect = builder.deep_copy(frame_extruded.SweptArea.InnerCurves[0]) + glass_rect = builder.deep_copy(frame_extruded_items[0].SweptArea.InnerCurves[0]) glass = builder.extrude( glass_rect, glass_thickness, @@ -155,7 +218,7 @@ def create_ifc_window( position=glass_position, ) - output_items = [lining_items, [frame_extruded], [glass]] + output_items = [lining_items, frame_extruded_items, [glass]] builder.translate(chain(*output_items), position) return output_items @@ -369,8 +432,8 @@ class Usecase: cur_panel_items.extend( [ get_lining_shape( - window_lining_thickness[0], - closed=closed_lining[0], + window_lining_thickness[0], + closed=closed_lining[0], x_offset=current_offset_x if right_to_mullion else None, ), get_lining_shape( @@ -386,13 +449,13 @@ class Usecase: frame_items = [] frame_position = V( - current_offset_x if right_to_mullion else lining_to_panel_offset_x, - lining_to_panel_offset_y_full, + current_offset_x if right_to_mullion else lining_to_panel_offset_x, + lining_to_panel_offset_y_full, ) frame_width = panel_width - frame_width -= current_offset_x if left_to_mullion else lining_to_panel_offset_x - frame_width -= current_offset_x if right_to_mullion else lining_to_panel_offset_x + frame_width -= current_offset_x if left_to_mullion else lining_to_panel_offset_x + frame_width -= current_offset_x if right_to_mullion else lining_to_panel_offset_x frame_vertical = builder.rectangle(size=V(frame_thickness, frame_depth)) frame_items.extend( @@ -443,7 +506,6 @@ class Usecase: unique_cols = len(set(panel_row)) for column_i, panel_i in enumerate(panel_row): - # detect mullion has_mullion = unique_cols > 1 first_column = column_i == 0 @@ -454,7 +516,7 @@ class Usecase: # detect transom has_transom = unique_rows_in_col[column_i] > 1 first_row = row_i == 0 - last_row = row_i == unique_rows_in_col[column_i] - 1 + last_row = row_i == unique_rows_in_col[column_i] - 1 top_to_transom = has_transom and not first_row bottom_to_transom = has_transom and not last_row @@ -490,6 +552,7 @@ class Usecase: frame_thickness = cur_panel["FrameThickness"] lining_to_panel_offset_y_full = (lining_depth - frame_depth) + lining_to_panel_offset_y + # fmt: off # calculate lining thickness and frame size / offset # taking into account mullions and transoms window_lining_thickness = [ @@ -499,22 +562,23 @@ class Usecase: transom_thickness if top_to_transom else lining_thickness, ] - # x offsets can differ if there are mullions or transoms because we're trying to maintain symmetry + # x offsets can differ if there are mullions or transoms because we're trying to maintain symmetry base_frame_clear = lining_to_panel_offset_x + frame_thickness - lining_thickness current_offset_x = base_frame_clear - frame_thickness + mullion_thickness current_offset_z = base_frame_clear - frame_thickness + transom_thickness x_offsets = [ - current_offset_x if right_to_mullion else lining_to_panel_offset_x, # LEFT - current_offset_z if bottom_to_transom else lining_to_panel_offset_x, # TOP - current_offset_x if left_to_mullion else lining_to_panel_offset_x, # RIGHT - current_offset_z if top_to_transom else lining_to_panel_offset_x, # BOTTOM + current_offset_x if right_to_mullion else lining_to_panel_offset_x, # LEFT + current_offset_z if bottom_to_transom else lining_to_panel_offset_x, # TOP + current_offset_x if left_to_mullion else lining_to_panel_offset_x, # RIGHT + current_offset_z if top_to_transom else lining_to_panel_offset_x, # BOTTOM ] + # fmt: on window_lining_size = V(panel_width, lining_depth, panel_height) frame_size = window_lining_size.copy() frame_size.y = frame_depth - frame_size.x -= (x_offsets[0] + x_offsets[2]) - frame_size.z -= (x_offsets[1] + x_offsets[3]) + frame_size.x -= x_offsets[0] + x_offsets[2] + frame_size.z -= x_offsets[1] + x_offsets[3] window_panel_position = V(accumulated_width, 0, accumulated_height[column_i]) # create window panel @@ -528,8 +592,7 @@ class Usecase: frame_thickness, glass_thickness, window_panel_position, - self.settings["unit_scale"], - x_offsets + x_offsets, ) built_panels.append(panel_i) window_items.extend(chain(*current_window_items)) From 4e65f143daf7b53bcf3260e89ce4843d2cb0dff1 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Wed, 28 Jun 2023 16:54:43 +0500 Subject: [PATCH 206/225] unregistering spatial and structural tools on disabling addon --- src/blenderbim/blenderbim/bim/module/spatial/__init__.py | 1 + src/blenderbim/blenderbim/bim/module/structural/__init__.py | 1 + 2 files changed, 2 insertions(+) diff --git a/src/blenderbim/blenderbim/bim/module/spatial/__init__.py b/src/blenderbim/blenderbim/bim/module/spatial/__init__.py index 76b5532d28..36a178196c 100644 --- a/src/blenderbim/blenderbim/bim/module/spatial/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/spatial/__init__.py @@ -60,6 +60,7 @@ def register(): def unregister(): + bpy.utils.unregister_tool(workspace.SpatialTool) del bpy.types.Scene.BIMSpatialProperties del bpy.types.Object.BIMObjectSpatialProperties del bpy.types.Scene.BIMSpatialManagerProperties diff --git a/src/blenderbim/blenderbim/bim/module/structural/__init__.py b/src/blenderbim/blenderbim/bim/module/structural/__init__.py index 8fde813631..8abf140f4c 100644 --- a/src/blenderbim/blenderbim/bim/module/structural/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/structural/__init__.py @@ -100,5 +100,6 @@ def register(): def unregister(): + bpy.utils.unregister_tool(workspace.StructuralTool) del bpy.types.Scene.BIMStructuralProperties del bpy.types.Object.BIMStructuralProperties From d41068e1324874b4045117503d35ac0b517b7ac4 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Thu, 29 Jun 2023 10:14:14 +0500 Subject: [PATCH 207/225] Console warnings if drawing's assets not found #3325 --- .../bim/module/drawing/svgwriter.py | 37 +++++++++++++++---- 1 file changed, 29 insertions(+), 8 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py b/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py index f72c0065cd..2f3ed0e2a4 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py @@ -100,6 +100,9 @@ class SvgWriter: if not os.path.exists(resource_path): resource_basename = os.path.basename(resource_path) ootb_resource = os.path.join(bpy.context.scene.BIMProperties.data_dir, "assets", resource_basename) + print( + f"WARNING. Couldn't find {resource} for the drawing by the path: {resource_path}. Default BBIM resource will be copied from {ootb_resource}" + ) if os.path.exists(ootb_resource): shutil.copy(ootb_resource, resource_path) self.resource_paths[resource] = resource_path @@ -121,23 +124,35 @@ class SvgWriter: self.height = self.raw_height * self.svg_scale def add_stylesheet(self): - if not self.resource_paths["Stylesheet"] or not os.path.exists(self.resource_paths["Stylesheet"]): + path = self.resource_paths["Stylesheet"] + if not path: return - with open(self.resource_paths["Stylesheet"], "r") as stylesheet: + if not os.path.exists(path): + print(f"WARNING. Couldn't find stylesheet for the drawing by the path: {path}") + return + with open(path, "r") as stylesheet: self.svg.defs.add(self.svg.style(stylesheet.read())) def add_markers(self): - if not self.resource_paths["Markers"] or not os.path.exists(self.resource_paths["Markers"]): + path = self.resource_paths["Markers"] + if not path: return - tree = ET.parse(self.resource_paths["Markers"]) + if not os.path.exists(path): + print(f"WARNING. Couldn't find markers for the drawing by the path: {path}") + return + tree = ET.parse(path) root = tree.getroot() for child in root: self.svg.defs.add(External(child)) def add_symbols(self): - if not self.resource_paths["Symbols"] or not os.path.exists(self.resource_paths["Symbols"]): + path = self.resource_paths["Symbols"] + if not path: return - tree = ET.parse(self.resource_paths["Symbols"]) + if not os.path.exists(path): + print(f"WARNING. Couldn't find symbols for the drawing by the path: {path}") + return + tree = ET.parse(path) root = tree.getroot() for child in root: self.svg.defs.add(External(child)) @@ -148,9 +163,15 @@ class SvgWriter: return External(xml_symbol) if xml_symbol else None def add_patterns(self): - if not self.resource_paths["Patterns"] or not os.path.exists(self.resource_paths["Patterns"]): + path = self.resource_paths["Patterns"] + if not path: return - tree = ET.parse(self.resource_paths["Patterns"]) + if not os.path.exists(path): + print(f"WARNING. Couldn't find patterns for the drawing by the path: {path}") + return + if not path or not os.path.exists(path): + return + tree = ET.parse(path) root = tree.getroot() for child in root: self.svg.defs.add(External(child)) From 8efaf2fbcb058b68f4d4287e6e7280345265ac18 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Thu, 29 Jun 2023 18:13:41 +1000 Subject: [PATCH 208/225] Attempt to bundle hppfcl for macosm1 --- src/blenderbim/Makefile | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/blenderbim/Makefile b/src/blenderbim/Makefile index c0b5411354..3f3b73c9b1 100644 --- a/src/blenderbim/Makefile +++ b/src/blenderbim/Makefile @@ -423,6 +423,10 @@ ifeq ($(PLATFORM), macos) cp -r dist/working/lib/$(PYLIBDIR)/site-packages/hppfcl dist/blenderbim/libs/site/packages/ cp -r dist/working/lib/*.dylib dist/blenderbim/libs/ endif +ifeq ($(PLATFORM), macosm1) + cp -r dist/working/lib/$(PYLIBDIR)/site-packages/hppfcl dist/blenderbim/libs/site/packages/ + cp -r dist/working/lib/*.dylib dist/blenderbim/libs/ +endif ifeq ($(PLATFORM), win) cp -r dist/working/Lib/site-packages/hppfcl dist/blenderbim/libs/site/packages/ cp -r dist/working/Library/bin/*.dll dist/blenderbim/libs/site/packages/hppfcl/ @@ -439,6 +443,9 @@ endif ifeq ($(PLATFORM), macos) cp -r dist/working/lib/*.dylib dist/blenderbim/libs/ endif +ifeq ($(PLATFORM), macosm1) + cp -r dist/working/lib/*.dylib dist/blenderbim/libs/ +endif ifeq ($(PLATFORM), win) cp -r dist/working/Library/bin/*.dll dist/blenderbim/libs/site/packages/hppfcl/ endif @@ -454,6 +461,9 @@ endif ifeq ($(PLATFORM), macos) cp -r dist/working/lib/*.dylib dist/blenderbim/libs/ endif +ifeq ($(PLATFORM), macosm1) + cp -r dist/working/lib/*.dylib dist/blenderbim/libs/ +endif ifeq ($(PLATFORM), win) cp -r dist/working/Library/bin/*.dll dist/blenderbim/libs/site/packages/hppfcl/ endif @@ -469,6 +479,9 @@ endif ifeq ($(PLATFORM), macos) cp -r dist/working/lib/*.dylib dist/blenderbim/libs/ endif +ifeq ($(PLATFORM), macosm1) + cp -r dist/working/lib/*.dylib dist/blenderbim/libs/ +endif ifeq ($(PLATFORM), win) # Uh, do nothing, apparently? No DLLs are shipped. endif @@ -484,6 +497,9 @@ endif ifeq ($(PLATFORM), macos) cp -r dist/working/lib/*.dylib dist/blenderbim/libs/ endif +ifeq ($(PLATFORM), macosm1) + cp -r dist/working/lib/*.dylib dist/blenderbim/libs/ +endif ifeq ($(PLATFORM), win) cp -r dist/working/Library/bin/*.dll dist/blenderbim/libs/site/packages/hppfcl/ endif @@ -499,6 +515,9 @@ endif ifeq ($(PLATFORM), macos) cp -r dist/working/lib/*.dylib dist/blenderbim/libs/ endif +ifeq ($(PLATFORM), macosm1) + cp -r dist/working/lib/*.dylib dist/blenderbim/libs/ +endif ifeq ($(PLATFORM), win) cp -r dist/working/Library/bin/*.dll dist/blenderbim/libs/site/packages/hppfcl/ endif From fb7591caeffb1b35774ed0e3bf738109c53cc6db Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Thu, 29 Jun 2023 13:42:55 +0500 Subject: [PATCH 209/225] avoid errors unregistering tools from tests --- src/blenderbim/blenderbim/bim/module/spatial/__init__.py | 3 ++- src/blenderbim/blenderbim/bim/module/structural/__init__.py | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/spatial/__init__.py b/src/blenderbim/blenderbim/bim/module/spatial/__init__.py index 36a178196c..f1223bb684 100644 --- a/src/blenderbim/blenderbim/bim/module/spatial/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/spatial/__init__.py @@ -60,7 +60,8 @@ def register(): def unregister(): - bpy.utils.unregister_tool(workspace.SpatialTool) + if not bpy.app.background: + bpy.utils.unregister_tool(workspace.SpatialTool) del bpy.types.Scene.BIMSpatialProperties del bpy.types.Object.BIMObjectSpatialProperties del bpy.types.Scene.BIMSpatialManagerProperties diff --git a/src/blenderbim/blenderbim/bim/module/structural/__init__.py b/src/blenderbim/blenderbim/bim/module/structural/__init__.py index 8abf140f4c..99f44a971a 100644 --- a/src/blenderbim/blenderbim/bim/module/structural/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/structural/__init__.py @@ -100,6 +100,7 @@ def register(): def unregister(): - bpy.utils.unregister_tool(workspace.StructuralTool) + if not bpy.app.background: + bpy.utils.unregister_tool(workspace.StructuralTool) del bpy.types.Scene.BIMStructuralProperties del bpy.types.Object.BIMStructuralProperties From 4d0be197205a1a1254fcec2376bc58f82a0293b8 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Thu, 29 Jun 2023 14:56:06 +0500 Subject: [PATCH 210/225] Fix crash on Mac M1 on removing cost item Crash happened because we were addressing `.id()` of already deleted `cost_item`. Surprisingly for me on windows addressing `cost_item` was causing crash too but `cost_item.id()` worked fine. --- src/blenderbim/blenderbim/bim/module/cost/operator.py | 2 +- src/blenderbim/blenderbim/core/cost.py | 5 +++-- src/blenderbim/blenderbim/tool/cost.py | 8 ++++---- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/cost/operator.py b/src/blenderbim/blenderbim/bim/module/cost/operator.py index 320e3840f7..02c7b2e9a8 100644 --- a/src/blenderbim/blenderbim/bim/module/cost/operator.py +++ b/src/blenderbim/blenderbim/bim/module/cost/operator.py @@ -163,7 +163,7 @@ class RemoveCostItem(bpy.types.Operator, tool.Ifc.Operator): cost_item: bpy.props.IntProperty() def _execute(self, context): - core.remove_cost_item(tool.Ifc, tool.Cost, cost_item=tool.Ifc.get().by_id(self.cost_item)) + core.remove_cost_item(tool.Ifc, tool.Cost, cost_item_id=self.cost_item) class EnableEditingCostItem(bpy.types.Operator, tool.Ifc.Operator): diff --git a/src/blenderbim/blenderbim/core/cost.py b/src/blenderbim/blenderbim/core/cost.py index 4cc4db3d5b..e0afbe999e 100644 --- a/src/blenderbim/blenderbim/core/cost.py +++ b/src/blenderbim/blenderbim/core/cost.py @@ -59,9 +59,10 @@ def contract_cost_items(cost): cost.load_cost_schedule_tree() -def remove_cost_item(ifc, cost, cost_item): +def remove_cost_item(ifc, cost, cost_item_id): + cost_item = ifc.get().by_id(cost_item_id) ifc.run("cost.remove_cost_item", cost_item=cost_item) - cost.clean_up_cost_item_tree(cost_item) + cost.clean_up_cost_item_tree(cost_item_id) cost.load_cost_schedule_tree() diff --git a/src/blenderbim/blenderbim/tool/cost.py b/src/blenderbim/blenderbim/tool/cost.py index f007e6ff01..aef65f093c 100644 --- a/src/blenderbim/blenderbim/tool/cost.py +++ b/src/blenderbim/blenderbim/tool/cost.py @@ -96,11 +96,11 @@ class Cost(blenderbim.core.tool.Cost): props.contracted_cost_items = json.dumps(cls.contracted_cost_items) @classmethod - def contract_cost_item(cls, cost_item): + def contract_cost_item(cls, cost_item_id): props = bpy.context.scene.BIMCostProperties if not hasattr(cls, "contracted_cost_items"): cls.contracted_cost_items = json.loads(props.contracted_cost_items) - cls.contracted_cost_items.append(cost_item.id()) + cls.contracted_cost_items.append(cost_item_id) props.contracted_cost_items = json.dumps(cls.contracted_cost_items) @classmethod @@ -114,11 +114,11 @@ class Cost(blenderbim.core.tool.Cost): props.contracted_cost_items = json.dumps(cls.contracted_cost_items) @classmethod - def clean_up_cost_item_tree(cls, cost_item): + def clean_up_cost_item_tree(cls, cost_item_id): props = bpy.context.scene.BIMCostProperties if not hasattr(cls, "contracted_cost_items"): cls.contracted_cost_items = json.loads(props.contracted_cost_items) - if props.active_cost_item_id == cost_item.id(): + if props.active_cost_item_id == cost_item_id: props.active_cost_item_id = 0 if props.active_cost_item_index in cls.contracted_cost_items: cls.contracted_cost_items.remove(props.active_cost_item_index) From a689b3127938876c5f6ae48fd8f88e29037e1f02 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Thu, 29 Jun 2023 15:34:52 +0500 Subject: [PATCH 211/225] Fixed crash on Mac m1 on removing unused types (similar to 4d0be1972) --- src/blenderbim/blenderbim/core/type.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/blenderbim/blenderbim/core/type.py b/src/blenderbim/blenderbim/core/type.py index 6368cb1302..f4660895f6 100644 --- a/src/blenderbim/blenderbim/core/type.py +++ b/src/blenderbim/blenderbim/core/type.py @@ -34,8 +34,8 @@ def assign_type(ifc, type_tool, element=None, type=None): def purge_unused_types(ifc, type): for element_type in type.get_model_types(): if not type.get_type_occurrences(element_type): - ifc.run("root.remove_product", product=element_type) obj = ifc.get_object(element_type) + ifc.run("root.remove_product", product=element_type) if obj: ifc.unlink(obj=obj) type.remove_object(obj) From f3f56c0891fec6f0d35220283851bec9473864d7 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Thu, 29 Jun 2023 16:13:37 +0500 Subject: [PATCH 212/225] simplified dev installation script for mac/linux --- src/blenderbim/docs/devs/installation.rst | 31 +++++++++++++---------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/src/blenderbim/docs/devs/installation.rst b/src/blenderbim/docs/devs/installation.rst index c614e3c197..b6e1ae66db 100644 --- a/src/blenderbim/docs/devs/installation.rst +++ b/src/blenderbim/docs/devs/installation.rst @@ -72,34 +72,39 @@ restart Blender to see changes). For Linux or Mac: -:: +:: code-block:: console $ git clone https://github.com/IfcOpenShell/IfcOpenShell.git $ cd IfcOpenShell + # path to BlenderBIM addon + # default path on Mac: "/Users/$USER/Library/Application Support/Blender/X.X/scripts/addons/blenderbim" + # default path on Linux: "$HOME/.config/blender/X.X/" + $ BLENDER_ADDON_PATH="/path/to/blender/X.XX/scripts/addons/blenderbim" + # Remove the Blender add-on Python code - $ rm -r /path/to/blender/X.XX/scripts/addons/blenderbim/core/ - $ rm -r /path/to/blender/X.XX/scripts/addons/blenderbim/tool/ - $ rm -r /path/to/blender/X.XX/scripts/addons/blenderbim/bim/ + $ rm -r $BLENDER_ADDON_PATH/core/ + $ rm -r $BLENDER_ADDON_PATH/tool/ + $ rm -r $BLENDER_ADDON_PATH/bim/ # Replace them with links to the Git repository - $ ln -s src/blenderbim/blenderbim/core /path/to/blender/X.XX/scripts/addons/blenderbim/core - $ ln -s src/blenderbim/blenderbim/tool /path/to/blender/X.XX/scripts/addons/blenderbim/tool - $ ln -s src/blenderbim/blenderbim/bim /path/to/blender/X.XX/scripts/addons/blenderbim/bim + $ ln -s $PWD/src/blenderbim/blenderbim/core $BLENDER_ADDON_PATH/core + $ ln -s $PWD/src/blenderbim/blenderbim/tool $BLENDER_ADDON_PATH/tool + $ ln -s $PWD/src/blenderbim/blenderbim/bim $BLENDER_ADDON_PATH/bim # Remove the IfcOpenShell dependency Python code - $ rm -r /path/to/blender/X.XX/scripts/addons/blenderbim/libs/site/packages/ifcopenshell/api - $ rm -r /path/to/blender/X.XX/scripts/addons/blenderbim/libs/site/packages/ifcopenshell/util + $ rm -r $BLENDER_ADDON_PATH/libs/site/packages/ifcopenshell/api + $ rm -r $BLENDER_ADDON_PATH/libs/site/packages/ifcopenshell/util # Replace them with links to the Git repository - $ ln -s src/ifcopenshell-python/ifcopenshell/api /path/to/blender/X.XX/scripts/addons/blenderbim/libs/site/packages/ifcopenshell/api - $ ln -s src/ifcopenshell-python/ifcopenshell/util /path/to/blender/X.XX/scripts/addons/blenderbim/libs/site/packages/ifcopenshell/util + $ ln -s $PWD/src/ifcopenshell-python/ifcopenshell/api $BLENDER_ADDON_PATH/libs/site/packages/ifcopenshell/api + $ ln -s $PWD/src/ifcopenshell-python/ifcopenshell/util $BLENDER_ADDON_PATH/libs/site/packages/ifcopenshell/util # Manually download some third party dependencies - $ cd /path/to/blender/X.XX/scripts/addons/blenderbim/bim/data/gantt + $ cd $BLENDER_ADDON_PATH/bim/data/gantt $ wget https://raw.githubusercontent.com/jsGanttImproved/jsgantt-improved/master/dist/jsgantt.js $ wget https://raw.githubusercontent.com/jsGanttImproved/jsgantt-improved/master/dist/jsgantt.css - $ cd /path/to/blender/X.XX/scripts/addons/blenderbim/bim/schema + $ cd $BLENDER_ADDON_PATH/bim/schema $ wget https://github.com/BrickSchema/Brick/releases/download/nightly/Brick.ttl Or, if you're on Windows, you can use the batch script below. From 0a03d201332df5d52908deef0e7c210ad7b49077 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Thu, 29 Jun 2023 13:08:22 +0200 Subject: [PATCH 213/225] SVG prefiltering elements based on large faces --- src/ifcconvert/IfcConvert.cpp | 3 + src/serializers/SvgSerializer.cpp | 130 +---------- src/serializers/SvgSerializer.h | 365 +++++++++++++++++++++++++++++- 3 files changed, 376 insertions(+), 122 deletions(-) diff --git a/src/ifcconvert/IfcConvert.cpp b/src/ifcconvert/IfcConvert.cpp index a446b7dbfb..fcf7afc7f6 100644 --- a/src/ifcconvert/IfcConvert.cpp +++ b/src/ifcconvert/IfcConvert.cpp @@ -414,6 +414,8 @@ int main(int argc, char** argv) { "Stores name and guid in a separate namespace as opposed to data-name, data-guid") ("svg-poly", "Uses the polygonal algorithm for hidden line rendering") + ("svg-prefilter", + "Prefilter faces and shapes before feeding to HLR algorithm") ("svg-write-poly", "Approximate every curve as polygonal in SVG output") ("svg-project", @@ -1082,6 +1084,7 @@ int main(int argc, char** argv) { } static_cast(serializer.get())->setUseNamespace(vmap.count("svg-xmlns") > 0); static_cast(serializer.get())->setUseHlrPoly(vmap.count("svg-poly") > 0); + static_cast(serializer.get())->setUsePrefiltering(vmap.count("svg-prefilter") > 0); static_cast(serializer.get())->setPolygonal(vmap.count("svg-write-poly") > 0); static_cast(serializer.get())->setAlwaysProject(vmap.count("svg-project") > 0); static_cast(serializer.get())->setWithoutStoreys(vmap.count("svg-without-storeys") > 0); diff --git a/src/serializers/SvgSerializer.cpp b/src/serializers/SvgSerializer.cpp index 6fa3b807a4..4ec57b5a67 100644 --- a/src/serializers/SvgSerializer.cpp +++ b/src/serializers/SvgSerializer.cpp @@ -713,31 +713,6 @@ void SvgSerializer::write(const IfcGeom::BRepElement* brep_obj) { } } -namespace { - class hlr_writer { - const TopoDS_Shape& shape_; - - public: - typedef void result_type; - - hlr_writer(const TopoDS_Shape& shape) : shape_(shape) - {} - - void operator()(boost::blank&) const { - throw std::runtime_error(""); - } - - void operator()(Handle(HLRBRep_Algo)& algo) const { - algo->Add(shape_); - } - - void operator()(Handle(HLRBRep_PolyAlgo)& algo) const { - BRepMesh_IncrementalMesh(shape_, 0.10); - algo->Load(shape_); - } - }; -} - namespace { int infront_or_behind(const gp_Pln& pln, const gp_Pnt& p) { auto d = (p.XYZ() - pln.Location().XYZ()).Dot(pln.Axis().Direction().XYZ()); @@ -1159,22 +1134,16 @@ void SvgSerializer::write(const geometry_data& data) { if (is_floor_plan_) { if (storey) { - if (storey_hlr.find(storey) == storey_hlr.end()) { - if (use_hlr_poly_) { - storey_hlr[storey] = new HLRBRep_PolyAlgo; - } else { - storey_hlr[storey] = new HLRBRep_Algo; - } + auto it = storey_hlr.find(storey); + if (it == storey_hlr.end()) { + it = storey_hlr.insert({ storey, hlr_t(use_prefiltering_, use_hlr_poly_, projection_plane) }).first; } - hlr_writer vis(*compound_to_hlr); - boost::apply_visitor(vis, storey_hlr[storey]); + it->second.add(*compound_to_hlr); } else { Logger::Warning("Unable to invoke HLR due to absence of storey containment", data.product); } - } - else { - hlr_writer vis(*compound_to_hlr); - boost::apply_visitor(vis, hlr); + } else if (hlr) { + hlr->add(*compound_to_hlr); } } } @@ -1709,81 +1678,8 @@ std::array, 3> SvgSerializer::resize() { return m; } -namespace { - template - TopoDS_Compound occt_join(T t) { - BRep_Builder B; - TopoDS_Compound C; - B.MakeCompound(C); - if (!t.IsNull()) { - TopoDS_Iterator it(t); - for (; it.More(); it.Next()) { - B.Add(C, it.Value()); - } - } - return C; - } - - template - TopoDS_Compound occt_join(T t, Ts... tss) { - BRep_Builder B; - TopoDS_Compound C; - B.MakeCompound(C); - if (!t.IsNull()) { - TopoDS_Iterator it(t); - for (; it.More(); it.Next()) { - B.Add(C, it.Value()); - } - } - auto rest = occt_join(tss...); - if (!rest.IsNull()) { - TopoDS_Iterator it(rest); - for (; it.More(); it.Next()) { - B.Add(C, it.Value()); - } - } - return C; - } - - class hlr_calc { - private: - const HLRAlgo_Projector& projector_; - - public: - typedef TopoDS_Shape result_type; - - hlr_calc(const HLRAlgo_Projector& projector) : projector_(projector) - {} - - TopoDS_Shape operator()(boost::blank&) const { - throw std::runtime_error(""); - } - - TopoDS_Shape operator()(Handle(HLRBRep_Algo)& algo) { - algo->Projector(projector_); - algo->Update(); - algo->Hide(); - HLRBRep_HLRToShape hlr_shapes(algo); - return occt_join(hlr_shapes.OutLineVCompound(), hlr_shapes.VCompound()); - } - - TopoDS_Shape operator()(Handle(HLRBRep_PolyAlgo)& algo) { - algo->Projector(projector_); - algo->Update(); - HLRBRep_PolyHLRToShape hlr_shapes; - hlr_shapes.Update(algo); - return occt_join(hlr_shapes.OutLineVCompound(), hlr_shapes.VCompound()); - } - }; -} - void SvgSerializer::draw_hlr(const gp_Pln& pln, const drawing_key& drawing_name) { - gp_Trsf trsf; - trsf.SetTransformation(pln.Position()); - HLRAlgo_Projector projector(trsf, false, 1.); - - hlr_calc vis(projector); - TopoDS_Shape hlr_compound_unmirrored = boost::apply_visitor(vis, drawing_name.first ? this->storey_hlr[drawing_name.first] : hlr); + TopoDS_Shape hlr_compound_unmirrored = (drawing_name.first ? this->storey_hlr.find(drawing_name.first)->second : *hlr).build(); if (!hlr_compound_unmirrored.IsNull()) { // Compound 3D curves for mirroring to work @@ -2062,12 +1958,9 @@ void SvgSerializer::finalize() { pln = §ion.plane; } - if (use_hlr) { - if (use_hlr_poly_) { - hlr = new HLRBRep_PolyAlgo; - } else { - hlr = new HLRBRep_Algo; - } + // @todo do we have always have pln here? + if (use_hlr && pln) { + hlr = new hlr_t(use_prefiltering_, use_hlr_poly_, *pln); } section_data_ = std::vector{ sd }; @@ -2141,8 +2034,7 @@ void SvgSerializer::finalize() { resetScale(); - // @todo does this probably call Nullify() - hlr = boost::blank(); + delete hlr; } } diff --git a/src/serializers/SvgSerializer.h b/src/serializers/SvgSerializer.h index b5cdc64d67..22d00e6818 100644 --- a/src/serializers/SvgSerializer.h +++ b/src/serializers/SvgSerializer.h @@ -23,6 +23,7 @@ #define SVGSERIALIZER_H #include "../ifcgeom_schema_agnostic/GeometrySerializer.h" +#include "../ifcgeom_schema_agnostic/base_utils.h" #include "../serializers/serializers_api.h" #include "../serializers/util.h" @@ -35,6 +36,11 @@ #include #include #include +#include +#include +#include +#include +#include #if OCC_VERSION_HEX >= 0x70300 #include @@ -43,6 +49,7 @@ #include #include #include +#include typedef std::pair drawing_key; @@ -134,7 +141,349 @@ typedef boost::variant< boost::blank, Handle(HLRBRep_Algo), Handle(HLRBRep_PolyAlgo) -> hlr_t; +> hlr_brep_or_poly_t; + +namespace { + class hlr_writer { + const TopoDS_Shape& shape_; + + public: + typedef void result_type; + + hlr_writer(const TopoDS_Shape& shape) : shape_(shape) + {} + + void operator()(boost::blank&) const { + throw std::runtime_error(""); + } + + void operator()(Handle(HLRBRep_Algo)& algo) const { + algo->Add(shape_); + } + + void operator()(Handle(HLRBRep_PolyAlgo)& algo) const { + BRepMesh_IncrementalMesh(shape_, 0.10); + algo->Load(shape_); + } + }; + + template + TopoDS_Compound occt_join(T t) { + BRep_Builder B; + TopoDS_Compound C; + B.MakeCompound(C); + if (!t.IsNull()) { + TopoDS_Iterator it(t); + for (; it.More(); it.Next()) { + B.Add(C, it.Value()); + } + } + return C; + } + + template + TopoDS_Compound occt_join(T t, Ts... tss) { + BRep_Builder B; + TopoDS_Compound C; + B.MakeCompound(C); + if (!t.IsNull()) { + TopoDS_Iterator it(t); + for (; it.More(); it.Next()) { + B.Add(C, it.Value()); + } + } + auto rest = occt_join(tss...); + if (!rest.IsNull()) { + TopoDS_Iterator it(rest); + for (; it.More(); it.Next()) { + B.Add(C, it.Value()); + } + } + return C; + } + + class hlr_calc { + private: + const HLRAlgo_Projector& projector_; + + public: + typedef TopoDS_Shape result_type; + + hlr_calc(const HLRAlgo_Projector& projector) : projector_(projector) + {} + + TopoDS_Shape operator()(boost::blank&) const { + throw std::runtime_error(""); + } + + TopoDS_Shape operator()(Handle(HLRBRep_Algo)& algo) { + algo->Projector(projector_); + algo->Update(); + algo->Hide(); + HLRBRep_HLRToShape hlr_shapes(algo); + return occt_join(hlr_shapes.OutLineVCompound(), hlr_shapes.VCompound()); + } + + TopoDS_Shape operator()(Handle(HLRBRep_PolyAlgo)& algo) { + algo->Projector(projector_); + algo->Update(); + HLRBRep_PolyHLRToShape hlr_shapes; + hlr_shapes.Update(algo); + return occt_join(hlr_shapes.OutLineVCompound(), hlr_shapes.VCompound()); + } + }; + + class prefiltered_hlr { + + class face_info { + private: + gp_XYZ dxyz, xdir, ydir; + + public: + std::list::const_iterator item; + TopoDS_Face face; + bool is_convex; + // @note copying the BRepTopAdaptor_FClass2d didn't work so it's a pointer + BRepTopAdaptor_FClass2d* fclass; + + face_info(std::list::const_iterator it, const TopoDS_Face& fa) + : item(it) + , face(fa) + , fclass(nullptr) + { + TopExp_Explorer exp(face, TopAbs_WIRE); + is_convex = exp.More() && IfcGeom::util::is_convex(TopoDS::Wire(exp.Current()), 1.e-5) && ([&exp]() {exp.Next(); return true; })() && !exp.More(); + + auto surf = BRep_Tool::Surface(fa); + if (surf->DynamicType() != STANDARD_TYPE(Geom_Plane)) { + throw std::runtime_error("Not implemented"); + } + + auto pln = Handle(Geom_Plane)::DownCast(surf); + + dxyz = pln->Position().Location().XYZ(); + xdir = pln->Position().XDirection().XYZ(); + ydir = pln->Position().YDirection().XYZ(); + } + + ~face_info() { + delete fclass; + } + + void project(const gp_Pnt& xyz, gp_Pnt2d& uv) { + const gp_Vec d = xyz.XYZ() - dxyz; + uv.SetX(d.Dot(xdir)); + uv.SetY(d.Dot(ydir)); + } + + void interp(const gp_Pnt2d& a, const gp_Pnt2d& b, double d, gp_Pnt2d& out) { + out.SetCoord(a.X() + (b.X() - a.X()) * d, a.Y() + (b.Y() - a.Y()) * d); + } + + bool contains(const gp_Pnt& bottomleft, const gp_Pnt& topright) { + gp_Pnt2d a, b; + project(bottomleft, a); + project(topright, b); + return contains(a, b); + } + + bool contains(const gp_Pnt2d& bottomleft, const gp_Pnt2d& topright) { + if (!fclass) { + fclass = new BRepTopAdaptor_FClass2d(face, 1.e-5); + } + // @todo unify with the 2d boolean algo + gp_Pnt2d bottomright(topright.X(), bottomleft.Y()); + gp_Pnt2d topleft(bottomleft.X(), topright.Y()); + std::array loop{ { + &bottomleft, + &bottomright, + &topright, + &topleft + } }; + + if (is_convex) { + for (int i = 0; i < 4; ++i) { + if (fclass->Perform(*loop[i]) == TopAbs_OUT) { + return false; + } + } + } else { + gp_Pnt2d tmp; + for (int i = 0; i < 4; ++i) { + // @todo proper edge intersection + for (int j = 0; j < 16; ++j) { + const gp_Pnt2d& a = *loop[i]; + const gp_Pnt2d& b = *loop[(i + 1) % 4]; + interp(a, b, j / 16.0, tmp); + if (fclass->Perform(tmp) == TopAbs_OUT) { + return false; + } + } + } + } + + return true; + } + }; + + hlr_brep_or_poly_t engine_; + bool use_prefiltering_; + bool use_hlr_poly_; + gp_Ax1 view_direction_; + HLRAlgo_Projector projector_; + + std::multimap large_ortho_faces_; + std::list items_; + + public: + + prefiltered_hlr(bool use_prefiltering, bool use_hlr_poly, const gp_Pln& view_direction) + : use_prefiltering_(use_prefiltering) + , use_hlr_poly_(use_hlr_poly) + // @nb negative z in accordance with occt projector convention (and opengl) + , view_direction_(view_direction.Axis()) + { + if (use_hlr_poly_) { + engine_ = new HLRBRep_PolyAlgo; + } else { + engine_ = new HLRBRep_Algo; + } + + gp_Trsf trsf; + trsf.SetTransformation(view_direction.Position()); + projector_ = HLRAlgo_Projector(trsf, false, 1.); + } + + bool is_obscured_(std::list::const_iterator sit) { + const TopoDS_Shape& s = *sit; + + double min_d = std::numeric_limits::infinity(); + + TopExp_Explorer exp(s, TopAbs_VERTEX); + for (; exp.More(); exp.Next()) { + const auto& v = TopoDS::Vertex(exp.Current()); + auto pnt = BRep_Tool::Pnt(v); + auto d = -(pnt.XYZ() - view_direction_.Location().XYZ()).Dot(view_direction_.Direction().XYZ()); + if (d < min_d) { + min_d = d; + } + } + + Bnd_Box box; + BRepBndLib::AddClose(s, box); + + auto lower = large_ortho_faces_.lower_bound(0.); + auto upper = large_ortho_faces_.upper_bound(min_d); + + for (auto it = lower; it != upper; ++it) { + if (it->second.item == sit) { + continue; + } + + if (it->second.contains(box.CornerMin(), box.CornerMax())) { + return true; + } + } + + return false; + } + + void add(const TopoDS_Shape& s) { + if (!use_prefiltering_) { + items_.insert(items_.end(), s); + } + + TopoDS_Compound C; + BRep_Builder BB; + BB.MakeCompound(C); + + gp_Pnt P; + gp_Vec V; + gp_Dir D; + + if (IfcGeom::util::is_manifold(s)) { + size_t n_faces_included = 0, n_total = 0; + { + TopExp_Explorer exp(s, TopAbs_FACE); + for (; exp.More(); exp.Next(), n_total++) { + const auto& face = TopoDS::Face(exp.Current()); + if (BRep_Tool::Surface(face)->DynamicType() == STANDARD_TYPE(Geom_Plane)) { + BRepGProp_Face prop(face); + + prop.Normal(0., 0., P, V); + if (V.SquareMagnitude() > 1.e-9) { + D = V; + // keep only front-facing + if (D.Dot(view_direction_.Direction()) > 1.e-3) { + BB.Add(C, face); + n_faces_included++; + } + } + } else { + BB.Add(C, face); + n_faces_included++; + } + } + } + + Logger::Notice("Included " + std::to_string(n_faces_included) + " faces out of " + std::to_string(n_total) + " after prefiltering"); + + auto it = items_.insert(items_.end(), C); + + { + TopExp_Explorer exp(C, TopAbs_FACE); + for (; exp.More(); exp.Next()) { + const auto& face = TopoDS::Face(exp.Current()); + if (BRep_Tool::Surface(face)->DynamicType() == STANDARD_TYPE(Geom_Plane)) { + + // find large faces orthogonal to view dir + BRepGProp_Face prop(face); + prop.Normal(0., 0., P, V); + D = V; + + if (D.Dot(view_direction_.Direction()) > (1. - 1.e-3)) { + if (IfcGeom::util::face_area(face) > 2.) { + // arbitrary vertex, is ok because orthogonal to view dir + TopExp_Explorer expv(face, TopAbs_VERTEX); + if (expv.More()) { + const auto& v = TopoDS::Vertex(expv.Current()); + auto pnt = BRep_Tool::Pnt(v); + + auto d = -(pnt.XYZ() - view_direction_.Location().XYZ()).Dot(view_direction_.Direction().XYZ()); + + if (d > 1.e-5) { + large_ortho_faces_.insert({ d, face_info(it, face) }); + } + } + } + } + } + } + } + } else { + items_.insert(items_.end(), s); + } + } + + TopoDS_Shape build() { + size_t n_included = 0; + for (auto it = items_.begin(); it != items_.end(); ++it) { + if (!use_prefiltering_ || !is_obscured_(it)) { + hlr_writer vis(*it); + boost::apply_visitor(vis, engine_); + n_included++; + } + } + if (use_prefiltering_) { + Logger::Notice("Included " + std::to_string(n_included) + " elements out of " + std::to_string(items_.size()) + " after prefiltering"); + } + hlr_calc vis(projector_); + return boost::apply_visitor(vis, engine_); + } + }; +} + +typedef prefiltered_hlr hlr_t; class SERIALIZERS_API SvgSerializer : public WriteOnlyGeometrySerializer { public: @@ -162,7 +511,7 @@ protected: storey_height_display_types storey_height_display_; bool draw_door_arcs_, is_floor_plan_; bool auto_section_, auto_elevation_; - bool use_namespace_, use_hlr_poly_, always_project_, polygonal_; + bool use_namespace_, use_hlr_poly_, use_prefiltering_, always_project_, polygonal_; bool emit_building_storeys_; bool no_css_; @@ -181,7 +530,7 @@ protected: std::list element_buffer_; - hlr_t hlr; + hlr_t* hlr; std::string namespace_prefix_; @@ -211,6 +560,7 @@ public: , auto_elevation_(false) , use_namespace_(false) , use_hlr_poly_(false) + , use_prefiltering_(false) , always_project_(false) , polygonal_(false) , emit_building_storeys_(true) @@ -221,6 +571,7 @@ public: , xcoords_begin(0) , ycoords_begin(0) , radii_begin(0) + , hlr(nullptr) , namespace_prefix_("data-") , subtraction_settings_(ON_SLABS_AT_FLOORPLANS) {} @@ -286,6 +637,14 @@ public: use_hlr_poly_ = b; } + void setUsePrefiltering(bool b) { + use_prefiltering_ = b; + } + + bool getUsePrefiltering() const { + return use_prefiltering_; + } + void setPolygonal(bool b) { polygonal_ = b; } From d501118eb42ca8582a260be702e76d85cf88694e Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Thu, 29 Jun 2023 13:10:17 +0200 Subject: [PATCH 214/225] Add --prefilter flag to draw.py --- src/ifcopenshell-python/ifcopenshell/draw.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/ifcopenshell-python/ifcopenshell/draw.py b/src/ifcopenshell-python/ifcopenshell/draw.py index 04f1b3a39d..3e1a25d149 100644 --- a/src/ifcopenshell-python/ifcopenshell/draw.py +++ b/src/ifcopenshell-python/ifcopenshell/draw.py @@ -59,6 +59,7 @@ class draw_settings: cells: bool = True merge_cells: bool = False include_projection: bool = True + prefilter: bool = True def main(settings, files, iterators=None, merge_projection=True, progress_function=DO_NOTHING): @@ -131,6 +132,8 @@ def main(settings, files, iterators=None, merge_projection=True, progress_functi if settings.subtract_before_hlr: sr.setSubtractionSettings(W.ALWAYS) + sr.setUsePrefiltering(settings.prefilter) + try: sh = ["none", "full", "left"].index(settings.storey_heights) sr.setDrawStoreyHeights(sh) From 4457da90429959eed3e1bdeb1f1f3c918cb25ea8 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Thu, 29 Jun 2023 13:18:41 +0200 Subject: [PATCH 215/225] Help swig not to trip over old occt handle definitions --- src/ifcwrap/IfcGeomWrapper.i | 4 ++++ src/serializers/SvgSerializer.h | 8 ++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/ifcwrap/IfcGeomWrapper.i b/src/ifcwrap/IfcGeomWrapper.i index 206b40d166..b2361767cb 100644 --- a/src/ifcwrap/IfcGeomWrapper.i +++ b/src/ifcwrap/IfcGeomWrapper.i @@ -636,6 +636,10 @@ struct ShapeRTTI : public boost::static_visitor } %} +%ignore hlr_writer; +%ignore hlr_calc; +%ignore occt_join; +%ignore prefiltered_hlr; %ignore svgfill::svg_to_line_segments; %ignore svgfill::line_segments_to_polygons; diff --git a/src/serializers/SvgSerializer.h b/src/serializers/SvgSerializer.h index 22d00e6818..4c2cde130f 100644 --- a/src/serializers/SvgSerializer.h +++ b/src/serializers/SvgSerializer.h @@ -157,11 +157,11 @@ namespace { throw std::runtime_error(""); } - void operator()(Handle(HLRBRep_Algo)& algo) const { + void operator()(opencascade::handle& algo) const { algo->Add(shape_); } - void operator()(Handle(HLRBRep_PolyAlgo)& algo) const { + void operator()(opencascade::handle& algo) const { BRepMesh_IncrementalMesh(shape_, 0.10); algo->Load(shape_); } @@ -216,7 +216,7 @@ namespace { throw std::runtime_error(""); } - TopoDS_Shape operator()(Handle(HLRBRep_Algo)& algo) { + TopoDS_Shape operator()(opencascade::handle& algo) { algo->Projector(projector_); algo->Update(); algo->Hide(); @@ -224,7 +224,7 @@ namespace { return occt_join(hlr_shapes.OutLineVCompound(), hlr_shapes.VCompound()); } - TopoDS_Shape operator()(Handle(HLRBRep_PolyAlgo)& algo) { + TopoDS_Shape operator()(opencascade::handle& algo) { algo->Projector(projector_); algo->Update(); HLRBRep_PolyHLRToShape hlr_shapes; From ab74d1456b41d657ac98070aaefa3f4efb453682 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Thu, 29 Jun 2023 22:10:31 +1000 Subject: [PATCH 216/225] Bundle qhull for ifcclash on macosm1 --- src/blenderbim/Makefile | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/blenderbim/Makefile b/src/blenderbim/Makefile index 3f3b73c9b1..d41591ffc5 100644 --- a/src/blenderbim/Makefile +++ b/src/blenderbim/Makefile @@ -117,6 +117,7 @@ ifeq ($(PYVERSION), py37) HPPFCL_URL:=https://anaconda.org/conda-forge/hpp-fcl/1.7.5/download/osx-64/hpp-fcl-1.7.5-py37h2d7f23a_0.tar.bz2 EIGENPY_URL:=https://anaconda.org/conda-forge/eigenpy/2.6.5/download/osx-64/eigenpy-2.6.5-py37h0695097_0.tar.bz2 BOOST_URL:=https://anaconda.org/conda-forge/boost/1.74.0/download/osx-64/boost-1.74.0-py37hd79e0ac_3.tar.bz2 +QHULL_URL:=https://anaconda.org/conda-forge/qhull/2020.2/download/osx-arm64/qhull-2020.2-hc021e02_2.tar.bz2 LXML_URL:=https://anaconda.org/conda-forge/lxml/4.9.1/download/osx-64/lxml-4.9.1-py37h994c40b_0.tar.bz2 SHAPELY_URL:=https://files.pythonhosted.org/packages/e6/7d/4923f27c340339e1c896c77cafc8ed672c8d381a025bbab6c6ddcba27e8f/shapely-2.0.1-cp37-cp37m-macosx_10_9_x86_64.whl PILLOW_URL:=https://files.pythonhosted.org/packages/aa/bc/21097cd891dd2fa02f2b3d767e02e883e026482e59d29975d1bc30024aa3/Pillow-9.2.0-cp39-cp39-macosx_11_0_arm64.whl @@ -125,6 +126,7 @@ ifeq ($(PYVERSION), py39) HPPFCL_URL:=https://anaconda.org/conda-forge/hpp-fcl/1.7.5/download/osx-arm64/hpp-fcl-1.7.5-py39ha69f3c1_2.tar.bz2 EIGENPY_URL:=https://anaconda.org/conda-forge/eigenpy/2.6.7/download/osx-arm64/eigenpy-2.6.7-py39ha69f3c1_0.tar.bz2 BOOST_URL:=https://anaconda.org/conda-forge/boost/1.78.0/download/osx-arm64/boost-1.78.0-py39h2550fe3_0.tar.bz2 +QHULL_URL:=https://anaconda.org/conda-forge/qhull/2020.2/download/osx-arm64/qhull-2020.2-hc021e02_2.tar.bz2 LXML_URL:=https://anaconda.org/conda-forge/lxml/4.9.1/download/osx-arm64/lxml-4.9.1-py39h9eb174b_0.tar.bz2 SHAPELY_URL:=https://files.pythonhosted.org/packages/ea/aa/45fbd031edf3149cb767d8b9f9db45d5faf0324d743c6b8fb0298cc022d0/shapely-2.0.1-cp39-cp39-macosx_11_0_arm64.whl PILLOW_URL:=https://files.pythonhosted.org/packages/aa/bc/21097cd891dd2fa02f2b3d767e02e883e026482e59d29975d1bc30024aa3/Pillow-9.2.0-cp39-cp39-macosx_11_0_arm64.whl @@ -133,6 +135,7 @@ ifeq ($(PYVERSION), py310) HPPFCL_URL:=https://anaconda.org/conda-forge/hpp-fcl/1.8.0/download/osx-arm64/hpp-fcl-1.8.0-py310h5699539_2.tar.bz2 EIGENPY_URL:=https://anaconda.org/conda-forge/eigenpy/2.6.9/download/osx-arm64/eigenpy-2.6.9-py310habfc766_1.tar.bz2 BOOST_URL:=https://anaconda.org/conda-forge/boost/1.78.0/download/osx-arm64/boost-1.78.0-py310h4566fd1_0.tar.bz2 +QHULL_URL:=https://anaconda.org/conda-forge/qhull/2020.2/download/osx-arm64/qhull-2020.2-hc021e02_2.tar.bz2 LXML_URL:=https://anaconda.org/conda-forge/lxml/4.9.1/download/osx-arm64/lxml-4.9.1-py310h02f21da_0.tar.bz2 SHAPELY_URL:=https://files.pythonhosted.org/packages/ec/41/d59208743e737184e1b403e95a937aebb022b8459e99efbcd5208fc8be46/shapely-2.0.1-cp310-cp310-macosx_11_0_arm64.whl PILLOW_URL:=https://files.pythonhosted.org/packages/0c/5f/117b653cad585f3aedfe0de996c292e67d4b020ed77f652e5a6c8c24f908/Pillow-9.2.0-cp310-cp310-macosx_11_0_arm64.whl @@ -451,6 +454,15 @@ ifeq ($(PLATFORM), win) endif rm -rf dist/working + # Required by hpp-fcl only on macosm1 it seems +ifeq ($(PLATFORM), macosm1) + mkdir dist/working + cd dist/working && wget $(QHULL_URL) + cd dist/working && tar -xf qhull* + cp -r dist/working/lib/*.dylib dist/blenderbim/libs/ + rm -rf dist/working +endif + # Required by hpp-fcl mkdir dist/working cd dist/working && wget $(EIGENPY_URL) From 709590401cf354899e019d9bb13d02e344bf4108 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Thu, 29 Jun 2023 17:19:09 +0500 Subject: [PATCH 217/225] fixing errors running tests if no tool selected in blender startup file Error was: AttributeError: 'NoneType' object has no attribute 'idname' --- src/blenderbim/blenderbim/bim/handler.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/handler.py b/src/blenderbim/blenderbim/bim/handler.py index f478a80338..3818b12144 100644 --- a/src/blenderbim/blenderbim/bim/handler.py +++ b/src/blenderbim/blenderbim/bim/handler.py @@ -98,8 +98,8 @@ def update_bim_tool_props(): if not obj: return mode = bpy.context.mode - current_tool = bpy.context.workspace.tools.from_space_view3d_mode(mode).idname - if current_tool != "bim.bim_tool": + current_tool = bpy.context.workspace.tools.from_space_view3d_mode(mode) + if not current_tool or current_tool.idname != "bim.bim_tool": return element = tool.Ifc.get_entity(obj) if not element: From bba118ed199dca294e24b64ab4129709f2a6f98a Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Thu, 29 Jun 2023 18:33:53 +0500 Subject: [PATCH 218/225] ShapeBuilder to use IfcPolyline of IfcIndexedPolyCurve to support ifc2x3 needed it to add suport for window/door modifiers in ifc2x3 in the next commit --- .../ifcopenshell/util/shape_builder.py | 87 ++++++++++++------- 1 file changed, 57 insertions(+), 30 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/util/shape_builder.py b/src/ifcopenshell-python/ifcopenshell/util/shape_builder.py index 27eb25a2e7..daf8f06018 100644 --- a/src/ifcopenshell-python/ifcopenshell/util/shape_builder.py +++ b/src/ifcopenshell-python/ifcopenshell/util/shape_builder.py @@ -38,8 +38,11 @@ class ShapeBuilder: def polyline(self, points, closed=False, position_offset=None, arc_points=[]): # > points - list of points formatted like ( (x0, y0), (x1, y1) ) # < IfcIndexedPolyCurve - segments = [] + if arc_points and self.file.schema == "IFC2X3": + raise Exception("Arcs are not supported for IFC2X3.") + + segments = [] cur_i = 0 while cur_i < len(points) - 1: cur_i_ifc = cur_i + 1 @@ -55,30 +58,34 @@ class ShapeBuilder: if position_offset: points = [Vector(p) + position_offset for p in points] - dimensions = len(points[0]) - if dimensions == 2: - ifc_points = self.file.createIfcCartesianPointList2D(points) - elif dimensions == 3: - ifc_points = self.file.createIfcCartesianPointList3D(points) + if self.file.schema == "IFC2X3": + points = [self.file.createIfcCartesianPoint(p) for p in points] + ifc_curve = self.file.createIfcPolyline(Points=points) + else: + dimensions = len(points[0]) + if dimensions == 2: + ifc_points = self.file.createIfcCartesianPointList2D(points) + elif dimensions == 3: + ifc_points = self.file.createIfcCartesianPointList3D(points) - ifc_segments = [] - # because IfcLineIndex support 2+ points - # we merge neighbor line segments into one - current_line_segment = [] - last_segment = len(segments) - 1 - for seg_i, segment in enumerate(segments): - if len(segment) == 2: - current_line_segment += segment + ifc_segments = [] + # because IfcLineIndex support 2+ points + # we merge neighbor line segments into one + current_line_segment = [] + last_segment = len(segments) - 1 + for seg_i, segment in enumerate(segments): + if len(segment) == 2: + current_line_segment += segment - if current_line_segment and (len(segment) == 3 or seg_i == last_segment): - ifc_segments.append(self.file.createIfcLineIndex(current_line_segment)) - current_line_segment = [] + if current_line_segment and (len(segment) == 3 or seg_i == last_segment): + ifc_segments.append(self.file.createIfcLineIndex(current_line_segment)) + current_line_segment = [] - if len(segment) == 3: - ifc_segments.append(self.file.createIfcArcIndex(segment)) + if len(segment) == 3: + ifc_segments.append(self.file.createIfcArcIndex(segment)) - # NOTE: IfcIndexPolyCurve support only consequtive segments - ifc_curve = self.file.createIfcIndexedPolyCurve(Points=ifc_points, Segments=ifc_segments) + # NOTE: IfcIndexPolyCurve support only consequtive segments + ifc_curve = self.file.createIfcIndexedPolyCurve(Points=ifc_points, Segments=ifc_segments) return ifc_curve def get_rectangle_coords(self, size: Vector = Vector((1.0, 1.0)).freeze(), position: Vector = None): @@ -251,9 +258,10 @@ class ShapeBuilder: if create_copy: c = ifcopenshell.util.element.copy_deep(self.file, c) - if c.is_a("IfcIndexedPolyCurve"): - coords = [Vector(co) + translation for co in c.Points.CoordList] - c.Points.CoordList = coords + if c.is_a() in ("IfcIndexedPolyCurve", "IfcPolyline"): + coords = self.get_polyline_coords(c) + coords = [Vector(co) + translation for co in coords] + self.set_polyline_coords(c, coords) elif c.is_a("IfcCircle") or c.is_a("IfcExtrudedAreaSolid") or c.is_a("IfcEllipse"): base_position = Vector(c.Position.Location.Coordinates) @@ -312,11 +320,12 @@ class ShapeBuilder: if create_copy: c = ifcopenshell.util.element.copy_deep(self.file, c) - if c.is_a("IfcIndexedPolyCurve"): + if c.is_a() in ("IfcIndexedPolyCurve", "IfcPolyline"): + original_coords = self.get_polyline_coords(c) coords = [ - self.rotate_2d_point(Vector(co), angle, pivot_point, counter_clockwise) for co in c.Points.CoordList + self.rotate_2d_point(Vector(co), angle, pivot_point, counter_clockwise) for co in original_coords ] - c.Points.CoordList = coords + self.set_polyline_coords(c, coords) elif c.is_a("IfcCircle"): base_position = Vector(c.Position.Location.Coordinates) @@ -408,10 +417,11 @@ class ShapeBuilder: else curve_or_item_el ) - if c.is_a("IfcIndexedPolyCurve"): + if c.is_a() in ("IfcIndexedPolyCurve", "IfcPolyline"): + original_coords = self.get_polyline_coords(c) inverted_placement_matrix = placement_matrix.inverted() if placement_matrix else None coords = [] - for co in c.Points.CoordList: + for co in original_coords: co_base = Vector(co) if placement_matrix: # TODO: add support for Z-axis too @@ -424,7 +434,7 @@ class ShapeBuilder: coords.append(co) - c.Points.CoordList = coords + self.set_polyline_coords(c, coords) elif c.is_a("IfcCircle") or c.is_a("IfcEllipse"): base_position = Vector(c.Position.Location.Coordinates) @@ -594,3 +604,20 @@ class ShapeBuilder: kwargs["position_x_axis"].rotate(rot) kwargs["position_z_axis"].rotate(rot) return kwargs + + def get_polyline_coords(self, polyline): + """polyline should be either `IfcIndexedPolyCurve` or `IfcPolyline`""" + coords = None + if polyline.is_a("IfcIndexedPolyCurve"): + coords = polyline.Points.CoordList + elif polyline.is_a("IfcPolyline"): + coords = [p.Coordinates for p in polyline.Points] + return coords + + def set_polyline_coords(self, polyline, coords): + """polyline should be either `IfcIndexedPolyCurve` or `IfcPolyline`""" + if polyline.is_a("IfcIndexedPolyCurve"): + polyline.Points.CoordList = coords + elif polyline.is_a("IfcPolyline"): + for i, co in enumerate(coords): + polyline.Points[i].Coordinates = co From e45974df62a399af98b496cecd054397624b0d0d Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Thu, 29 Jun 2023 17:41:34 +0500 Subject: [PATCH 219/225] Support for door/window/stair modifiers in ifc2x3 --- src/blenderbim/blenderbim/bim/module/model/door.py | 10 ++++++---- .../blenderbim/bim/module/model/opening.py | 13 ++++++++++--- src/blenderbim/blenderbim/bim/module/model/stair.py | 12 +++++++++--- .../blenderbim/bim/module/model/window.py | 10 ++++++---- .../blenderbim/bim/module/type/operator.py | 8 ++++---- 5 files changed, 35 insertions(+), 18 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/model/door.py b/src/blenderbim/blenderbim/bim/module/model/door.py index 8273ce4393..99aa50f6c9 100644 --- a/src/blenderbim/blenderbim/bim/module/model/door.py +++ b/src/blenderbim/blenderbim/bim/module/model/door.py @@ -128,7 +128,8 @@ def update_door_modifier_representation(context): ) # type attributes - element.OperationType = props.door_type + if tool.Ifc.get_schema() != "IFC2X3": + element.OperationType = props.door_type # occurences attributes occurences = tool.Ifc.get_all_element_occurences(element) @@ -486,7 +487,8 @@ class BIM_OT_add_door(bpy.types.Operator, tool.Ifc.Operator): element = blenderbim.core.root.assign_class( tool.Ifc, tool.Collector, tool.Root, obj=obj, ifc_class="IfcDoor", should_add_representation=False ) - element.PredefinedType = "DOOR" + if tool.Ifc.get_schema() != "IFC2X3": + element.PredefinedType = "DOOR" bpy.ops.object.select_all(action="DESELECT") bpy.context.view_layer.objects.active = None @@ -507,8 +509,8 @@ class AddDoor(bpy.types.Operator, tool.Ifc.Operator): element = tool.Ifc.get_entity(obj) props = obj.BIMDoorProperties - if element.is_a() not in ("IfcDoor", "IfcDoorType"): - self.report({"ERROR"}, "Object has to be IfcDoor/IfcDoorType type to add a door.") + if element.is_a() not in ("IfcDoor", "IfcDoorType", "IfcDoorStyle"): + self.report({"ERROR"}, "Object has to be IfcDoor/IfcDoorType/IfcDoorStyle type to add a door.") return {"CANCELLED"} door_data = props.get_general_kwargs(convert_to_project_units=True) diff --git a/src/blenderbim/blenderbim/bim/module/model/opening.py b/src/blenderbim/blenderbim/bim/module/model/opening.py index 6378aaa297..1d3ca9dbce 100644 --- a/src/blenderbim/blenderbim/bim/module/model/opening.py +++ b/src/blenderbim/blenderbim/bim/module/model/opening.py @@ -232,9 +232,16 @@ class FilledOpeningGenerator: curve_3d = ifcopenshell.util.representation.resolve_representation(profile).Items[0] def get_curve_2d_from_3d(curve_3d): - ifc_segments = [shape_builder.deep_copy(s) for s in curve_3d.Segments] - ifc_points = ifc_file.createIfcCartesianPointList2D([Vector(p).xz for p in curve_3d.Points.CoordList]) - ifc_curve = ifc_file.createIfcIndexedPolyCurve(Points=ifc_points, Segments=ifc_segments) + if tool.Ifc.get_schema() == "IFC2X3": + coords = [Vector(p).xz for p in shape_builder.get_polyline_coords(curve_3d)] + ifc_curve = shape_builder.polyline(coords, closed=True) + else: + # using different algorithm to keep arc segments possible in the future + ifc_segments = [shape_builder.deep_copy(s) for s in curve_3d.Segments] + ifc_points = ifc_file.createIfcCartesianPointList2D( + [Vector(p).xz for p in curve_3d.Points.CoordList] + ) + ifc_curve = ifc_file.createIfcIndexedPolyCurve(Points=ifc_points, Segments=ifc_segments) return ifc_curve extrusion = shape_builder.extrude( diff --git a/src/blenderbim/blenderbim/bim/module/model/stair.py b/src/blenderbim/blenderbim/bim/module/model/stair.py index 52d90348e2..04b5836e14 100644 --- a/src/blenderbim/blenderbim/bim/module/model/stair.py +++ b/src/blenderbim/blenderbim/bim/module/model/stair.py @@ -250,7 +250,8 @@ def update_ifc_stair_props(obj): props = obj.BIMStairProperties ifc_file = tool.Ifc.get() - element.PredefinedType = "STRAIGHT" + if tool.Ifc.get_schema() != "IFC2X3": + element.PredefinedType = "STRAIGHT" number_of_risers = props.number_of_treads + 1 # update IfcStairFlight properties (seems already deprecated but keep it for now) # http://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcStairFlight.htm @@ -260,7 +261,11 @@ def update_ifc_stair_props(obj): tread_length = props.tread_depth / si_conversion if element.is_a("IfcStairFlight"): - element.NumberOfRisers = number_of_risers + if tool.Ifc.get_schema() == "IFC2X3": + element.NumberOfRiser = number_of_risers + else: + element.NumberOfRisers = number_of_risers + element.NumberOfTreads = props.number_of_treads element.RiserHeight = riser_height element.TreadLength = tread_length @@ -330,7 +335,8 @@ class BIM_OT_add_clever_stair(bpy.types.Operator, tool.Ifc.Operator): should_add_representation=True, context=body_context, ) - element.PredefinedType = "STRAIGHT" + if tool.Ifc.get_schema() != "IFC2X3": + element.PredefinedType = "STRAIGHT" bpy.ops.object.select_all(action="DESELECT") bpy.context.view_layer.objects.active = None diff --git a/src/blenderbim/blenderbim/bim/module/model/window.py b/src/blenderbim/blenderbim/bim/module/model/window.py index fea2fad5d5..3f4f7ee926 100644 --- a/src/blenderbim/blenderbim/bim/module/model/window.py +++ b/src/blenderbim/blenderbim/bim/module/model/window.py @@ -167,7 +167,8 @@ def update_window_modifier_representation(context): ) # type attributes - element.PartitioningType = props.window_type + if tool.Ifc.get_schema() != "IFC2X3": + element.PartitioningType = props.window_type # occurences attributes occurences = tool.Ifc.get_all_element_occurences(element) @@ -455,7 +456,8 @@ class BIM_OT_add_window(bpy.types.Operator, tool.Ifc.Operator): element = blenderbim.core.root.assign_class( tool.Ifc, tool.Collector, tool.Root, obj=obj, ifc_class="IfcWindow", should_add_representation=False ) - element.PredefinedType = "WINDOW" + if tool.Ifc.get_schema() != "IFC2X3": + element.PredefinedType = "WINDOW" bpy.ops.object.select_all(action="DESELECT") bpy.context.view_layer.objects.active = None @@ -476,8 +478,8 @@ class AddWindow(bpy.types.Operator, tool.Ifc.Operator): element = tool.Ifc.get_entity(obj) props = obj.BIMWindowProperties - if element.is_a() not in ("IfcWindow", "IfcWindowType"): - self.report({"ERROR"}, "Object has to be IfcWindow/IfcWindowType type to add a window.") + if element.is_a() not in ("IfcWindow", "IfcWindowType", "IfcWindowStyle"): + self.report({"ERROR"}, "Object has to be IfcWindow/IfcWindowType/IfcWindowStyle type to add a window.") return {"CANCELLED"} window_data = props.get_general_kwargs(convert_to_project_units=True) diff --git a/src/blenderbim/blenderbim/bim/module/type/operator.py b/src/blenderbim/blenderbim/bim/module/type/operator.py index 8532b2717b..dffd55a617 100644 --- a/src/blenderbim/blenderbim/bim/module/type/operator.py +++ b/src/blenderbim/blenderbim/bim/module/type/operator.py @@ -329,8 +329,8 @@ class AddType(bpy.types.Operator, tool.Ifc.Operator): tool.Collector, tool.Root, obj=obj, - predefined_type=predefined_type, - ifc_class="IfcWindowType", + predefined_type=predefined_type if tool.Ifc.get_schema() != "IFC2X3" else None, + ifc_class="IfcWindowType" if tool.Ifc.get_schema() != "IFC2X3" else "IfcWindowStyle", should_add_representation=False, ) bpy.ops.object.select_all(action="DESELECT") @@ -347,8 +347,8 @@ class AddType(bpy.types.Operator, tool.Ifc.Operator): tool.Collector, tool.Root, obj=obj, - predefined_type=predefined_type, - ifc_class="IfcDoorType", + predefined_type=predefined_type if tool.Ifc.get_schema() != "IFC2X3" else None, + ifc_class="IfcDoorType" if tool.Ifc.get_schema() != "IFC2X3" else "IfcDoorStyle", should_add_representation=False, ) bpy.ops.object.select_all(action="DESELECT") From 832cdce93454ccd2ae4ed780def1e8a185925af1 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Thu, 29 Jun 2023 22:03:29 +0200 Subject: [PATCH 220/225] Fix openbot build --- .../ifcopenshell/stream.py | 720 +++++++++--------- 1 file changed, 360 insertions(+), 360 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/stream.py b/src/ifcopenshell-python/ifcopenshell/stream.py index a9c05e8076..df6ba552f5 100644 --- a/src/ifcopenshell-python/ifcopenshell/stream.py +++ b/src/ifcopenshell-python/ifcopenshell/stream.py @@ -7,375 +7,375 @@ try: from .entity_instance import entity_instance from lark import Lark, Transformer -except ImportError as e: - print(f"No stream support: {e}") - -class StreamTransformer(Transformer): - def string(self, items): - return str(items[0])[1:-1] - - def float(self, items): - return float(items[0]) - - def ifcint(self, items): - return int(items[0]) - - def null(self, items): - return None - - def derived(self, items): - return None - - def enum(self, items): - if items[0] == ".T.": - return True - elif items[0] == ".F.": - return False - elif items[0] == ".U.": - return "UNKNOWN" - return str(items[0])[1:-1] - - def list(self, items): - # List is always called twice, I think due to an ambiguity in the Lark - # definition between a list and an arg, but I'm not quite sure. - # print('calling list with', items) - if items and isinstance(items[0], dict): - return tuple(items[0]["list"]) - return {"list": items} - - def inline_type(self, items): - # inline_type is also always called twice. Why? - if items and isinstance(items[0], dict): - return items[0]["inline_type"] - entity = ifcopenshell.create_entity(items[0]) - entity[0] = items[1] - return {"inline_type": entity} - - def reference(self, items): - return self.file.by_id(int(items[0][1:])) - - def arg(self, items): - return items[0] - - def args(self, items): - return items - - def start(self, items): - return (int(items[0]), str(items[1]), items[2]) - - -class stream(file): - def __init__(self, filepath): - self.wrapped_data = None - self.history_size = 64 - self.history = [] - self.future = [] - self.transaction = None - - self.filepath = filepath - - self.file = open(filepath, "r") - self.id_map = {} - self.class_map = {} - self.id_offset = {} - self.schema = "IFC4" - self.reference_pattern = re.compile(r"#(\d+)") - self.entity_cache = {} - self.inverses = {} - - # common.INT doesn't support negative integers. - grammar = r""" - start: "#" NUMBER "=" TYPE "(" args ")" ";" - - args: arg ("," arg)* - - arg: STRING -> string - | FLOAT -> float - | IFCINT -> ifcint - | NULL -> null - | DERIVED -> derived - | ENUM -> enum - | REFERENCE -> reference - | list -> list - | inline_type -> inline_type - - list: "(" arg? ("," arg)* ")" - inline_type: TYPE "(" arg ")" - REFERENCE: "#" /[0-9]+/ - - TYPE: CNAME - NUMBER: INT - - STRING: "'" /([^']|'')*/ "'" - IFCINT: /-?[0-9]+/ - FLOAT: /-?[0-9]+\.[0-9]*([Ee]-?[0-9]+)?/ - NULL: "$" - DERIVED: "*" - ENUM: "." CNAME "." - - %import common.INT - %import common.CNAME - """ - - transformer = StreamTransformer() - transformer.file = self - self.parser = Lark(grammar, parser="lalr", transformer=transformer) - - exclude_classes = [ - "IfcObjectPlacement", - "IfcPresentationItem", - "IfcPresentationStyle", - "IfcProductRepresentation", - "IfcRepresentation", - "IfcRepresentationItem", - ] - exclude_classes = [] - - exclude = set() - - offset = 0 - for line in self.file: - line = line.strip() - if line.startswith("#"): - step_id, ifc_class = line.split("(")[0].split("=") - step_id = int(step_id.strip()[1:]) - ifc_class = ifc_class.strip() - - if ifc_class in exclude: - offset += len(line) + 1 # +1 for the newline character + class StreamTransformer(Transformer): + def string(self, items): + return str(items[0])[1:-1] + + def float(self, items): + return float(items[0]) + + def ifcint(self, items): + return int(items[0]) + + def null(self, items): + return None + + def derived(self, items): + return None + + def enum(self, items): + if items[0] == ".T.": + return True + elif items[0] == ".F.": + return False + elif items[0] == ".U.": + return "UNKNOWN" + return str(items[0])[1:-1] + + def list(self, items): + # List is always called twice, I think due to an ambiguity in the Lark + # definition between a list and an arg, but I'm not quite sure. + # print('calling list with', items) + if items and isinstance(items[0], dict): + return tuple(items[0]["list"]) + return {"list": items} + + def inline_type(self, items): + # inline_type is also always called twice. Why? + if items and isinstance(items[0], dict): + return items[0]["inline_type"] + entity = ifcopenshell.create_entity(items[0]) + entity[0] = items[1] + return {"inline_type": entity} + + def reference(self, items): + return self.file.by_id(int(items[0][1:])) + + def arg(self, items): + return items[0] + + def args(self, items): + return items + + def start(self, items): + return (int(items[0]), str(items[1]), items[2]) + + + class stream(file): + def __init__(self, filepath): + self.wrapped_data = None + self.history_size = 64 + self.history = [] + self.future = [] + self.transaction = None + + self.filepath = filepath + + self.file = open(filepath, "r") + self.id_map = {} + self.class_map = {} + self.id_offset = {} + self.schema = "IFC4" + self.reference_pattern = re.compile(r"#(\d+)") + self.entity_cache = {} + self.inverses = {} + + # common.INT doesn't support negative integers. + grammar = r""" + start: "#" NUMBER "=" TYPE "(" args ")" ";" + + args: arg ("," arg)* + + arg: STRING -> string + | FLOAT -> float + | IFCINT -> ifcint + | NULL -> null + | DERIVED -> derived + | ENUM -> enum + | REFERENCE -> reference + | list -> list + | inline_type -> inline_type + + list: "(" arg? ("," arg)* ")" + inline_type: TYPE "(" arg ")" + REFERENCE: "#" /[0-9]+/ + + TYPE: CNAME + NUMBER: INT + + STRING: "'" /([^']|'')*/ "'" + IFCINT: /-?[0-9]+/ + FLOAT: /-?[0-9]+\.[0-9]*([Ee]-?[0-9]+)?/ + NULL: "$" + DERIVED: "*" + ENUM: "." CNAME "." + + %import common.INT + %import common.CNAME + """ + + transformer = StreamTransformer() + transformer.file = self + self.parser = Lark(grammar, parser="lalr", transformer=transformer) + + exclude_classes = [ + "IfcObjectPlacement", + "IfcPresentationItem", + "IfcPresentationStyle", + "IfcProductRepresentation", + "IfcRepresentation", + "IfcRepresentationItem", + ] + exclude_classes = [] + + exclude = set() + + offset = 0 + for line in self.file: + line = line.strip() + if line.startswith("#"): + step_id, ifc_class = line.split("(")[0].split("=") + step_id = int(step_id.strip()[1:]) + ifc_class = ifc_class.strip() + + if ifc_class in exclude: + offset += len(line) + 1 # +1 for the newline character + continue + + for reference_id in self.reference_pattern.findall(line[1:]): + self.inverses.setdefault(int(reference_id), []).append(step_id) + + self.id_map[step_id] = ifc_class + self.class_map.setdefault(ifc_class, []).append(step_id) + self.id_offset[step_id] = offset + elif line.startswith("FILE_SCHEMA"): + self.schema = line.split("'")[1] + self.ifc_schema = ifcopenshell.ifcopenshell_wrapper.schema_by_name(self.schema) + for ifc_class in exclude_classes: + declaration = self.ifc_schema.declaration_by_name(ifc_class) + exclude.update([st.name().upper() for st in ifcopenshell.util.schema.get_subtypes(declaration)]) + offset += len(line) + 1 # +1 for the newline character + + self.preprocess_schema() + + def preprocess_schema(self): + self.ifc_class_names = {} + self.ifc_class_subtypes = {} + self.ifc_class_attributes = {} + self.ifc_class_inverse_attributes = {} + self.ifc_class_references = {} + self.ifc_class_inverses = {} + + for declaration in self.ifc_schema.declarations(): + if not str(declaration).startswith("", str(attribute)): - attribute_entity = self.ifc_schema.declaration_by_name(entity_name) + + self.ifc_class_names[declaration.name().upper()] = declaration.name() + + self.ifc_class_subtypes[declaration.name()] = ifcopenshell.util.schema.get_subtypes(declaration) + self.ifc_class_attributes[declaration.name()] = {a.name(): a for a in declaration.all_attributes()} + self.ifc_class_inverse_attributes[declaration.name()] = { + a.name(): a for a in declaration.all_inverse_attributes() + } + + entity = [] + entity_list = [] + for attribute in declaration.all_attributes(): + primitive = ifcopenshell.util.attribute.get_primitive_type(attribute) + if primitive == "entity": + entity.append(attribute.name()) + + attribute_entity = attribute.type_of_attribute().declared_type() for subtype in ifcopenshell.util.schema.get_subtypes(attribute_entity): - # self.ifc_class_inverses.setdefault(subtype.name(), set()).add(declaration.name()) self.ifc_class_inverses.setdefault(subtype.name(), {}) self.ifc_class_inverses[subtype.name()].setdefault(declaration.name(), []) self.ifc_class_inverses[subtype.name()][declaration.name()].append(attribute.name()) - - self.ifc_class_references[declaration.name()] = {"entity": entity, "entity_list": entity_list} - - def clear_cache(self): - self.entity_cache = {} - - def create_entity(self, type, *args, **kawrgs): - assert False - - def by_id(self, id): - entity = self.entity_cache.get(id, None) - if entity: - return entity - ifc_class = self.id_map.get(id, None) - if ifc_class: - entity = stream_entity(id, self.ifc_class_names[ifc_class], self) - self.entity_cache[id] = entity - return entity - - def by_type(self, type, include_subtypes=True): - results = [] - subtypes = self.ifc_class_subtypes[type] if include_subtypes else self.ifc_class_subtypes[type][0:1] - for subtype in subtypes: - results.extend([self.by_id(i) for i in self.class_map.get(subtype.name().upper(), [])]) - return results - - def traverse(self, inst, max_levels=None, breadth_first=False): - results = [inst] - queue = [inst] - while queue: - if max_levels is not None: - max_levels -= 1 - - cur = queue.pop() - level_results = set() - - for reference_id in self.reference_pattern.findall(str(cur)[1:]): - result = self.by_id(int(reference_id)) - results.append(result) - if max_levels is None or max_levels: - queue.append(result) - - return results - - def get_inverse(self, inst, allow_duplicate=False, with_attribute_indices=False): - return {self.by_id(e) for e in self.inverses.get(inst.stream_wrapper.id, [])} - - def is_entity_list(self, attribute): - attribute = str(attribute.type_of_attribute()) - if (attribute.startswith("", attribute): - if data_type not in ("list", "set", "select", "entity"): - return False - return True - return False - - -class stream_entity(entity_instance): - def __init__(self, id, ifc_class, file=None): - if not ifc_class: - print(id, ifc_class, file) + + elif self.is_entity_list(attribute): + entity_list.append(attribute.name()) + + for entity_name in re.findall("", str(attribute)): + attribute_entity = self.ifc_schema.declaration_by_name(entity_name) + for subtype in ifcopenshell.util.schema.get_subtypes(attribute_entity): + # self.ifc_class_inverses.setdefault(subtype.name(), set()).add(declaration.name()) + self.ifc_class_inverses.setdefault(subtype.name(), {}) + self.ifc_class_inverses[subtype.name()].setdefault(declaration.name(), []) + self.ifc_class_inverses[subtype.name()][declaration.name()].append(attribute.name()) + + self.ifc_class_references[declaration.name()] = {"entity": entity, "entity_list": entity_list} + + def clear_cache(self): + self.entity_cache = {} + + def create_entity(self, type, *args, **kawrgs): assert False - e = ifcopenshell_wrapper.new_IfcBaseClass(file.schema, ifc_class) - s = stream_wrapper(id, ifc_class, file) - super(entity_instance, self).__setattr__("wrapped_data", e) - super(entity_instance, self).__setattr__("stream_wrapper", s) - - def id(self): - return self.stream_wrapper.id - - def __repr__(self): - offset = self.stream_wrapper.file.id_offset[self.stream_wrapper.id] - self.stream_wrapper.file.file.seek(offset) - return self.stream_wrapper.file.file.readline().strip() - - def __del__(self): - pass - - def __getitem__(self, key): - return self.__getattr__(list(self.stream_wrapper.attributes.keys())[key]) - - def __setattr__(self, key, value): - query = f"UPDATE `{self.stream_wrapper.ifc_class}` SET `{key}` = ? WHERE ifc_id = {self.stream_wrapper.id}" - self.stream_wrapper.file.cursor.execute(query, (value,)) - self.stream_wrapper.file.db.commit() - self.stream_wrapper.attribute_cache = {} - - def __getattr__(self, name): - INVALID, FORWARD, INVERSE = range(3) - attr_cat = self.wrapped_data.get_attribute_category(name) - if attr_cat == FORWARD: - if self.stream_wrapper.attribute_cache: - return self.stream_wrapper.attribute_cache[name] - + + def by_id(self, id): + entity = self.entity_cache.get(id, None) + if entity: + return entity + ifc_class = self.id_map.get(id, None) + if ifc_class: + entity = stream_entity(id, self.ifc_class_names[ifc_class], self) + self.entity_cache[id] = entity + return entity + + def by_type(self, type, include_subtypes=True): + results = [] + subtypes = self.ifc_class_subtypes[type] if include_subtypes else self.ifc_class_subtypes[type][0:1] + for subtype in subtypes: + results.extend([self.by_id(i) for i in self.class_map.get(subtype.name().upper(), [])]) + return results + + def traverse(self, inst, max_levels=None, breadth_first=False): + results = [inst] + queue = [inst] + while queue: + if max_levels is not None: + max_levels -= 1 + + cur = queue.pop() + level_results = set() + + for reference_id in self.reference_pattern.findall(str(cur)[1:]): + result = self.by_id(int(reference_id)) + results.append(result) + if max_levels is None or max_levels: + queue.append(result) + + return results + + def get_inverse(self, inst, allow_duplicate=False, with_attribute_indices=False): + return {self.by_id(e) for e in self.inverses.get(inst.stream_wrapper.id, [])} + + def is_entity_list(self, attribute): + attribute = str(attribute.type_of_attribute()) + if (attribute.startswith("", attribute): + if data_type not in ("list", "set", "select", "entity"): + return False + return True + return False + + + class stream_entity(entity_instance): + def __init__(self, id, ifc_class, file=None): + if not ifc_class: + print(id, ifc_class, file) + assert False + e = ifcopenshell_wrapper.new_IfcBaseClass(file.schema, ifc_class) + s = stream_wrapper(id, ifc_class, file) + super(entity_instance, self).__setattr__("wrapped_data", e) + super(entity_instance, self).__setattr__("stream_wrapper", s) + + def id(self): + return self.stream_wrapper.id + + def __repr__(self): offset = self.stream_wrapper.file.id_offset[self.stream_wrapper.id] self.stream_wrapper.file.file.seek(offset) - line = self.stream_wrapper.file.file.readline() - attributes = self.stream_wrapper.file.parser.parse(line.strip())[2] - - for i, attribute in enumerate(self.stream_wrapper.attributes.values()): - self.stream_wrapper.attribute_cache[attribute.name()] = attributes[i] - return self.stream_wrapper.attribute_cache[name] - elif attr_cat == INVERSE: - if self.stream_wrapper.inverse_attribute_cache: - results = self.stream_wrapper.inverse_attribute_cache.get(name, None) - if results is not None: - return results - - results = [] - - element_ids = self.stream_wrapper.file.inverses.get(self.stream_wrapper.id, []) - if not element_ids: - self.stream_wrapper.inverse_attribute_cache[name] = tuple() - return self.stream_wrapper.inverse_attribute_cache[name] - - attribute = self.stream_wrapper.inverse_attributes[name] - entity_class = attribute.entity_reference().name() - declaration = self.stream_wrapper.file.ifc_schema.declaration_by_name(entity_class) - forward_name = attribute.attribute_reference().name() - - subtypes = [st.name() for st in ifcopenshell.util.schema.get_subtypes(declaration)] - for element_id in element_ids: - ifc_class = self.stream_wrapper.file.ifc_class_names[self.stream_wrapper.file.id_map[element_id]] - if ifc_class in subtypes: - potential_result = self.stream_wrapper.file.by_id(element_id) - forward_value = getattr(potential_result, forward_name, None) - if not forward_value: - pass - elif isinstance(forward_value, tuple): - if self.stream_wrapper.id in [e.id() for e in forward_value]: + return self.stream_wrapper.file.file.readline().strip() + + def __del__(self): + pass + + def __getitem__(self, key): + return self.__getattr__(list(self.stream_wrapper.attributes.keys())[key]) + + def __setattr__(self, key, value): + query = f"UPDATE `{self.stream_wrapper.ifc_class}` SET `{key}` = ? WHERE ifc_id = {self.stream_wrapper.id}" + self.stream_wrapper.file.cursor.execute(query, (value,)) + self.stream_wrapper.file.db.commit() + self.stream_wrapper.attribute_cache = {} + + def __getattr__(self, name): + INVALID, FORWARD, INVERSE = range(3) + attr_cat = self.wrapped_data.get_attribute_category(name) + if attr_cat == FORWARD: + if self.stream_wrapper.attribute_cache: + return self.stream_wrapper.attribute_cache[name] + + offset = self.stream_wrapper.file.id_offset[self.stream_wrapper.id] + self.stream_wrapper.file.file.seek(offset) + line = self.stream_wrapper.file.file.readline() + attributes = self.stream_wrapper.file.parser.parse(line.strip())[2] + + for i, attribute in enumerate(self.stream_wrapper.attributes.values()): + self.stream_wrapper.attribute_cache[attribute.name()] = attributes[i] + return self.stream_wrapper.attribute_cache[name] + elif attr_cat == INVERSE: + if self.stream_wrapper.inverse_attribute_cache: + results = self.stream_wrapper.inverse_attribute_cache.get(name, None) + if results is not None: + return results + + results = [] + + element_ids = self.stream_wrapper.file.inverses.get(self.stream_wrapper.id, []) + if not element_ids: + self.stream_wrapper.inverse_attribute_cache[name] = tuple() + return self.stream_wrapper.inverse_attribute_cache[name] + + attribute = self.stream_wrapper.inverse_attributes[name] + entity_class = attribute.entity_reference().name() + declaration = self.stream_wrapper.file.ifc_schema.declaration_by_name(entity_class) + forward_name = attribute.attribute_reference().name() + + subtypes = [st.name() for st in ifcopenshell.util.schema.get_subtypes(declaration)] + for element_id in element_ids: + ifc_class = self.stream_wrapper.file.ifc_class_names[self.stream_wrapper.file.id_map[element_id]] + if ifc_class in subtypes: + potential_result = self.stream_wrapper.file.by_id(element_id) + forward_value = getattr(potential_result, forward_name, None) + if not forward_value: + pass + elif isinstance(forward_value, tuple): + if self.stream_wrapper.id in [e.id() for e in forward_value]: + results.append(potential_result) + elif forward_value.id() == self.stream_wrapper.id: results.append(potential_result) - elif forward_value.id() == self.stream_wrapper.id: - results.append(potential_result) - - self.stream_wrapper.inverse_attribute_cache[name] = tuple(results) - return self.stream_wrapper.inverse_attribute_cache[name] - - raise AttributeError( - "entity instance of type '%s' has no attribute '%s'" % (self.wrapped_data.is_a(True), name) - ) - - def __eq__(self, other): - if not isinstance(self, type(other)): - return False - elif None in (self.stream_wrapper.file, other.stream_wrapper.file): + + self.stream_wrapper.inverse_attribute_cache[name] = tuple(results) + return self.stream_wrapper.inverse_attribute_cache[name] + + raise AttributeError( + "entity instance of type '%s' has no attribute '%s'" % (self.wrapped_data.is_a(True), name) + ) + + def __eq__(self, other): + if not isinstance(self, type(other)): + return False + elif None in (self.stream_wrapper.file, other.stream_wrapper.file): + assert False # not implemented + if self.stream_wrapper.id: + return self.stream_wrapper.id == other.stream_wrapper.id assert False # not implemented - if self.stream_wrapper.id: - return self.stream_wrapper.id == other.stream_wrapper.id - assert False # not implemented + + def __hash__(self): + if self.stream_wrapper.id: + return hash((self.stream_wrapper.id, self.stream_wrapper.file.filepath)) + + def get_info(self, include_identifier=True, recursive=False, return_type=dict, ignore=(), scalar_only=False): + info = {"id": self.stream_wrapper.id, "type": self.stream_wrapper.ifc_class} + if not self.stream_wrapper.attribute_cache: + self.__getitem__(0) # This will get all attributes + info.update(self.stream_wrapper.attribute_cache) + return info + + + class stream_wrapper: + def __init__(self, id, ifc_class, file): + self.id = id + self.ifc_class = ifc_class + self.file = file + self.attributes = self.file.ifc_class_attributes[self.ifc_class] + self.inverse_attributes = self.file.ifc_class_inverse_attributes[self.ifc_class] + self.attribute_cache = {} + self.inverse_attribute_cache = {} + + def __repr__(self): + return "todo" - def __hash__(self): - if self.stream_wrapper.id: - return hash((self.stream_wrapper.id, self.stream_wrapper.file.filepath)) - - def get_info(self, include_identifier=True, recursive=False, return_type=dict, ignore=(), scalar_only=False): - info = {"id": self.stream_wrapper.id, "type": self.stream_wrapper.ifc_class} - if not self.stream_wrapper.attribute_cache: - self.__getitem__(0) # This will get all attributes - info.update(self.stream_wrapper.attribute_cache) - return info - - -class stream_wrapper: - def __init__(self, id, ifc_class, file): - self.id = id - self.ifc_class = ifc_class - self.file = file - self.attributes = self.file.ifc_class_attributes[self.ifc_class] - self.inverse_attributes = self.file.ifc_class_inverse_attributes[self.ifc_class] - self.attribute_cache = {} - self.inverse_attribute_cache = {} - - def __repr__(self): - return "todo" +except ImportError as e: + print(f"No stream support: {e}") From fc4b36e7598648174b7a6ada84f10377ee8759d7 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Thu, 29 Jun 2023 22:04:18 +0200 Subject: [PATCH 221/225] Fix openbot build --- src/ifcopenshell-python/ifcopenshell/__init__.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/ifcopenshell-python/ifcopenshell/__init__.py b/src/ifcopenshell-python/ifcopenshell/__init__.py index c2e68fa898..4e908f51b3 100644 --- a/src/ifcopenshell-python/ifcopenshell/__init__.py +++ b/src/ifcopenshell-python/ifcopenshell/__init__.py @@ -72,7 +72,9 @@ from . import guid from .file import file from .entity_instance import entity_instance, register_schema_attributes from .sql import sqlite, sqlite_entity -from .stream import stream, stream_entity +try: + from .stream import stream, stream_entity +except: pass READ_ERROR = ifcopenshell_wrapper.file_open_status.READ_ERROR NO_HEADER = ifcopenshell_wrapper.file_open_status.NO_HEADER From 97e321dd12f7c1561f7c0434d09780c93ebf246b Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Fri, 30 Jun 2023 11:47:24 +1000 Subject: [PATCH 222/225] Bundle qhull for hppfcl on Linux too --- src/blenderbim/Makefile | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/blenderbim/Makefile b/src/blenderbim/Makefile index d41591ffc5..188c275a3b 100644 --- a/src/blenderbim/Makefile +++ b/src/blenderbim/Makefile @@ -56,6 +56,7 @@ ifeq ($(PYVERSION), py37) HPPFCL_URL:=https://anaconda.org/conda-forge/hpp-fcl/1.7.5/download/linux-64/hpp-fcl-1.7.5-py37h5f1835d_0.tar.bz2 EIGENPY_URL:=https://anaconda.org/conda-forge/eigenpy/2.6.5/download/linux-64/eigenpy-2.6.5-py37h95e2c48_0.tar.bz2 BOOST_URL:=https://anaconda.org/conda-forge/boost/1.74.0/download/linux-64/boost-1.74.0-py37h0379df6_3.tar.bz2 +QHULL_URL:=https://anaconda.org/conda-forge/qhull/2020.2/download/linux-64/qhull-2020.2-h4bd325d_2.tar.bz2 LXML_URL:=https://files.pythonhosted.org/packages/30/c0/d0526314971fc661b083ab135747dc68446a3022686da8c16d25fcf6ef07/lxml-4.6.3-cp37-cp37m-manylinux2014_x86_64.whl SHAPELY_URL:=https://files.pythonhosted.org/packages/1d/a4/931d0780f31f3ea8c4f9ef6464a2825137c5241e6707a5fb03bef760a7eb/shapely-2.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl PILLOW_URL:=https://files.pythonhosted.org/packages/ed/d5/c2e84e1e36ab8ebea033921d5886a056c77e18bab5ab1051fcc22de2e8a2/Pillow-9.2.0-cp37-cp37m-manylinux_2_28_x86_64.whl @@ -64,6 +65,7 @@ ifeq ($(PYVERSION), py39) HPPFCL_URL:=https://anaconda.org/conda-forge/hpp-fcl/1.7.5/download/linux-64/hpp-fcl-1.7.5-py39hbcdfc36_0.tar.bz2 EIGENPY_URL:=https://anaconda.org/conda-forge/eigenpy/2.6.5/download/linux-64/eigenpy-2.6.5-py39h5aed9d1_0.tar.bz2 BOOST_URL:=https://anaconda.org/conda-forge/boost/1.74.0/download/linux-64/boost-1.74.0-py39h5472131_3.tar.bz2 +QHULL_URL:=https://anaconda.org/conda-forge/qhull/2020.2/download/linux-64/qhull-2020.2-h4bd325d_2.tar.bz2 LXML_URL:=https://files.pythonhosted.org/packages/19/d9/a69c6aff5673554df48120565a14a50eaa41d29ae03b02faa0b023666318/lxml-4.6.3-cp39-cp39-manylinux2014_x86_64.whl SHAPELY_URL:=https://files.pythonhosted.org/packages/2d/f2/8ec281d357e8bb7d08dc8d727f0e4c8ef3dae7d3fa75c69c8e452bb82d50/shapely-2.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl PILLOW_URL:=https://files.pythonhosted.org/packages/01/61/3ff85fb4bb596ce3d223c8fcf93c8df5c12bc8899dfb4fb3cb1c5b20dd5f/Pillow-9.2.0-cp39-cp39-manylinux_2_28_x86_64.whl @@ -72,6 +74,7 @@ ifeq ($(PYVERSION), py310) HPPFCL_URL:=https://anaconda.org/conda-forge/hpp-fcl/1.8.0/download/linux-64/hpp-fcl-1.8.0-py310hdaf7e41_1.tar.bz2 EIGENPY_URL:=https://anaconda.org/conda-forge/eigenpy/2.6.11/download/linux-64/eigenpy-2.6.11-py310hf3e5c9c_0.tar.bz2 BOOST_URL:=https://anaconda.org/conda-forge/boost/1.74.0/download/linux-64/boost-1.74.0-py310h7c3ba0c_5.tar.bz2 +QHULL_URL:=https://anaconda.org/conda-forge/qhull/2020.2/download/linux-64/qhull-2020.2-h4bd325d_2.tar.bz2 LXML_URL:=https://files.pythonhosted.org/packages/25/1e/19b46d8e8881fe0df2e20945d51919eeb1817836d62a90efa8506530e45c/lxml-4.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl SHAPELY_URL:=https://files.pythonhosted.org/packages/a8/a5/403728b5614b28083f6424dfdefec5fcf58068495fb03bb08532671c642f/shapely-2.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl PILLOW_URL:=https://files.pythonhosted.org/packages/f6/51/320986ebd6d46a0e95c2240468ced73153b691ce07617078bcdf30c609ec/Pillow-9.2.0-cp310-cp310-manylinux_2_28_x86_64.whl @@ -86,6 +89,7 @@ ifeq ($(PYVERSION), py37) HPPFCL_URL:=https://anaconda.org/conda-forge/hpp-fcl/1.7.5/download/osx-64/hpp-fcl-1.7.5-py37h2d7f23a_0.tar.bz2 EIGENPY_URL:=https://anaconda.org/conda-forge/eigenpy/2.6.5/download/osx-64/eigenpy-2.6.5-py37h0695097_0.tar.bz2 BOOST_URL:=https://anaconda.org/conda-forge/boost/1.74.0/download/osx-64/boost-1.74.0-py37hd79e0ac_3.tar.bz2 +QHULL_URL:=https://anaconda.org/conda-forge/qhull/2020.2/download/osx-64/qhull-2020.2-h940c156_2.tar.bz2 LXML_URL:=https://files.pythonhosted.org/packages/1e/3e/f0abc15d5dac50939bccc589aae336d5ead4c72e7ad1039a2e0f3630ea92/lxml-4.6.3-cp37-cp37m-macosx_10_9_x86_64.whl SHAPELY_URL:=https://files.pythonhosted.org/packages/e6/7d/4923f27c340339e1c896c77cafc8ed672c8d381a025bbab6c6ddcba27e8f/shapely-2.0.1-cp37-cp37m-macosx_10_9_x86_64.whl PILLOW_URL:=https://files.pythonhosted.org/packages/88/49/c26fc3b5b0e82bdc9d8751d6b939da29327b0d98f7c3b95a575cbfed2743/Pillow-9.2.0-cp37-cp37m-macosx_10_10_x86_64.whl @@ -94,6 +98,7 @@ ifeq ($(PYVERSION), py39) HPPFCL_URL:=https://anaconda.org/conda-forge/hpp-fcl/1.7.5/download/osx-64/hpp-fcl-1.7.5-py39h1e32b98_0.tar.bz2 EIGENPY_URL:=https://anaconda.org/conda-forge/eigenpy/2.6.5/download/osx-64/eigenpy-2.6.5-py39h5405915_0.tar.bz2 BOOST_URL:=https://anaconda.org/conda-forge/boost/1.74.0/download/osx-64/boost-1.74.0-py39ha641261_3.tar.bz2 +QHULL_URL:=https://anaconda.org/conda-forge/qhull/2020.2/download/osx-64/qhull-2020.2-h940c156_2.tar.bz2 LXML_URL:=https://files.pythonhosted.org/packages/b8/74/a71f7ad72e8db54ce899efab84507b801660750cbbfa6a39e6717557d36a/lxml-4.6.3-cp39-cp39-macosx_10_9_x86_64.whl SHAPELY_URL:=https://files.pythonhosted.org/packages/36/a4/7e542a209f862f967d7cb8e939eff155f4294a27d17e16441fb8bdd51a2c/shapely-2.0.1-cp39-cp39-macosx_10_9_x86_64.whl PILLOW_URL:=https://files.pythonhosted.org/packages/88/7a/ddfe28b485b623361457d4783007c1f9ba83a87f93e7fec32f64793efb6c/Pillow-9.2.0-cp39-cp39-macosx_10_10_x86_64.whl @@ -102,6 +107,7 @@ ifeq ($(PYVERSION), py310) HPPFCL_URL:=https://anaconda.org/conda-forge/hpp-fcl/1.8.0/download/osx-64/hpp-fcl-1.8.0-py310h651ac30_1.tar.bz2 EIGENPY_URL:=https://anaconda.org/conda-forge/eigenpy/2.6.11/download/osx-64/eigenpy-2.6.11-py310hc03097c_0.tar.bz2 BOOST_URL:=https://anaconda.org/conda-forge/boost/1.74.0/download/osx-64/boost-1.74.0-py310h509978a_5.tar.bz2 +QHULL_URL:=https://anaconda.org/conda-forge/qhull/2020.2/download/osx-64/qhull-2020.2-h940c156_2.tar.bz2 LXML_URL:=https://files.pythonhosted.org/packages/a1/44/17b7dac7a18807d30e2fe10c3328c152808f5464565e230bfd0e77f178c6/lxml-4.8.0-cp310-cp310-macosx_10_15_x86_64.whl SHAPELY_URL:=https://files.pythonhosted.org/packages/1f/2a/dc3353c2431cf53e8d04bb8fba27e584410ca3435c9c85f76d71bf0c0e80/shapely-2.0.1-cp310-cp310-macosx_10_9_x86_64.whl PILLOW_URL:=https://files.pythonhosted.org/packages/d8/60/b13c00d403f34110e96c1b5c0afa73ce461efe3fe960c3a7e3e7fe190d82/Pillow-9.2.0-cp310-cp310-macosx_10_10_x86_64.whl @@ -455,13 +461,20 @@ endif rm -rf dist/working # Required by hpp-fcl only on macosm1 it seems -ifeq ($(PLATFORM), macosm1) mkdir dist/working cd dist/working && wget $(QHULL_URL) cd dist/working && tar -xf qhull* - cp -r dist/working/lib/*.dylib dist/blenderbim/libs/ - rm -rf dist/working +ifeq ($(PLATFORM), linux) + cp -r dist/working/lib/*.so* dist/blenderbim/libs/ endif +ifeq ($(PLATFORM), macos) + cp -r dist/working/lib/*.dylib dist/blenderbim/libs/ +endif +ifeq ($(PLATFORM), macosm1) + cp -r dist/working/lib/*.dylib dist/blenderbim/libs/ +endif + # Windows doesn't need qhull? + rm -rf dist/working # Required by hpp-fcl mkdir dist/working From f28e28abc0986c5bc561863890bfdf4b82b15688 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Fri, 30 Jun 2023 11:59:17 +1000 Subject: [PATCH 223/225] Fix failing build --- src/blenderbim/Makefile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/blenderbim/Makefile b/src/blenderbim/Makefile index 188c275a3b..b2dc8d672f 100644 --- a/src/blenderbim/Makefile +++ b/src/blenderbim/Makefile @@ -460,7 +460,8 @@ ifeq ($(PLATFORM), win) endif rm -rf dist/working - # Required by hpp-fcl only on macosm1 it seems + # Required by hpp-fcl except on Windows +ifneq ($(PLATFORM), win) mkdir dist/working cd dist/working && wget $(QHULL_URL) cd dist/working && tar -xf qhull* @@ -473,8 +474,8 @@ endif ifeq ($(PLATFORM), macosm1) cp -r dist/working/lib/*.dylib dist/blenderbim/libs/ endif - # Windows doesn't need qhull? rm -rf dist/working +endif # Required by hpp-fcl mkdir dist/working From 1ad2465ad4d85e85e7dd65d9bcdbc595012d8cee Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Fri, 30 Jun 2023 13:58:18 +1000 Subject: [PATCH 224/225] See #3283. Minor fix where IfcContext is abstract, so IfcProjectLibrary should be checked instead when loading filtered models. --- src/blenderbim/blenderbim/bim/import_ifc.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/blenderbim/blenderbim/bim/import_ifc.py b/src/blenderbim/blenderbim/bim/import_ifc.py index 733d2d4958..8918e85826 100644 --- a/src/blenderbim/blenderbim/bim/import_ifc.py +++ b/src/blenderbim/blenderbim/bim/import_ifc.py @@ -362,7 +362,7 @@ class IfcImporter: while True: results.add(spatial_element) spatial_element = ifcopenshell.util.element.get_aggregate(spatial_element) - if not spatial_element or spatial_element.is_a() in ("IfcContext", "IfcProject"): + if not spatial_element or spatial_element.is_a() in ("IfcProject", "IfcProjectLibrary"): break return results From 5764cfcbb98e81b2883f3d4195d0148fa02cf159 Mon Sep 17 00:00:00 2001 From: Massimo Fabbro Date: Fri, 30 Jun 2023 06:30:26 +0200 Subject: [PATCH 225/225] Add regen button also under space tool --- .../blenderbim/bim/module/spatial/workspace.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/blenderbim/blenderbim/bim/module/spatial/workspace.py b/src/blenderbim/blenderbim/bim/module/spatial/workspace.py index 52e5d271c8..b52232a61f 100644 --- a/src/blenderbim/blenderbim/bim/module/spatial/workspace.py +++ b/src/blenderbim/blenderbim/bim/module/spatial/workspace.py @@ -49,6 +49,7 @@ class SpatialTool(WorkSpaceTool): ("bim.spatial_hotkey", {"type": "A", "value": "PRESS", "shift": True}, {"properties": [("hotkey", "S_A")]}), ("bim.spatial_hotkey", {"type": "B", "value": "PRESS", "alt": True}, {"properties": [("hotkey", "A_B")]}), ("bim.spatial_hotkey", {"type": "T", "value": "PRESS", "shift": True}, {"properties": [("hotkey", "S_T")]}), + ("bim.spatial_hotkey", {"type": "G", "value": "PRESS", "shift": True}, {"properties": [("hotkey", "S_G")]}), ) def draw_settings(context, layout, ws_tool): @@ -106,6 +107,14 @@ class SpatialToolUI: @classmethod def draw_selected_object_interface(cls, context): + active_obj = bpy.context.active_object + element = tool.Ifc.get_entity(active_obj) + if element and bpy.context.selected_objects and element.is_a("IfcSpace"): + row = cls.layout.row(align=True) + row.label(text="", icon="EVENT_SHIFT") + row.label(text="", icon="EVENT_G") + row.operator("bim.generate_space", text="Regen") + row = cls.layout.row(align=True) row.label(text="", icon="EVENT_SHIFT") row.label(text="", icon="EVENT_B") @@ -167,3 +176,6 @@ class Hotkey(bpy.types.Operator, Operator): def hotkey_S_T(self): bpy.ops.bim.toggle_space_visibility() + + def hotkey_S_G(self): + bpy.ops.bim.generate_space()